@anov/3d 0.0.1-alpha.6 → 0.0.1-alpha.8

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 (555) hide show
  1. package/dist/core/camera.js +1 -1
  2. package/dist/core/control/transformControls.d.ts +12 -0
  3. package/dist/core/control/transformControls.js +72 -0
  4. package/dist/core/global/global.d.ts +24 -0
  5. package/dist/core/{global.js → global/global.js} +37 -0
  6. package/dist/core/group.d.ts +19 -1
  7. package/dist/core/group.js +54 -2
  8. package/dist/core/line.d.ts +13 -0
  9. package/dist/core/line.js +61 -0
  10. package/dist/core/mesh.d.ts +4 -0
  11. package/dist/core/mesh.js +19 -1
  12. package/dist/core/model.js +2 -0
  13. package/dist/core/scene.js +31 -7
  14. package/dist/core/use/useframe.d.ts +6 -0
  15. package/dist/core/use/useframe.js +11 -0
  16. package/dist/export.d.ts +7 -1
  17. package/dist/export.js +8 -1
  18. package/dist/threeCell.d.ts +3 -0
  19. package/dist/threeCell.js +7 -1
  20. package/dist/utils/index.d.ts +21 -2
  21. package/dist/utils/index.js +43 -2
  22. package/dist/utils/line.d.ts +0 -0
  23. package/dist/utils/line.js +0 -0
  24. package/dist/utils/move.js +2 -2
  25. package/examples/fonts/LICENSE +13 -0
  26. package/examples/fonts/README.md +11 -0
  27. package/examples/fonts/droid/NOTICE +190 -0
  28. package/examples/fonts/droid/README.txt +18 -0
  29. package/examples/fonts/droid/droid_sans_bold.typeface.json +1 -0
  30. package/examples/fonts/droid/droid_sans_mono_regular.typeface.json +1 -0
  31. package/examples/fonts/droid/droid_sans_regular.typeface.json +1 -0
  32. package/examples/fonts/droid/droid_serif_bold.typeface.json +1 -0
  33. package/examples/fonts/droid/droid_serif_regular.typeface.json +1 -0
  34. package/examples/fonts/gentilis_bold.typeface.json +1 -0
  35. package/examples/fonts/gentilis_regular.typeface.json +1 -0
  36. package/examples/fonts/helvetiker_bold.typeface.json +1 -0
  37. package/examples/fonts/helvetiker_regular.typeface.json +1 -0
  38. package/examples/fonts/optimer_bold.typeface.json +1 -0
  39. package/examples/fonts/optimer_regular.typeface.json +1 -0
  40. package/examples/fonts/ttf/README.md +9 -0
  41. package/examples/fonts/ttf/kenpixel.ttf +0 -0
  42. package/examples/jsm/animation/AnimationClipCreator.js +116 -0
  43. package/examples/jsm/animation/CCDIKSolver.js +482 -0
  44. package/examples/jsm/animation/MMDAnimationHelper.js +1207 -0
  45. package/examples/jsm/animation/MMDPhysics.js +1406 -0
  46. package/examples/jsm/cameras/CinematicCamera.js +208 -0
  47. package/examples/jsm/capabilities/WebGL.js +91 -0
  48. package/examples/jsm/capabilities/WebGPU.js +53 -0
  49. package/examples/jsm/controls/ArcballControls.js +3224 -0
  50. package/examples/jsm/controls/DragControls.js +220 -0
  51. package/examples/jsm/controls/FirstPersonControls.js +325 -0
  52. package/examples/jsm/controls/FlyControls.js +300 -0
  53. package/examples/jsm/controls/MapControls.js +28 -0
  54. package/examples/jsm/controls/OrbitControls.js +1388 -0
  55. package/examples/jsm/controls/PointerLockControls.js +162 -0
  56. package/examples/jsm/controls/TrackballControls.js +828 -0
  57. package/examples/jsm/controls/TransformControls.js +1557 -0
  58. package/examples/jsm/csm/CSM.js +384 -0
  59. package/examples/jsm/csm/CSMFrustum.js +152 -0
  60. package/examples/jsm/csm/CSMHelper.js +193 -0
  61. package/examples/jsm/csm/CSMShader.js +252 -0
  62. package/examples/jsm/curves/CurveExtras.js +422 -0
  63. package/examples/jsm/curves/NURBSCurve.js +80 -0
  64. package/examples/jsm/curves/NURBSSurface.js +52 -0
  65. package/examples/jsm/curves/NURBSUtils.js +487 -0
  66. package/examples/jsm/effects/AnaglyphEffect.js +154 -0
  67. package/examples/jsm/effects/AsciiEffect.js +263 -0
  68. package/examples/jsm/effects/OutlineEffect.js +539 -0
  69. package/examples/jsm/effects/ParallaxBarrierEffect.js +119 -0
  70. package/examples/jsm/effects/PeppersGhostEffect.js +153 -0
  71. package/examples/jsm/effects/StereoEffect.js +55 -0
  72. package/examples/jsm/environments/DebugEnvironment.js +52 -0
  73. package/examples/jsm/environments/RoomEnvironment.js +148 -0
  74. package/examples/jsm/exporters/DRACOExporter.js +267 -0
  75. package/examples/jsm/exporters/EXRExporter.js +501 -0
  76. package/examples/jsm/exporters/GLTFExporter.js +3161 -0
  77. package/examples/jsm/exporters/KTX2Exporter.js +292 -0
  78. package/examples/jsm/exporters/MMDExporter.js +217 -0
  79. package/examples/jsm/exporters/OBJExporter.js +284 -0
  80. package/examples/jsm/exporters/PLYExporter.js +528 -0
  81. package/examples/jsm/exporters/STLExporter.js +199 -0
  82. package/examples/jsm/exporters/USDZExporter.js +711 -0
  83. package/examples/jsm/geometries/BoxLineGeometry.js +69 -0
  84. package/examples/jsm/geometries/ConvexGeometry.js +53 -0
  85. package/examples/jsm/geometries/DecalGeometry.js +356 -0
  86. package/examples/jsm/geometries/ParametricGeometries.js +254 -0
  87. package/examples/jsm/geometries/ParametricGeometry.js +139 -0
  88. package/examples/jsm/geometries/RoundedBoxGeometry.js +155 -0
  89. package/examples/jsm/geometries/TeapotGeometry.js +704 -0
  90. package/examples/jsm/geometries/TextGeometry.js +57 -0
  91. package/examples/jsm/helpers/LightProbeHelper.js +130 -0
  92. package/examples/jsm/helpers/OctreeHelper.js +73 -0
  93. package/examples/jsm/helpers/PositionalAudioHelper.js +109 -0
  94. package/examples/jsm/helpers/RectAreaLightHelper.js +85 -0
  95. package/examples/jsm/helpers/VertexNormalsHelper.js +96 -0
  96. package/examples/jsm/helpers/VertexTangentsHelper.js +88 -0
  97. package/examples/jsm/helpers/ViewHelper.js +333 -0
  98. package/examples/jsm/interactive/HTMLMesh.js +565 -0
  99. package/examples/jsm/interactive/InteractiveGroup.js +116 -0
  100. package/examples/jsm/interactive/SelectionBox.js +227 -0
  101. package/examples/jsm/interactive/SelectionHelper.js +104 -0
  102. package/examples/jsm/libs/ammo.wasm.js +822 -0
  103. package/examples/jsm/libs/ammo.wasm.wasm +0 -0
  104. package/examples/jsm/libs/basis/README.md +46 -0
  105. package/examples/jsm/libs/basis/basis_transcoder.js +21 -0
  106. package/examples/jsm/libs/basis/basis_transcoder.wasm +0 -0
  107. package/examples/jsm/libs/chevrotain.module.min.js +141 -0
  108. package/examples/jsm/libs/draco/README.md +32 -0
  109. package/examples/jsm/libs/draco/draco_decoder.js +34 -0
  110. package/examples/jsm/libs/draco/draco_decoder.wasm +0 -0
  111. package/examples/jsm/libs/draco/draco_encoder.js +33 -0
  112. package/examples/jsm/libs/draco/draco_wasm_wrapper.js +117 -0
  113. package/examples/jsm/libs/draco/gltf/draco_decoder.js +33 -0
  114. package/examples/jsm/libs/draco/gltf/draco_decoder.wasm +0 -0
  115. package/examples/jsm/libs/draco/gltf/draco_encoder.js +33 -0
  116. package/examples/jsm/libs/draco/gltf/draco_wasm_wrapper.js +116 -0
  117. package/examples/jsm/libs/ecsy.module.js +1792 -0
  118. package/examples/jsm/libs/fflate.module.js +2474 -0
  119. package/examples/jsm/libs/ktx-parse.module.js +1 -0
  120. package/examples/jsm/libs/lil-gui.module.min.js +8 -0
  121. package/examples/jsm/libs/lottie_canvas.module.js +14844 -0
  122. package/examples/jsm/libs/meshopt_decoder.module.js +178 -0
  123. package/examples/jsm/libs/mikktspace.module.js +128 -0
  124. package/examples/jsm/libs/mmdparser.module.js +11530 -0
  125. package/examples/jsm/libs/motion-controllers.module.js +397 -0
  126. package/examples/jsm/libs/opentype.module.js +14568 -0
  127. package/examples/jsm/libs/potpack.module.js +125 -0
  128. package/examples/jsm/libs/rhino3dm/rhino3dm.js +21 -0
  129. package/examples/jsm/libs/rhino3dm/rhino3dm.module.js +16 -0
  130. package/examples/jsm/libs/rhino3dm/rhino3dm.wasm +0 -0
  131. package/examples/jsm/libs/stats.module.js +167 -0
  132. package/examples/jsm/libs/tween.module.js +803 -0
  133. package/examples/jsm/libs/utif.module.js +1579 -0
  134. package/examples/jsm/libs/zstddec.module.js +1 -0
  135. package/examples/jsm/lights/IESSpotLight.js +25 -0
  136. package/examples/jsm/lights/LightProbeGenerator.js +252 -0
  137. package/examples/jsm/lights/RectAreaLightUniformsLib.js +79 -0
  138. package/examples/jsm/lines/Line2.js +19 -0
  139. package/examples/jsm/lines/LineGeometry.js +79 -0
  140. package/examples/jsm/lines/LineMaterial.js +702 -0
  141. package/examples/jsm/lines/LineSegments2.js +361 -0
  142. package/examples/jsm/lines/LineSegmentsGeometry.js +241 -0
  143. package/examples/jsm/lines/Wireframe.js +56 -0
  144. package/examples/jsm/lines/WireframeGeometry2.js +24 -0
  145. package/examples/jsm/loaders/3DMLoader.js +1497 -0
  146. package/examples/jsm/loaders/3MFLoader.js +1478 -0
  147. package/examples/jsm/loaders/AMFLoader.js +521 -0
  148. package/examples/jsm/loaders/BVHLoader.js +437 -0
  149. package/examples/jsm/loaders/ColladaLoader.js +4122 -0
  150. package/examples/jsm/loaders/DDSLoader.js +274 -0
  151. package/examples/jsm/loaders/DRACOLoader.js +612 -0
  152. package/examples/jsm/loaders/EXRLoader.js +2309 -0
  153. package/examples/jsm/loaders/FBXLoader.js +4142 -0
  154. package/examples/jsm/loaders/FontLoader.js +183 -0
  155. package/examples/jsm/loaders/GCodeLoader.js +261 -0
  156. package/examples/jsm/loaders/GLTFLoader.js +4576 -0
  157. package/examples/jsm/loaders/HDRCubeTextureLoader.js +115 -0
  158. package/examples/jsm/loaders/IESLoader.js +337 -0
  159. package/examples/jsm/loaders/KMZLoader.js +130 -0
  160. package/examples/jsm/loaders/KTX2Loader.js +868 -0
  161. package/examples/jsm/loaders/KTXLoader.js +176 -0
  162. package/examples/jsm/loaders/LDrawLoader.js +2464 -0
  163. package/examples/jsm/loaders/LUT3dlLoader.js +151 -0
  164. package/examples/jsm/loaders/LUTCubeLoader.js +153 -0
  165. package/examples/jsm/loaders/LWOLoader.js +1052 -0
  166. package/examples/jsm/loaders/LogLuvLoader.js +606 -0
  167. package/examples/jsm/loaders/LottieLoader.js +77 -0
  168. package/examples/jsm/loaders/MD2Loader.js +399 -0
  169. package/examples/jsm/loaders/MDDLoader.js +102 -0
  170. package/examples/jsm/loaders/MMDLoader.js +2273 -0
  171. package/examples/jsm/loaders/MTLLoader.js +567 -0
  172. package/examples/jsm/loaders/MaterialXLoader.js +734 -0
  173. package/examples/jsm/loaders/NRRDLoader.js +699 -0
  174. package/examples/jsm/loaders/OBJLoader.js +905 -0
  175. package/examples/jsm/loaders/PCDLoader.js +467 -0
  176. package/examples/jsm/loaders/PDBLoader.js +232 -0
  177. package/examples/jsm/loaders/PLYLoader.js +771 -0
  178. package/examples/jsm/loaders/PVRLoader.js +251 -0
  179. package/examples/jsm/loaders/RGBELoader.js +468 -0
  180. package/examples/jsm/loaders/RGBMLoader.js +1065 -0
  181. package/examples/jsm/loaders/STLLoader.js +403 -0
  182. package/examples/jsm/loaders/SVGLoader.js +3172 -0
  183. package/examples/jsm/loaders/TDSLoader.js +1124 -0
  184. package/examples/jsm/loaders/TGALoader.js +517 -0
  185. package/examples/jsm/loaders/TIFFLoader.js +36 -0
  186. package/examples/jsm/loaders/TTFLoader.js +214 -0
  187. package/examples/jsm/loaders/TiltLoader.js +520 -0
  188. package/examples/jsm/loaders/USDZLoader.js +633 -0
  189. package/examples/jsm/loaders/VOXLoader.js +311 -0
  190. package/examples/jsm/loaders/VRMLLoader.js +3533 -0
  191. package/examples/jsm/loaders/VTKLoader.js +1163 -0
  192. package/examples/jsm/loaders/XYZLoader.js +106 -0
  193. package/examples/jsm/loaders/lwo/IFFParser.js +1218 -0
  194. package/examples/jsm/loaders/lwo/LWO2Parser.js +414 -0
  195. package/examples/jsm/loaders/lwo/LWO3Parser.js +373 -0
  196. package/examples/jsm/materials/MeshGouraudMaterial.js +420 -0
  197. package/examples/jsm/math/Capsule.js +137 -0
  198. package/examples/jsm/math/ColorConverter.js +36 -0
  199. package/examples/jsm/math/ConvexHull.js +1271 -0
  200. package/examples/jsm/math/ImprovedNoise.js +71 -0
  201. package/examples/jsm/math/Lut.js +204 -0
  202. package/examples/jsm/math/MeshSurfaceSampler.js +250 -0
  203. package/examples/jsm/math/OBB.js +423 -0
  204. package/examples/jsm/math/Octree.js +462 -0
  205. package/examples/jsm/math/SimplexNoise.js +444 -0
  206. package/examples/jsm/misc/ConvexObjectBreaker.js +519 -0
  207. package/examples/jsm/misc/GPUComputationRenderer.js +446 -0
  208. package/examples/jsm/misc/Gyroscope.js +66 -0
  209. package/examples/jsm/misc/MD2Character.js +276 -0
  210. package/examples/jsm/misc/MD2CharacterComplex.js +576 -0
  211. package/examples/jsm/misc/MorphAnimMesh.js +75 -0
  212. package/examples/jsm/misc/MorphBlendMesh.js +322 -0
  213. package/examples/jsm/misc/ProgressiveLightMap.js +323 -0
  214. package/examples/jsm/misc/RollerCoaster.js +566 -0
  215. package/examples/jsm/misc/TubePainter.js +205 -0
  216. package/examples/jsm/misc/Volume.js +473 -0
  217. package/examples/jsm/misc/VolumeSlice.js +229 -0
  218. package/examples/jsm/modifiers/CurveModifier.js +326 -0
  219. package/examples/jsm/modifiers/EdgeSplitModifier.js +279 -0
  220. package/examples/jsm/modifiers/SimplifyModifier.js +525 -0
  221. package/examples/jsm/modifiers/TessellateModifier.js +307 -0
  222. package/examples/jsm/nodes/Nodes.js +171 -0
  223. package/examples/jsm/nodes/accessors/BitangentNode.js +89 -0
  224. package/examples/jsm/nodes/accessors/BufferAttributeNode.js +99 -0
  225. package/examples/jsm/nodes/accessors/BufferNode.js +30 -0
  226. package/examples/jsm/nodes/accessors/CameraNode.js +98 -0
  227. package/examples/jsm/nodes/accessors/CubeTextureNode.js +103 -0
  228. package/examples/jsm/nodes/accessors/ExtendedMaterialNode.js +77 -0
  229. package/examples/jsm/nodes/accessors/InstanceNode.js +71 -0
  230. package/examples/jsm/nodes/accessors/MaterialNode.js +267 -0
  231. package/examples/jsm/nodes/accessors/MaterialReferenceNode.js +39 -0
  232. package/examples/jsm/nodes/accessors/ModelNode.js +34 -0
  233. package/examples/jsm/nodes/accessors/ModelViewProjectionNode.js +29 -0
  234. package/examples/jsm/nodes/accessors/MorphNode.js +70 -0
  235. package/examples/jsm/nodes/accessors/NormalNode.js +96 -0
  236. package/examples/jsm/nodes/accessors/Object3DNode.js +150 -0
  237. package/examples/jsm/nodes/accessors/PointUVNode.js +26 -0
  238. package/examples/jsm/nodes/accessors/PositionNode.js +104 -0
  239. package/examples/jsm/nodes/accessors/ReferenceNode.js +72 -0
  240. package/examples/jsm/nodes/accessors/ReflectVectorNode.js +35 -0
  241. package/examples/jsm/nodes/accessors/SceneNode.js +52 -0
  242. package/examples/jsm/nodes/accessors/SkinningNode.js +93 -0
  243. package/examples/jsm/nodes/accessors/StorageBufferNode.js +27 -0
  244. package/examples/jsm/nodes/accessors/TangentNode.js +103 -0
  245. package/examples/jsm/nodes/accessors/TextureBicubicNode.js +94 -0
  246. package/examples/jsm/nodes/accessors/TextureNode.js +271 -0
  247. package/examples/jsm/nodes/accessors/TextureSizeNode.js +35 -0
  248. package/examples/jsm/nodes/accessors/UVNode.js +47 -0
  249. package/examples/jsm/nodes/accessors/UserDataNode.js +29 -0
  250. package/examples/jsm/nodes/code/CodeNode.js +78 -0
  251. package/examples/jsm/nodes/code/ExpressionNode.js +37 -0
  252. package/examples/jsm/nodes/code/FunctionCallNode.js +96 -0
  253. package/examples/jsm/nodes/code/FunctionNode.js +127 -0
  254. package/examples/jsm/nodes/code/ScriptableNode.js +488 -0
  255. package/examples/jsm/nodes/code/ScriptableValueNode.js +167 -0
  256. package/examples/jsm/nodes/core/ArrayUniformNode.js +26 -0
  257. package/examples/jsm/nodes/core/AttributeNode.js +102 -0
  258. package/examples/jsm/nodes/core/BypassNode.js +45 -0
  259. package/examples/jsm/nodes/core/CacheNode.js +46 -0
  260. package/examples/jsm/nodes/core/ConstNode.js +32 -0
  261. package/examples/jsm/nodes/core/ContextNode.js +61 -0
  262. package/examples/jsm/nodes/core/IndexNode.js +66 -0
  263. package/examples/jsm/nodes/core/InputNode.js +83 -0
  264. package/examples/jsm/nodes/core/LightingModel.js +15 -0
  265. package/examples/jsm/nodes/core/Node.js +454 -0
  266. package/examples/jsm/nodes/core/NodeAttribute.js +15 -0
  267. package/examples/jsm/nodes/core/NodeBuilder.js +1016 -0
  268. package/examples/jsm/nodes/core/NodeCache.js +26 -0
  269. package/examples/jsm/nodes/core/NodeCode.js +15 -0
  270. package/examples/jsm/nodes/core/NodeFrame.js +110 -0
  271. package/examples/jsm/nodes/core/NodeFunction.js +22 -0
  272. package/examples/jsm/nodes/core/NodeFunctionInput.js +17 -0
  273. package/examples/jsm/nodes/core/NodeKeywords.js +80 -0
  274. package/examples/jsm/nodes/core/NodeParser.js +11 -0
  275. package/examples/jsm/nodes/core/NodeUniform.js +28 -0
  276. package/examples/jsm/nodes/core/NodeUtils.js +212 -0
  277. package/examples/jsm/nodes/core/NodeVar.js +14 -0
  278. package/examples/jsm/nodes/core/NodeVarying.js +17 -0
  279. package/examples/jsm/nodes/core/PropertyNode.js +61 -0
  280. package/examples/jsm/nodes/core/StackNode.js +99 -0
  281. package/examples/jsm/nodes/core/TempNode.js +58 -0
  282. package/examples/jsm/nodes/core/UniformNode.js +61 -0
  283. package/examples/jsm/nodes/core/VarNode.js +87 -0
  284. package/examples/jsm/nodes/core/VaryingNode.js +69 -0
  285. package/examples/jsm/nodes/core/constants.js +27 -0
  286. package/examples/jsm/nodes/display/BlendModeNode.js +99 -0
  287. package/examples/jsm/nodes/display/BumpMapNode.js +77 -0
  288. package/examples/jsm/nodes/display/ColorAdjustmentNode.js +100 -0
  289. package/examples/jsm/nodes/display/ColorSpaceNode.js +108 -0
  290. package/examples/jsm/nodes/display/FrontFacingNode.js +27 -0
  291. package/examples/jsm/nodes/display/NormalMapNode.js +106 -0
  292. package/examples/jsm/nodes/display/PosterizeNode.js +32 -0
  293. package/examples/jsm/nodes/display/ToneMappingNode.js +141 -0
  294. package/examples/jsm/nodes/display/ViewportDepthNode.js +69 -0
  295. package/examples/jsm/nodes/display/ViewportDepthTextureNode.js +34 -0
  296. package/examples/jsm/nodes/display/ViewportNode.js +115 -0
  297. package/examples/jsm/nodes/display/ViewportSharedTextureNode.js +31 -0
  298. package/examples/jsm/nodes/display/ViewportTextureNode.js +75 -0
  299. package/examples/jsm/nodes/fog/FogExp2Node.js +35 -0
  300. package/examples/jsm/nodes/fog/FogNode.js +37 -0
  301. package/examples/jsm/nodes/fog/FogRangeNode.js +34 -0
  302. package/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +40 -0
  303. package/examples/jsm/nodes/functions/BSDF/BRDF_Lambert.js +9 -0
  304. package/examples/jsm/nodes/functions/BSDF/BRDF_Sheen.js +43 -0
  305. package/examples/jsm/nodes/functions/BSDF/DFGApprox.js +29 -0
  306. package/examples/jsm/nodes/functions/BSDF/D_GGX.js +18 -0
  307. package/examples/jsm/nodes/functions/BSDF/EnvironmentBRDF.js +13 -0
  308. package/examples/jsm/nodes/functions/BSDF/F_Schlick.js +16 -0
  309. package/examples/jsm/nodes/functions/BSDF/Schlick_to_F0.js +13 -0
  310. package/examples/jsm/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +20 -0
  311. package/examples/jsm/nodes/functions/PhongLightingModel.js +67 -0
  312. package/examples/jsm/nodes/functions/PhysicalLightingModel.js +343 -0
  313. package/examples/jsm/nodes/functions/material/getGeometryRoughness.js +13 -0
  314. package/examples/jsm/nodes/functions/material/getRoughness.js +18 -0
  315. package/examples/jsm/nodes/geometry/RangeNode.js +104 -0
  316. package/examples/jsm/nodes/gpgpu/ComputeNode.js +85 -0
  317. package/examples/jsm/nodes/lighting/AONode.js +27 -0
  318. package/examples/jsm/nodes/lighting/AmbientLightNode.js +27 -0
  319. package/examples/jsm/nodes/lighting/AnalyticLightNode.js +184 -0
  320. package/examples/jsm/nodes/lighting/DirectionalLightNode.js +40 -0
  321. package/examples/jsm/nodes/lighting/EnvironmentNode.js +191 -0
  322. package/examples/jsm/nodes/lighting/HemisphereLightNode.js +55 -0
  323. package/examples/jsm/nodes/lighting/IESSpotLightNode.js +39 -0
  324. package/examples/jsm/nodes/lighting/LightNode.js +57 -0
  325. package/examples/jsm/nodes/lighting/LightUtils.js +17 -0
  326. package/examples/jsm/nodes/lighting/LightingContextNode.js +102 -0
  327. package/examples/jsm/nodes/lighting/LightingNode.js +21 -0
  328. package/examples/jsm/nodes/lighting/LightsNode.js +128 -0
  329. package/examples/jsm/nodes/lighting/PointLightNode.js +68 -0
  330. package/examples/jsm/nodes/lighting/SpotLightNode.js +89 -0
  331. package/examples/jsm/nodes/loaders/NodeLoader.js +108 -0
  332. package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +59 -0
  333. package/examples/jsm/nodes/loaders/NodeObjectLoader.js +70 -0
  334. package/examples/jsm/nodes/materials/LineBasicNodeMaterial.js +28 -0
  335. package/examples/jsm/nodes/materials/Materials.js +12 -0
  336. package/examples/jsm/nodes/materials/MeshBasicNodeMaterial.js +27 -0
  337. package/examples/jsm/nodes/materials/MeshLambertNodeMaterial.js +34 -0
  338. package/examples/jsm/nodes/materials/MeshNormalNodeMaterial.js +40 -0
  339. package/examples/jsm/nodes/materials/MeshPhongNodeMaterial.js +65 -0
  340. package/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +128 -0
  341. package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +80 -0
  342. package/examples/jsm/nodes/materials/NodeMaterial.js +536 -0
  343. package/examples/jsm/nodes/materials/PointsNodeMaterial.js +49 -0
  344. package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +103 -0
  345. package/examples/jsm/nodes/materialx/DISCLAIMER.md +199 -0
  346. package/examples/jsm/nodes/materialx/MaterialXNodes.js +68 -0
  347. package/examples/jsm/nodes/materialx/lib/mx_hsv.js +56 -0
  348. package/examples/jsm/nodes/materialx/lib/mx_noise.js +618 -0
  349. package/examples/jsm/nodes/materialx/lib/mx_transform_color.js +19 -0
  350. package/examples/jsm/nodes/math/CondNode.js +86 -0
  351. package/examples/jsm/nodes/math/MathNode.js +359 -0
  352. package/examples/jsm/nodes/math/OperatorNode.js +269 -0
  353. package/examples/jsm/nodes/parsers/GLSLNodeFunction.js +152 -0
  354. package/examples/jsm/nodes/parsers/GLSLNodeParser.js +14 -0
  355. package/examples/jsm/nodes/procedural/CheckerNode.js +42 -0
  356. package/examples/jsm/nodes/shadernode/ShaderNode.js +420 -0
  357. package/examples/jsm/nodes/utils/ArrayElementNode.js +33 -0
  358. package/examples/jsm/nodes/utils/ConvertNode.js +65 -0
  359. package/examples/jsm/nodes/utils/DiscardNode.js +26 -0
  360. package/examples/jsm/nodes/utils/EquirectUVNode.js +33 -0
  361. package/examples/jsm/nodes/utils/JoinNode.js +51 -0
  362. package/examples/jsm/nodes/utils/LoopNode.js +186 -0
  363. package/examples/jsm/nodes/utils/MatcapUVNode.js +30 -0
  364. package/examples/jsm/nodes/utils/MaxMipLevelNode.js +46 -0
  365. package/examples/jsm/nodes/utils/OscNode.js +81 -0
  366. package/examples/jsm/nodes/utils/PackingNode.js +55 -0
  367. package/examples/jsm/nodes/utils/RemapNode.js +42 -0
  368. package/examples/jsm/nodes/utils/RotateUVNode.js +43 -0
  369. package/examples/jsm/nodes/utils/SpecularMIPLevelNode.js +37 -0
  370. package/examples/jsm/nodes/utils/SplitNode.js +104 -0
  371. package/examples/jsm/nodes/utils/SpriteSheetUVNode.js +41 -0
  372. package/examples/jsm/nodes/utils/TimerNode.js +94 -0
  373. package/examples/jsm/nodes/utils/TriplanarTexturesNode.js +62 -0
  374. package/examples/jsm/objects/GroundProjectedSkybox.js +172 -0
  375. package/examples/jsm/objects/Lensflare.js +377 -0
  376. package/examples/jsm/objects/MarchingCubes.js +1176 -0
  377. package/examples/jsm/objects/Reflector.js +264 -0
  378. package/examples/jsm/objects/ReflectorForSSRPass.js +349 -0
  379. package/examples/jsm/objects/Refractor.js +324 -0
  380. package/examples/jsm/objects/ShadowMesh.js +80 -0
  381. package/examples/jsm/objects/Sky.js +219 -0
  382. package/examples/jsm/objects/Water.js +330 -0
  383. package/examples/jsm/objects/Water2.js +358 -0
  384. package/examples/jsm/offscreen/jank.js +45 -0
  385. package/examples/jsm/offscreen/offscreen.js +8 -0
  386. package/examples/jsm/offscreen/scene.js +86 -0
  387. package/examples/jsm/physics/AmmoPhysics.js +285 -0
  388. package/examples/jsm/physics/RapierPhysics.js +199 -0
  389. package/examples/jsm/postprocessing/AfterimagePass.js +104 -0
  390. package/examples/jsm/postprocessing/BloomPass.js +172 -0
  391. package/examples/jsm/postprocessing/BokehPass.js +140 -0
  392. package/examples/jsm/postprocessing/ClearPass.js +46 -0
  393. package/examples/jsm/postprocessing/CubeTexturePass.js +85 -0
  394. package/examples/jsm/postprocessing/DotScreenPass.js +65 -0
  395. package/examples/jsm/postprocessing/EffectComposer.js +231 -0
  396. package/examples/jsm/postprocessing/FilmPass.js +66 -0
  397. package/examples/jsm/postprocessing/GlitchPass.js +128 -0
  398. package/examples/jsm/postprocessing/HalftonePass.js +79 -0
  399. package/examples/jsm/postprocessing/LUTPass.js +173 -0
  400. package/examples/jsm/postprocessing/MaskPass.js +104 -0
  401. package/examples/jsm/postprocessing/OutlinePass.js +654 -0
  402. package/examples/jsm/postprocessing/OutputPass.js +91 -0
  403. package/examples/jsm/postprocessing/Pass.js +84 -0
  404. package/examples/jsm/postprocessing/RenderPass.js +81 -0
  405. package/examples/jsm/postprocessing/RenderPixelatedPass.js +235 -0
  406. package/examples/jsm/postprocessing/SAOPass.js +411 -0
  407. package/examples/jsm/postprocessing/SMAAPass.js +201 -0
  408. package/examples/jsm/postprocessing/SSAARenderPass.js +228 -0
  409. package/examples/jsm/postprocessing/SSAOPass.js +440 -0
  410. package/examples/jsm/postprocessing/SSRPass.js +641 -0
  411. package/examples/jsm/postprocessing/SavePass.js +79 -0
  412. package/examples/jsm/postprocessing/ShaderPass.js +77 -0
  413. package/examples/jsm/postprocessing/TAARenderPass.js +189 -0
  414. package/examples/jsm/postprocessing/TexturePass.js +67 -0
  415. package/examples/jsm/postprocessing/UnrealBloomPass.js +415 -0
  416. package/examples/jsm/renderers/CSS2DRenderer.js +215 -0
  417. package/examples/jsm/renderers/CSS3DRenderer.js +335 -0
  418. package/examples/jsm/renderers/Projector.js +918 -0
  419. package/examples/jsm/renderers/SVGRenderer.js +553 -0
  420. package/examples/jsm/renderers/common/Animation.js +58 -0
  421. package/examples/jsm/renderers/common/Attributes.js +75 -0
  422. package/examples/jsm/renderers/common/Backend.js +162 -0
  423. package/examples/jsm/renderers/common/Background.js +136 -0
  424. package/examples/jsm/renderers/common/Binding.js +19 -0
  425. package/examples/jsm/renderers/common/Bindings.js +165 -0
  426. package/examples/jsm/renderers/common/Buffer.js +38 -0
  427. package/examples/jsm/renderers/common/BufferUtils.js +33 -0
  428. package/examples/jsm/renderers/common/ChainMap.js +89 -0
  429. package/examples/jsm/renderers/common/ComputePipeline.js +17 -0
  430. package/examples/jsm/renderers/common/Constants.js +14 -0
  431. package/examples/jsm/renderers/common/CubeRenderTarget.js +65 -0
  432. package/examples/jsm/renderers/common/DataMap.js +54 -0
  433. package/examples/jsm/renderers/common/Geometries.js +215 -0
  434. package/examples/jsm/renderers/common/Info.js +73 -0
  435. package/examples/jsm/renderers/common/Pipeline.js +13 -0
  436. package/examples/jsm/renderers/common/Pipelines.js +370 -0
  437. package/examples/jsm/renderers/common/ProgrammableStage.js +18 -0
  438. package/examples/jsm/renderers/common/RenderContext.js +38 -0
  439. package/examples/jsm/renderers/common/RenderContexts.js +49 -0
  440. package/examples/jsm/renderers/common/RenderList.js +178 -0
  441. package/examples/jsm/renderers/common/RenderLists.js +38 -0
  442. package/examples/jsm/renderers/common/RenderObject.js +129 -0
  443. package/examples/jsm/renderers/common/RenderObjects.js +95 -0
  444. package/examples/jsm/renderers/common/RenderPipeline.js +16 -0
  445. package/examples/jsm/renderers/common/Renderer.js +895 -0
  446. package/examples/jsm/renderers/common/SampledTexture.js +80 -0
  447. package/examples/jsm/renderers/common/Sampler.js +18 -0
  448. package/examples/jsm/renderers/common/StorageBuffer.js +17 -0
  449. package/examples/jsm/renderers/common/Textures.js +218 -0
  450. package/examples/jsm/renderers/common/Uniform.js +140 -0
  451. package/examples/jsm/renderers/common/UniformBuffer.js +15 -0
  452. package/examples/jsm/renderers/common/UniformsGroup.js +299 -0
  453. package/examples/jsm/renderers/common/nodes/NodeSampledTexture.js +39 -0
  454. package/examples/jsm/renderers/common/nodes/NodeSampler.js +21 -0
  455. package/examples/jsm/renderers/common/nodes/NodeUniform.js +135 -0
  456. package/examples/jsm/renderers/common/nodes/Nodes.js +330 -0
  457. package/examples/jsm/renderers/webgl/nodes/GLSLNodeBuilder.js +340 -0
  458. package/examples/jsm/renderers/webgl/nodes/SlotNode.js +26 -0
  459. package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +764 -0
  460. package/examples/jsm/renderers/webgl/nodes/WebGLNodes.js +49 -0
  461. package/examples/jsm/renderers/webgpu/WebGPUBackend.js +844 -0
  462. package/examples/jsm/renderers/webgpu/WebGPURenderer.js +32 -0
  463. package/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js +902 -0
  464. package/examples/jsm/renderers/webgpu/nodes/WGSLNodeFunction.js +104 -0
  465. package/examples/jsm/renderers/webgpu/nodes/WGSLNodeParser.js +14 -0
  466. package/examples/jsm/renderers/webgpu/utils/WebGPUAttributeUtils.js +274 -0
  467. package/examples/jsm/renderers/webgpu/utils/WebGPUBindingUtils.js +223 -0
  468. package/examples/jsm/renderers/webgpu/utils/WebGPUConstants.js +324 -0
  469. package/examples/jsm/renderers/webgpu/utils/WebGPUPipelineUtils.js +533 -0
  470. package/examples/jsm/renderers/webgpu/utils/WebGPUTextureMipmapUtils.js +163 -0
  471. package/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js +964 -0
  472. package/examples/jsm/renderers/webgpu/utils/WebGPUUtils.js +92 -0
  473. package/examples/jsm/shaders/ACESFilmicToneMappingShader.js +87 -0
  474. package/examples/jsm/shaders/AfterimageShader.js +56 -0
  475. package/examples/jsm/shaders/BasicShader.js +27 -0
  476. package/examples/jsm/shaders/BleachBypassShader.js +62 -0
  477. package/examples/jsm/shaders/BlendShader.js +47 -0
  478. package/examples/jsm/shaders/BokehShader.js +143 -0
  479. package/examples/jsm/shaders/BokehShader2.js +393 -0
  480. package/examples/jsm/shaders/BrightnessContrastShader.js +54 -0
  481. package/examples/jsm/shaders/ColorCorrectionShader.js +50 -0
  482. package/examples/jsm/shaders/ColorifyShader.js +51 -0
  483. package/examples/jsm/shaders/ConvolutionShader.js +103 -0
  484. package/examples/jsm/shaders/CopyShader.js +45 -0
  485. package/examples/jsm/shaders/DOFMipMapShader.js +54 -0
  486. package/examples/jsm/shaders/DepthLimitedBlurShader.js +166 -0
  487. package/examples/jsm/shaders/DigitalGlitch.js +101 -0
  488. package/examples/jsm/shaders/DotScreenShader.js +70 -0
  489. package/examples/jsm/shaders/ExposureShader.js +44 -0
  490. package/examples/jsm/shaders/FXAAShader.js +286 -0
  491. package/examples/jsm/shaders/FilmShader.js +102 -0
  492. package/examples/jsm/shaders/FocusShader.js +87 -0
  493. package/examples/jsm/shaders/FreiChenShader.js +94 -0
  494. package/examples/jsm/shaders/GammaCorrectionShader.js +43 -0
  495. package/examples/jsm/shaders/GodRaysShader.js +313 -0
  496. package/examples/jsm/shaders/HalftoneShader.js +310 -0
  497. package/examples/jsm/shaders/HorizontalBlurShader.js +59 -0
  498. package/examples/jsm/shaders/HorizontalTiltShiftShader.js +61 -0
  499. package/examples/jsm/shaders/HueSaturationShader.js +65 -0
  500. package/examples/jsm/shaders/KaleidoShader.js +56 -0
  501. package/examples/jsm/shaders/LuminosityHighPassShader.js +64 -0
  502. package/examples/jsm/shaders/LuminosityShader.js +46 -0
  503. package/examples/jsm/shaders/MMDToonShader.js +132 -0
  504. package/examples/jsm/shaders/MirrorShader.js +54 -0
  505. package/examples/jsm/shaders/NormalMapShader.js +53 -0
  506. package/examples/jsm/shaders/OutputShader.js +78 -0
  507. package/examples/jsm/shaders/RGBShiftShader.js +54 -0
  508. package/examples/jsm/shaders/SAOShader.js +188 -0
  509. package/examples/jsm/shaders/SMAAShader.js +460 -0
  510. package/examples/jsm/shaders/SSAOShader.js +288 -0
  511. package/examples/jsm/shaders/SSRShader.js +364 -0
  512. package/examples/jsm/shaders/SepiaShader.js +52 -0
  513. package/examples/jsm/shaders/SobelOperatorShader.js +90 -0
  514. package/examples/jsm/shaders/SubsurfaceScatteringShader.js +88 -0
  515. package/examples/jsm/shaders/TechnicolorShader.js +43 -0
  516. package/examples/jsm/shaders/ToonShader.js +326 -0
  517. package/examples/jsm/shaders/TriangleBlurShader.js +72 -0
  518. package/examples/jsm/shaders/UnpackDepthRGBAShader.js +45 -0
  519. package/examples/jsm/shaders/VelocityShader.js +128 -0
  520. package/examples/jsm/shaders/VerticalBlurShader.js +59 -0
  521. package/examples/jsm/shaders/VerticalTiltShiftShader.js +61 -0
  522. package/examples/jsm/shaders/VignetteShader.js +51 -0
  523. package/examples/jsm/shaders/VolumeShader.js +289 -0
  524. package/examples/jsm/shaders/WaterRefractionShader.js +93 -0
  525. package/examples/jsm/textures/FlakesTexture.js +40 -0
  526. package/examples/jsm/utils/BufferGeometryUtils.js +1373 -0
  527. package/examples/jsm/utils/CameraUtils.js +73 -0
  528. package/examples/jsm/utils/GPUStatsPanel.js +128 -0
  529. package/examples/jsm/utils/GeometryCompressionUtils.js +639 -0
  530. package/examples/jsm/utils/GeometryUtils.js +221 -0
  531. package/examples/jsm/utils/LDrawUtils.js +202 -0
  532. package/examples/jsm/utils/PackedPhongMaterial.js +178 -0
  533. package/examples/jsm/utils/SceneUtils.js +254 -0
  534. package/examples/jsm/utils/ShadowMapViewer.js +210 -0
  535. package/examples/jsm/utils/SkeletonUtils.js +413 -0
  536. package/examples/jsm/utils/TextureUtils.js +86 -0
  537. package/examples/jsm/utils/UVsDebug.js +165 -0
  538. package/examples/jsm/utils/WorkerPool.js +102 -0
  539. package/examples/jsm/webxr/ARButton.js +208 -0
  540. package/examples/jsm/webxr/OculusHandModel.js +109 -0
  541. package/examples/jsm/webxr/OculusHandPointerModel.js +413 -0
  542. package/examples/jsm/webxr/Text2D.js +38 -0
  543. package/examples/jsm/webxr/VRButton.js +200 -0
  544. package/examples/jsm/webxr/XRButton.js +198 -0
  545. package/examples/jsm/webxr/XRControllerModelFactory.js +299 -0
  546. package/examples/jsm/webxr/XREstimatedLight.js +223 -0
  547. package/examples/jsm/webxr/XRHandMeshModel.js +112 -0
  548. package/examples/jsm/webxr/XRHandModelFactory.js +105 -0
  549. package/examples/jsm/webxr/XRHandPrimitiveModel.js +103 -0
  550. package/examples/jsm/webxr/XRPlanes.js +100 -0
  551. package/lib/3d.min.js +1 -1
  552. package/package.json +23 -10
  553. package/dist/core/global.d.ts +0 -10
  554. /package/dist/core/{globalControl.d.ts → global/globalControl.d.ts} +0 -0
  555. /package/dist/core/{globalControl.js → global/globalControl.js} +0 -0
@@ -20,7 +20,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
20
20
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
21
21
  import { BufferGeometry, CatmullRomCurve3, Line, LineBasicMaterial, PerspectiveCamera as TPerspectiveCamera } from 'three';
22
22
  import { Direction, moveTo, moveWithLine } from "../utils/move";
23
- import globalObjectManage from "./global";
23
+ import globalObjectManage from "./global/global";
24
24
  var PerspectiveCamera = /*#__PURE__*/function (_TPerspectiveCamera) {
25
25
  _inherits(PerspectiveCamera, _TPerspectiveCamera);
26
26
  var _super = _createSuper(PerspectiveCamera);
@@ -0,0 +1,12 @@
1
+ import { TransformControls as TTransformControls } from 'three/examples/jsm/controls/TransformControls.js';
2
+ import type { Camera } from 'three';
3
+ export declare class TransformControls extends TTransformControls {
4
+ constructor(object: Camera, domElement?: HTMLElement);
5
+ dispose(): void;
6
+ }
7
+ /**
8
+ * create TransformControls
9
+ * note: 不可使用await,否则会导致渲染器无法完成初始化
10
+ * @returns
11
+ */
12
+ export declare const createTransformControls: (size?: number) => Promise<TransformControls>;
@@ -0,0 +1,72 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
+ function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
8
+ function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
9
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
10
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
11
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
13
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
14
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
15
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
16
+ import { TransformControls as TTransformControls } from 'three/examples/jsm/controls/TransformControls.js';
17
+ import globalObjectManage from "../global/global";
18
+ import { emitter } from "../../utils";
19
+ export var TransformControls = /*#__PURE__*/function (_TTransformControls) {
20
+ _inherits(TransformControls, _TTransformControls);
21
+ var _super = _createSuper(TransformControls);
22
+ function TransformControls(object, domElement) {
23
+ _classCallCheck(this, TransformControls);
24
+ return _super.call(this, object, domElement);
25
+ }
26
+ _createClass(TransformControls, [{
27
+ key: "dispose",
28
+ value: function dispose() {
29
+ var _this = this;
30
+ _get(_getPrototypeOf(TransformControls.prototype), "dispose", this).call(this);
31
+ var index = globalObjectManage.transformControls.findIndex(function (item) {
32
+ return item === _this;
33
+ });
34
+ if (index > -1) globalObjectManage.transformControls.splice(index, 1);
35
+ }
36
+ }]);
37
+ return TransformControls;
38
+ }(TTransformControls);
39
+ var create = function create() {
40
+ var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.5;
41
+ var transformControl = new TransformControls(globalObjectManage.camera, globalObjectManage.domElement);
42
+ transformControl.size = size;
43
+ transformControl.addEventListener('change', function () {});
44
+ transformControl.addEventListener('dragging-changed', function (event) {
45
+ var controls = globalObjectManage.orbitControls;
46
+ if (controls) controls.enabled = !event.value;
47
+ });
48
+ globalObjectManage.setTransformControls(transformControl);
49
+
50
+ // maybe many controls
51
+ globalObjectManage.scene.add(transformControl);
52
+ return transformControl;
53
+ };
54
+
55
+ /**
56
+ * create TransformControls
57
+ * note: 不可使用await,否则会导致渲染器无法完成初始化
58
+ * @returns
59
+ */
60
+ export var createTransformControls = function createTransformControls() {
61
+ var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.5;
62
+ var promise = new Promise(function (resolve) {
63
+ if (!(globalObjectManage.camera && globalObjectManage.domElement)) {
64
+ emitter.on('after-render', function () {
65
+ resolve(create(size));
66
+ });
67
+ } else {
68
+ resolve(create(size));
69
+ }
70
+ });
71
+ return promise;
72
+ };
@@ -0,0 +1,24 @@
1
+ import type { Scene } from 'three';
2
+ import type { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
3
+ import type { TransformControls } from '../control/transformControls';
4
+ import type { PerspectiveCamera } from '../camera';
5
+ declare class GlobalObjectManage {
6
+ scene: Scene | null;
7
+ triggerClick: boolean;
8
+ camera: PerspectiveCamera | null;
9
+ domElement: HTMLElement | null;
10
+ orbitControls: OrbitControls | null;
11
+ transformControls: TransformControls[];
12
+ frameCallbacks: Set<() => void>;
13
+ constructor();
14
+ addScene(object3d: Scene): void;
15
+ setCamera(camera: PerspectiveCamera): void;
16
+ setDomElement(domElement: HTMLElement): void;
17
+ setOrbitControls(orbitControls: OrbitControls): void;
18
+ setTransformControls(transformControls: TransformControls): void;
19
+ setTriggerClickState(state: boolean): void;
20
+ addFrameCallback(cb: () => void): void;
21
+ removeFrameCallback(cb: () => void): void;
22
+ }
23
+ declare const _default: GlobalObjectManage;
24
+ export default _default;
@@ -6,21 +6,58 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
6
6
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
7
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
8
  var GlobalObjectManage = /*#__PURE__*/function () {
9
+ // hooks callback
10
+
9
11
  function GlobalObjectManage() {
10
12
  _classCallCheck(this, GlobalObjectManage);
11
13
  _defineProperty(this, "scene", null);
12
14
  _defineProperty(this, "triggerClick", false);
15
+ _defineProperty(this, "camera", null);
16
+ _defineProperty(this, "domElement", null);
17
+ _defineProperty(this, "orbitControls", null);
18
+ _defineProperty(this, "transformControls", []);
19
+ _defineProperty(this, "frameCallbacks", new Set());
13
20
  }
14
21
  _createClass(GlobalObjectManage, [{
15
22
  key: "addScene",
16
23
  value: function addScene(object3d) {
17
24
  this.scene = object3d;
18
25
  }
26
+ }, {
27
+ key: "setCamera",
28
+ value: function setCamera(camera) {
29
+ this.camera = camera;
30
+ }
31
+ }, {
32
+ key: "setDomElement",
33
+ value: function setDomElement(domElement) {
34
+ this.domElement = domElement;
35
+ }
36
+ }, {
37
+ key: "setOrbitControls",
38
+ value: function setOrbitControls(orbitControls) {
39
+ this.orbitControls = orbitControls;
40
+ }
41
+ }, {
42
+ key: "setTransformControls",
43
+ value: function setTransformControls(transformControls) {
44
+ this.transformControls.push(transformControls);
45
+ }
19
46
  }, {
20
47
  key: "setTriggerClickState",
21
48
  value: function setTriggerClickState(state) {
22
49
  this.triggerClick = state;
23
50
  }
51
+ }, {
52
+ key: "addFrameCallback",
53
+ value: function addFrameCallback(cb) {
54
+ this.frameCallbacks.add(cb);
55
+ }
56
+ }, {
57
+ key: "removeFrameCallback",
58
+ value: function removeFrameCallback(cb) {
59
+ this.frameCallbacks.delete(cb);
60
+ }
24
61
  }]);
25
62
  return GlobalObjectManage;
26
63
  }();
@@ -20,7 +20,25 @@ declare class Group extends TGroup {
20
20
  */
21
21
  removeAllNatureEventListener(): void;
22
22
  /**
23
- * 由子孙向上冒泡触发
23
+ * handle intersect event
24
+ * @param intersects
25
+ * @param eventType
26
+ */
27
+ private handleClick;
28
+ /**
29
+ * handle pointermove event
30
+ * @param intersects
31
+ * @param natureEvent
32
+ */
33
+ private handlePointerMove;
34
+ /**
35
+ * handle pointerleave event
36
+ * @param intersects
37
+ * @param natureEvent
38
+ */
39
+ private handlePointerleave;
40
+ /**
41
+ * raycastGroup
24
42
  * handle intersect event
25
43
  */
26
44
  raycastGroup(): void;
@@ -13,6 +13,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
13
13
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
14
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
15
  import { Group as TGroup } from 'three';
16
+ import globalObjectManage from "./global/global";
16
17
  var Group = /*#__PURE__*/function (_TGroup) {
17
18
  _inherits(Group, _TGroup);
18
19
  var _super = _createSuper(Group);
@@ -62,13 +63,64 @@ var Group = /*#__PURE__*/function (_TGroup) {
62
63
  }
63
64
 
64
65
  /**
65
- * 由子孙向上冒泡触发
66
+ * handle intersect event
67
+ * @param intersects
68
+ * @param eventType
69
+ */
70
+ }, {
71
+ key: "handleClick",
72
+ value: function handleClick(natureEvent) {
73
+ if (!globalObjectManage.triggerClick) return;
74
+
75
+ // get nature event
76
+ natureEvent.forEach(function (handlefn) {
77
+ // handlefn(this)
78
+ });
79
+ }
80
+
81
+ /**
82
+ * handle pointermove event
83
+ * @param intersects
84
+ * @param natureEvent
85
+ */
86
+ }, {
87
+ key: "handlePointerMove",
88
+ value: function handlePointerMove(natureEvent) {
89
+ natureEvent.forEach(function (handlefn) {
90
+ // handlefn(this)
91
+ });
92
+ }
93
+
94
+ /**
95
+ * handle pointerleave event
96
+ * @param intersects
97
+ * @param natureEvent
98
+ */
99
+ }, {
100
+ key: "handlePointerleave",
101
+ value: function handlePointerleave() {
102
+ var pointerleaveCallback = this.natureEventMap.get('pointerleave');
103
+ pointerleaveCallback && pointerleaveCallback.length > 0 && pointerleaveCallback.forEach(function (handlefn) {
104
+ // handlefn(this)
105
+ });
106
+ }
107
+
108
+ /**
109
+ * raycastGroup
66
110
  * handle intersect event
67
111
  */
68
112
  }, {
69
113
  key: "raycastGroup",
70
114
  value: function raycastGroup() {
71
- //
115
+ // const clickCallback = this.natureEventMap.get('click')
116
+ // const pointerupCallback = this.natureEventMap.get('pointerup')
117
+ // const pointerdownCallback = this.natureEventMap.get('pointerdown')
118
+ // const pointermoveCallback = this.natureEventMap.get('pointermove')
119
+
120
+ // clickCallback && clickCallback.length > 0 && this.handleClick(clickCallback)
121
+ // pointerupCallback && pointerupCallback.length > 0 && this.handleClick(pointerupCallback)
122
+ // pointerdownCallback && pointerdownCallback.length > 0 && this.handleClick(pointerdownCallback)
123
+ // pointermoveCallback && pointermoveCallback.length > 0 && this.handlePointerMove(pointermoveCallback)
72
124
  }
73
125
  }]);
74
126
  return Group;
@@ -0,0 +1,13 @@
1
+ import { CatmullRomCurve3, Line, Vector3 } from 'three';
2
+ import type { TransformControls } from './control/transformControls';
3
+ declare type CatmullRomCurve3WithMesh = CatmullRomCurve3 & {
4
+ mesh: Line;
5
+ };
6
+ /**
7
+ * 可控制曲线
8
+ * @param points
9
+ * @param transformControl
10
+ * @returns
11
+ */
12
+ export declare const createControlLine: (points: Vector3[], transformControl: TransformControls) => CatmullRomCurve3WithMesh;
13
+ export {};
@@ -0,0 +1,61 @@
1
+ import { BoxGeometry, BufferAttribute, BufferGeometry, CatmullRomCurve3, Line, LineBasicMaterial, MeshBasicMaterial, Vector3 } from 'three';
2
+ import Mesh from "./mesh";
3
+ import globalObjectManage from "./global/global";
4
+ var point = new Vector3(0, 0, 0);
5
+ var createSplineControlObject3d = function createSplineControlObject3d(position, transformControl) {
6
+ var width = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
7
+ var height = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
8
+ var depth = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
9
+ var boxGeometry = new BoxGeometry(width, height, depth);
10
+ var material = new MeshBasicMaterial({
11
+ color: Math.random() * 0xFFFFFF
12
+ });
13
+ var object = new Mesh(boxGeometry, material);
14
+ object.addNatureEventListener('pointermove', function (mesh) {
15
+ transformControl.attach(mesh);
16
+ });
17
+ object.position.copy(position);
18
+ globalObjectManage.scene.add(object);
19
+ return object;
20
+ };
21
+ var createCatmullRomCurve3 = function createCatmullRomCurve3(positions) {
22
+ var geometry = new BufferGeometry();
23
+ geometry.setAttribute('position', new BufferAttribute(new Float32Array(200 * 3), 3));
24
+ var curve = new CatmullRomCurve3(positions);
25
+ curve.mesh = new Line(geometry.clone(), new LineBasicMaterial({
26
+ color: 'red',
27
+ opacity: 1
28
+ }));
29
+ return curve;
30
+ };
31
+ var updateCatmullRomCurve3 = function updateCatmullRomCurve3(curve) {
32
+ var splineMesh = curve.mesh;
33
+ var position = splineMesh.geometry.attributes.position;
34
+
35
+ // update 200 points
36
+ for (var i = 0; i < 200; i++) {
37
+ var t = i / (200 - 1);
38
+ curve.getPoint(t, point);
39
+ position.setXYZ(i, point.x, point.y, point.z);
40
+ }
41
+ position.needsUpdate = true;
42
+ };
43
+
44
+ /**
45
+ * 可控制曲线
46
+ * @param points
47
+ * @param transformControl
48
+ * @returns
49
+ */
50
+ export var createControlLine = function createControlLine(points, transformControl) {
51
+ var splineControlObject3d = [];
52
+ points.forEach(function (point) {
53
+ splineControlObject3d.push(createSplineControlObject3d(point, transformControl));
54
+ });
55
+ var curve = createCatmullRomCurve3(points);
56
+ updateCatmullRomCurve3(curve);
57
+ transformControl.addEventListener('objectChange', function () {
58
+ updateCatmullRomCurve3(curve);
59
+ });
60
+ return curve;
61
+ };
@@ -39,6 +39,10 @@ declare class Mesh extends TMesh {
39
39
  * @param natureEvent
40
40
  */
41
41
  private handlePointerleave;
42
+ /**
43
+ * bubbling
44
+ */
45
+ private bubbling;
42
46
  /**
43
47
  * handle mesh raycaster
44
48
  * @param raycaster
package/dist/core/mesh.js CHANGED
@@ -15,7 +15,9 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
15
15
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
16
16
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
17
17
  import { Mesh as TMesh } from 'three';
18
- import globalObjectManage from "./global";
18
+ import { getObject3dAncestorsNodes } from "../utils";
19
+ import Group from "./group";
20
+ import globalObjectManage from "./global/global";
19
21
  var Mesh = /*#__PURE__*/function (_TMesh) {
20
22
  _inherits(Mesh, _TMesh);
21
23
  var _super = _createSuper(Mesh);
@@ -111,6 +113,18 @@ var Mesh = /*#__PURE__*/function (_TMesh) {
111
113
  });
112
114
  }
113
115
 
116
+ /**
117
+ * bubbling
118
+ */
119
+ }, {
120
+ key: "bubbling",
121
+ value: function bubbling() {
122
+ var ancestorsNodes = getObject3dAncestorsNodes(this);
123
+ ancestorsNodes.forEach(function (node) {
124
+ if (node instanceof Group) node.raycastGroup();
125
+ });
126
+ }
127
+
114
128
  /**
115
129
  * handle mesh raycaster
116
130
  * @param raycaster
@@ -129,6 +143,10 @@ var Mesh = /*#__PURE__*/function (_TMesh) {
129
143
  var object = intersect && intersect.object;
130
144
  if (object === this) {
131
145
  this.entered = true;
146
+
147
+ // bubbling
148
+ // this.bubbling()
149
+
132
150
  clickCallback && clickCallback.length > 0 && this.handleClick(clickCallback, intersect);
133
151
  pointerupCallback && pointerupCallback.length > 0 && this.handleClick(pointerupCallback, intersect);
134
152
  pointerdownCallback && pointerdownCallback.length > 0 && this.handleClick(pointerdownCallback, intersect);
@@ -24,6 +24,8 @@ var ModelLoader = /*#__PURE__*/function () {
24
24
  function loadGLTF(url, onLoad, onProgress, onError) {
25
25
  var loader = new GLTFLoader();
26
26
  var dracoLoader = new DRACOLoader();
27
+
28
+ // todo: 调优
27
29
  dracoLoader.setDecoderPath('./draco/');
28
30
  dracoLoader.setDecoderConfig({
29
31
  type: 'js'
@@ -8,9 +8,11 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
8
8
  import { ACESFilmicToneMapping, AmbientLight, Raycaster, Scene as TScene, Vector2, Vector3, WebGLRenderer } from 'three';
9
9
  import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
10
10
  import * as TWEEN from '@tweenjs/tween.js';
11
+ import { emitter } from "../utils";
12
+ import Mesh from "./mesh";
11
13
  import Cssrenderer from "./cssRenderer";
12
- import globalControl from "./globalControl";
13
- import globalObjectManage from "./global";
14
+ import globalControl from "./global/globalControl";
15
+ import globalObjectManage from "./global/global";
14
16
  import { PerspectiveCamera } from "./camera";
15
17
  var Scene = /*#__PURE__*/function () {
16
18
  function Scene(opts) {
@@ -39,6 +41,7 @@ var Scene = /*#__PURE__*/function () {
39
41
  value: function defaultInit() {
40
42
  var camera = this.initDefaultPerspectiveCamera();
41
43
  this.camera = camera;
44
+ globalObjectManage.setCamera(camera);
42
45
  this.scene.add(camera);
43
46
  var renderer = this.initRenderer();
44
47
  this.renderer = renderer;
@@ -101,7 +104,7 @@ var Scene = /*#__PURE__*/function () {
101
104
  key: "initDefaultPerspectiveCamera",
102
105
  value: function initDefaultPerspectiveCamera() {
103
106
  var rendererOps = this.opts.defCameraOps || {};
104
- var camera = new PerspectiveCamera(rendererOps.fov || 90, window.innerWidth / window.innerHeight, rendererOps.near || 0.1, rendererOps.far || 1000);
107
+ var camera = new PerspectiveCamera(rendererOps.fov || 90, window.innerWidth / window.innerHeight, rendererOps.near || 0.1, rendererOps.far || 5000);
105
108
  var position = rendererOps.position || new Vector3(0, 10, 10);
106
109
  camera.position.set(position.x, position.y, position.z);
107
110
  return camera;
@@ -134,6 +137,9 @@ var Scene = /*#__PURE__*/function () {
134
137
  var _this = this;
135
138
  if (!this.renderer || !this.scene || !this.camera) throw new Error('scene or camera or renderer is not init');
136
139
  if (frameAnimate) frameAnimate(this.renderer);
140
+ if (globalObjectManage.frameCallbacks.size > 0) globalObjectManage.frameCallbacks.forEach(function (cb) {
141
+ cb();
142
+ });
137
143
  globalControl.update();
138
144
  TWEEN.update();
139
145
  this.renderer.render(this.scene, this.camera);
@@ -161,7 +167,12 @@ var Scene = /*#__PURE__*/function () {
161
167
  key: "updateRaycaster",
162
168
  value: function updateRaycaster() {
163
169
  this.raycaster.setFromCamera(this.pointer, this.camera);
164
- this.raycaster.intersectObjects(this.scene.children);
170
+
171
+ // need expand
172
+ var object3ds = this.scene.children.filter(function (item) {
173
+ return item instanceof Mesh;
174
+ });
175
+ this.raycaster.intersectObjects(object3ds);
165
176
  }
166
177
  }, {
167
178
  key: "getPointerPosition",
@@ -178,6 +189,12 @@ var Scene = /*#__PURE__*/function () {
178
189
  key: "onPointerPointerup",
179
190
  value: function onPointerPointerup(event) {
180
191
  globalObjectManage.setTriggerClickState(false);
192
+ var transformControls = globalObjectManage.transformControls;
193
+ if (transformControls.length > 0) {
194
+ transformControls.forEach(function (transformControl) {
195
+ transformControl.detach();
196
+ });
197
+ }
181
198
  this.getPointerPosition(event);
182
199
  this.updateRaycaster();
183
200
  }
@@ -241,19 +258,26 @@ var Scene = /*#__PURE__*/function () {
241
258
  key: "render",
242
259
  value: function render(target) {
243
260
  var _this3 = this;
261
+ emitter.emit('before-render');
244
262
  var currentControlDom = null;
263
+ var domElement = this.renderer.domElement;
245
264
  if (this.cssRenderer) {
246
265
  currentControlDom = this.cssRenderer.cssRenderer.domElement;
247
266
  target.appendChild(currentControlDom);
248
267
  currentControlDom.style.position = 'absolute';
249
268
  currentControlDom.style.top = '0';
250
269
  }
251
- if (this.opts.orbitControls) this.controls = new OrbitControls(this.camera, currentControlDom || this.renderer.domElement);
252
- target.appendChild(this.renderer.domElement);
253
- this.registerEvent(currentControlDom || this.renderer.domElement);
270
+ if (this.opts.orbitControls) {
271
+ this.controls = new OrbitControls(this.camera, currentControlDom || domElement);
272
+ globalObjectManage.setOrbitControls(this.controls);
273
+ }
274
+ globalObjectManage.setDomElement(currentControlDom || domElement);
275
+ target.appendChild(domElement);
276
+ this.registerEvent(currentControlDom || domElement);
254
277
  target.addEventListener('resize', function () {
255
278
  return _this3.resetScene(_this3.camera, _this3.renderer);
256
279
  });
280
+ emitter.emit('after-render');
257
281
  }
258
282
  }, {
259
283
  key: "destroy",
@@ -0,0 +1,6 @@
1
+ /**
2
+ * frame hook
3
+ * @param cb
4
+ */
5
+ declare const useframe: (cb: () => void) => () => void;
6
+ export default useframe;
@@ -0,0 +1,11 @@
1
+ import globalObjectManage from "../global/global";
2
+
3
+ /**
4
+ * frame hook
5
+ * @param cb
6
+ */
7
+ var useframe = function useframe(cb) {
8
+ globalObjectManage.addFrameCallback(cb);
9
+ return globalObjectManage.removeFrameCallback.bind(globalObjectManage, cb);
10
+ };
11
+ export default useframe;
package/dist/export.d.ts CHANGED
@@ -4,7 +4,10 @@ import { PerspectiveCamera } from './core/camera';
4
4
  import ModelLoader from './core/model';
5
5
  import { ModelType } from './commonEnu';
6
6
  import { createLabel } from './utils/createLabel';
7
+ import { createControlLine } from './core/line';
8
+ import { TransformControls, createTransformControls } from './core/control/transformControls';
7
9
  import { Direction } from './utils/move';
10
+ import globalObjectManage from './core/global/global';
8
11
  declare const utils: {
9
12
  moveTo: (currentObject3D: import("three").Object3D<import("three").Event>, targetObject3D: import("three").Object3D<import("three").Event>, distance: number, direction: Direction, duration?: number | undefined, animationMethod?: string | undefined) => import("@tweenjs/tween.js").Tween<import("three").Vector3>;
10
13
  moveLine: (currentObject3D: import("three").Object3D<import("three").Event>, targetObject3D: import("three").Object3D<import("three").Event>) => void;
@@ -23,6 +26,9 @@ declare const dom: {
23
26
  [key: string]: () => void;
24
27
  } | undefined) => void;
25
28
  };
29
+ declare const use: {
30
+ useframe: (cb: () => void) => () => void;
31
+ };
26
32
  export * from 'three';
27
33
  export * from './threeCell';
28
- export { Scene, Mesh, PerspectiveCamera, ModelLoader, createLabel, ModelType, Direction, utils, dom, };
34
+ export { Scene, Mesh, PerspectiveCamera, ModelLoader, TransformControls, createControlLine, createLabel, ModelType, Direction, createTransformControls, utils, dom, use, globalObjectManage, };
package/dist/export.js CHANGED
@@ -5,8 +5,12 @@ import { PerspectiveCamera } from "./core/camera";
5
5
  import ModelLoader from "./core/model";
6
6
  import { ModelType } from "./commonEnu";
7
7
  import { createLabel } from "./utils/createLabel";
8
+ import { createControlLine } from "./core/line";
9
+ import { TransformControls, createTransformControls } from "./core/control/transformControls";
8
10
  import { Direction, moveLine, moveTo, moveWithLine, moveWithRound } from "./utils/move";
9
11
  import { appendChildren, create, createElement, setAttributes, setClassList, setEventListeners } from "./utils/createElement";
12
+ import globalObjectManage from "./core/global/global";
13
+ import useframe from "./core/use/useframe";
10
14
  var utils = {
11
15
  moveTo: moveTo,
12
16
  moveLine: moveLine,
@@ -21,6 +25,9 @@ var dom = {
21
25
  setClassList: setClassList,
22
26
  setEventListeners: setEventListeners
23
27
  };
28
+ var use = {
29
+ useframe: useframe
30
+ };
24
31
  export * from 'three';
25
32
  export * from "./threeCell";
26
- export { Scene, Mesh, PerspectiveCamera, ModelLoader, createLabel, ModelType, Direction, utils, dom };
33
+ export { Scene, Mesh, PerspectiveCamera, ModelLoader, TransformControls, createControlLine, createLabel, ModelType, Direction, createTransformControls, utils, dom, use, globalObjectManage };
@@ -3,3 +3,6 @@ export { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader';
3
3
  export { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
4
4
  export { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer';
5
5
  export { CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer';
6
+ export { LineGeometry } from 'three/examples/jsm/lines/LineGeometry';
7
+ export { LineMaterial } from 'three/examples/jsm/lines/LineMaterial';
8
+ export { Line2 } from 'three/examples/jsm/lines/Line2';
package/dist/threeCell.js CHANGED
@@ -7,4 +7,10 @@ export { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
7
7
 
8
8
  // renderer
9
9
  export { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer';
10
- export { CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer';
10
+ export { CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer';
11
+
12
+ // line
13
+
14
+ export { LineGeometry } from 'three/examples/jsm/lines/LineGeometry';
15
+ export { LineMaterial } from 'three/examples/jsm/lines/LineMaterial';
16
+ export { Line2 } from 'three/examples/jsm/lines/Line2';
@@ -1,3 +1,4 @@
1
+ import type { Object3D } from 'three';
1
2
  import { Vector3 } from 'three';
2
3
  export declare const emitter: {
3
4
  on: {
@@ -14,9 +15,26 @@ export declare const emitter: {
14
15
  };
15
16
  all: import("mitt").EventHandlerMap<Record<import("mitt").EventType, unknown>>;
16
17
  };
18
+ interface Node {
19
+ children?: Node[];
20
+ [k: string]: any;
21
+ }
17
22
  /**
18
- * 鼠标点转换为3D点
19
- * todo: bugfix
23
+ * get ancestors nodes
24
+ * @param array
25
+ * @param targetId
26
+ * @param key
27
+ * @returns
28
+ */
29
+ export declare const getAncestorsNodes: <T extends Node>(array: T[], targetId: string | number, key?: string) => T[];
30
+ /**
31
+ * get object3d ancestors nodes
32
+ * @param object3d
33
+ * @returns
34
+ */
35
+ export declare const getObject3dAncestorsNodes: (object3d: Object3D) => Object3D<import("three").Event>[];
36
+ /**
37
+ * mousePointTo3DPoint
20
38
  * @param mouseX
21
39
  * @param mouseY
22
40
  * @param camera
@@ -24,3 +42,4 @@ export declare const emitter: {
24
42
  * @returns
25
43
  */
26
44
  export declare const mousePointTo3DPoint: (mouseX: number, mouseY: number, camera: THREE.Camera, renderer: THREE.WebGLRenderer) => Vector3;
45
+ export {};