minerender 2.0.0-alpha.0 → 2.0.0-alpha.1

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 (1068) hide show
  1. package/.esdoc.json +0 -0
  2. package/.github/FUNDING.yml +0 -0
  3. package/.github/stale.yml +0 -0
  4. package/.github/workflows/nodejs.yml +0 -0
  5. package/.travis.yml +0 -0
  6. package/CNAME +0 -0
  7. package/LICENSE +0 -0
  8. package/README.md +0 -0
  9. package/build.mjs +20 -0
  10. package/demo/model/index.html +0 -0
  11. package/demo/skin/index.html +0 -0
  12. package/dist/bundle.js +98564 -139038
  13. package/dist/cjs/AnimatorFunction.d.ts +3 -3
  14. package/dist/cjs/AnimatorFunction.js +2 -2
  15. package/dist/cjs/AnimatorFunction.js.map +0 -0
  16. package/dist/cjs/Axis.d.ts +8 -8
  17. package/dist/cjs/Axis.js +22 -22
  18. package/dist/cjs/Axis.js.map +0 -0
  19. package/dist/cjs/CubeFace.d.ts +17 -17
  20. package/dist/cjs/CubeFace.js +22 -22
  21. package/dist/cjs/CubeFace.js.map +0 -0
  22. package/dist/cjs/Disposable.d.ts +4 -4
  23. package/dist/cjs/Disposable.js +7 -7
  24. package/dist/cjs/Disposable.js.map +0 -0
  25. package/dist/cjs/Env.d.ts +2 -2
  26. package/dist/cjs/Env.js +6 -6
  27. package/dist/cjs/Env.js.map +0 -0
  28. package/dist/cjs/ExtractableImageData.d.ts +5 -5
  29. package/dist/cjs/ExtractableImageData.js +2 -2
  30. package/dist/cjs/ExtractableImageData.js.map +0 -0
  31. package/dist/cjs/Geometries.d.ts +6 -6
  32. package/dist/cjs/Geometries.js +91 -91
  33. package/dist/cjs/Geometries.js.map +0 -0
  34. package/dist/cjs/ListAsset.d.ts +5 -5
  35. package/dist/cjs/ListAsset.js +2 -2
  36. package/dist/cjs/ListAsset.js.map +0 -0
  37. package/dist/cjs/Materials.d.ts +9 -9
  38. package/dist/cjs/Materials.js +76 -76
  39. package/dist/cjs/Materials.js.map +0 -0
  40. package/dist/cjs/Meshes.d.ts +6 -6
  41. package/dist/cjs/Meshes.js +20 -20
  42. package/dist/cjs/Meshes.js.map +0 -0
  43. package/dist/cjs/MinecraftAsset.d.ts +7 -7
  44. package/dist/cjs/MinecraftAsset.js +2 -2
  45. package/dist/cjs/MinecraftAsset.js.map +0 -0
  46. package/dist/cjs/MinecraftCubeTexture.d.ts +26 -26
  47. package/dist/cjs/MinecraftCubeTexture.js +103 -103
  48. package/dist/cjs/MinecraftCubeTexture.js.map +0 -0
  49. package/dist/cjs/MinecraftTextureMeta.d.ts +15 -15
  50. package/dist/cjs/MinecraftTextureMeta.js +2 -2
  51. package/dist/cjs/MinecraftTextureMeta.js.map +0 -0
  52. package/dist/cjs/SceneStats.d.ts +5 -5
  53. package/dist/cjs/SceneStats.js +11 -11
  54. package/dist/cjs/SceneStats.js.map +0 -0
  55. package/dist/cjs/Serializable.d.ts +3 -3
  56. package/dist/cjs/Serializable.js +2 -2
  57. package/dist/cjs/Serializable.js.map +0 -0
  58. package/dist/cjs/Ticker.d.ts +20 -20
  59. package/dist/cjs/Ticker.js +54 -54
  60. package/dist/cjs/Ticker.js.map +0 -0
  61. package/dist/cjs/TintColors.d.ts +1 -1
  62. package/dist/cjs/TintColors.js +4 -4
  63. package/dist/cjs/TintColors.js.map +0 -0
  64. package/dist/cjs/Transformable.d.ts +11 -11
  65. package/dist/cjs/Transformable.js +7 -7
  66. package/dist/cjs/Transformable.js.map +0 -0
  67. package/dist/cjs/UVMapper.d.ts +40 -40
  68. package/dist/cjs/UVMapper.js +433 -429
  69. package/dist/cjs/UVMapper.js.map +1 -1
  70. package/dist/cjs/WrappedImage.d.ts +17 -17
  71. package/dist/cjs/WrappedImage.js +49 -49
  72. package/dist/cjs/WrappedImage.js.map +0 -0
  73. package/dist/cjs/_model/Cube.d.ts +10 -10
  74. package/dist/cjs/_model/Cube.js +2 -2
  75. package/dist/cjs/_model/Cube.js.map +0 -0
  76. package/dist/cjs/_model/Element.d.ts +9 -9
  77. package/dist/cjs/_model/Element.js +2 -2
  78. package/dist/cjs/_model/Element.js.map +0 -0
  79. package/dist/cjs/_model/Face.d.ts +6 -6
  80. package/dist/cjs/_model/Face.js +2 -2
  81. package/dist/cjs/_model/Face.js.map +0 -0
  82. package/dist/cjs/_model/Model.d.ts +4 -4
  83. package/dist/cjs/_model/Model.js +2 -2
  84. package/dist/cjs/_model/Model.js.map +0 -0
  85. package/dist/cjs/assets/AssetKey.d.ts +26 -26
  86. package/dist/cjs/assets/AssetKey.js +82 -82
  87. package/dist/cjs/assets/AssetKey.js.map +0 -0
  88. package/dist/cjs/assets/AssetLoader.d.ts +26 -26
  89. package/dist/cjs/assets/AssetLoader.js +152 -152
  90. package/dist/cjs/assets/AssetLoader.js.map +0 -0
  91. package/dist/cjs/assets/Assets.d.ts +14 -14
  92. package/dist/cjs/assets/Assets.js +36 -36
  93. package/dist/cjs/assets/Assets.js.map +0 -0
  94. package/dist/cjs/assets/BlockStates.d.ts +11 -11
  95. package/dist/cjs/assets/BlockStates.js +74 -74
  96. package/dist/cjs/assets/BlockStates.js.map +0 -0
  97. package/dist/cjs/assets/Entities.d.ts +8 -8
  98. package/dist/cjs/assets/Entities.js +56 -56
  99. package/dist/cjs/assets/Entities.js.map +0 -0
  100. package/dist/cjs/assets/ModelTextures.d.ts +12 -12
  101. package/dist/cjs/assets/ModelTextures.js +65 -65
  102. package/dist/cjs/assets/ModelTextures.js.map +0 -0
  103. package/dist/cjs/assets/Models.d.ts +12 -12
  104. package/dist/cjs/assets/Models.js +94 -94
  105. package/dist/cjs/assets/Models.js.map +0 -0
  106. package/dist/cjs/bedrock/BedrockEntityDescription.d.ts +19 -19
  107. package/dist/cjs/bedrock/BedrockEntityDescription.js +2 -2
  108. package/dist/cjs/bedrock/BedrockEntityDescription.js.map +0 -0
  109. package/dist/cjs/bedrock/BedrockEntityFile.d.ts +7 -7
  110. package/dist/cjs/bedrock/BedrockEntityFile.js +2 -2
  111. package/dist/cjs/bedrock/BedrockEntityFile.js.map +0 -0
  112. package/dist/cjs/bedrock/BedrockGeometry.d.ts +27 -27
  113. package/dist/cjs/bedrock/BedrockGeometry.js +2 -2
  114. package/dist/cjs/bedrock/BedrockGeometry.js.map +0 -0
  115. package/dist/cjs/bedrock/BedrockGeometryFile.d.ts +5 -5
  116. package/dist/cjs/bedrock/BedrockGeometryFile.js +2 -2
  117. package/dist/cjs/bedrock/BedrockGeometryFile.js.map +0 -0
  118. package/dist/cjs/cache/CacheKey.d.ts +28 -28
  119. package/dist/cjs/cache/CacheKey.js +26 -26
  120. package/dist/cjs/cache/CacheKey.js.map +0 -0
  121. package/dist/cjs/cache/Caching.d.ts +29 -29
  122. package/dist/cjs/cache/Caching.js +92 -92
  123. package/dist/cjs/cache/Caching.js.map +0 -0
  124. package/dist/cjs/cache/PersistentCache.d.ts +15 -15
  125. package/dist/cjs/cache/PersistentCache.js +111 -111
  126. package/dist/cjs/cache/PersistentCache.js.map +0 -0
  127. package/dist/cjs/canvas/CanvasCompat.d.ts +5 -5
  128. package/dist/cjs/canvas/CanvasCompat.js +52 -52
  129. package/dist/cjs/canvas/CanvasCompat.js.map +0 -0
  130. package/dist/cjs/canvas/CanvasImage.d.ts +18 -18
  131. package/dist/cjs/canvas/CanvasImage.js +44 -44
  132. package/dist/cjs/canvas/CanvasImage.js.map +0 -0
  133. package/dist/cjs/entity/EntityModel.d.ts +7 -7
  134. package/dist/cjs/entity/EntityModel.js +2 -2
  135. package/dist/cjs/entity/EntityModel.js.map +0 -0
  136. package/dist/cjs/entity/blockEntityModels.json +1401 -1401
  137. package/dist/cjs/entity/entityModels.json +20623 -20623
  138. package/dist/cjs/entity/scene/EntityObject.d.ts +20 -20
  139. package/dist/cjs/entity/scene/EntityObject.js +130 -130
  140. package/dist/cjs/entity/scene/EntityObject.js.map +0 -0
  141. package/dist/cjs/error/MineRenderError.d.ts +4 -4
  142. package/dist/cjs/error/MineRenderError.js +14 -14
  143. package/dist/cjs/error/MineRenderError.js.map +0 -0
  144. package/dist/cjs/gui/scene/GuiObject.d.ts +6 -6
  145. package/dist/cjs/gui/scene/GuiObject.js +7 -7
  146. package/dist/cjs/gui/scene/GuiObject.js.map +0 -0
  147. package/dist/cjs/image/ImageLoader.d.ts +28 -28
  148. package/dist/cjs/image/ImageLoader.js +165 -165
  149. package/dist/cjs/image/ImageLoader.js.map +0 -0
  150. package/dist/cjs/index.d.ts +28 -28
  151. package/dist/cjs/index.js +42 -42
  152. package/dist/cjs/index.js.map +0 -0
  153. package/dist/cjs/inspector/SceneInspector.d.ts +27 -27
  154. package/dist/cjs/inspector/SceneInspector.js +365 -365
  155. package/dist/cjs/inspector/SceneInspector.js.map +0 -0
  156. package/dist/cjs/inspector/SceneStats.d.ts +22 -22
  157. package/dist/cjs/inspector/SceneStats.js +52 -52
  158. package/dist/cjs/inspector/SceneStats.js.map +0 -0
  159. package/dist/cjs/instance/InstanceManager.d.ts +14 -14
  160. package/dist/cjs/instance/InstanceManager.js +57 -57
  161. package/dist/cjs/instance/InstanceManager.js.map +0 -0
  162. package/dist/cjs/instance/InstanceReference.d.ts +21 -21
  163. package/dist/cjs/instance/InstanceReference.js +48 -48
  164. package/dist/cjs/instance/InstanceReference.js.map +0 -0
  165. package/dist/cjs/instance/Instanceable.d.ts +16 -16
  166. package/dist/cjs/instance/Instanceable.js +7 -7
  167. package/dist/cjs/instance/Instanceable.js.map +0 -0
  168. package/dist/cjs/lib/OrbitControls.d.ts +64 -0
  169. package/dist/cjs/lib/OrbitControls.js +658 -0
  170. package/dist/cjs/lib/OrbitControls.js.map +1 -0
  171. package/dist/cjs/model/DisplayPosition.d.ts +11 -11
  172. package/dist/cjs/model/DisplayPosition.js +15 -15
  173. package/dist/cjs/model/DisplayPosition.js.map +0 -0
  174. package/dist/cjs/model/ElementFace.d.ts +9 -9
  175. package/dist/cjs/model/ElementFace.js +2 -2
  176. package/dist/cjs/model/ElementFace.js.map +0 -0
  177. package/dist/cjs/model/GuiLight.d.ts +4 -4
  178. package/dist/cjs/model/GuiLight.js +8 -8
  179. package/dist/cjs/model/GuiLight.js.map +0 -0
  180. package/dist/cjs/model/Model.d.ts +46 -46
  181. package/dist/cjs/model/Model.js +19 -19
  182. package/dist/cjs/model/Model.js.map +0 -0
  183. package/dist/cjs/model/ModelElement.d.ts +21 -21
  184. package/dist/cjs/model/ModelElement.js +2 -2
  185. package/dist/cjs/model/ModelElement.js.map +0 -0
  186. package/dist/cjs/model/ModelGenerator.d.ts +6 -6
  187. package/dist/cjs/model/ModelGenerator.js +26 -26
  188. package/dist/cjs/model/ModelGenerator.js.map +0 -0
  189. package/dist/cjs/model/ModelMerger.d.ts +5 -5
  190. package/dist/cjs/model/ModelMerger.js +50 -50
  191. package/dist/cjs/model/ModelMerger.js.map +0 -0
  192. package/dist/cjs/model/ModelPart.d.ts +23 -23
  193. package/dist/cjs/model/ModelPart.js +2 -2
  194. package/dist/cjs/model/ModelPart.js.map +0 -0
  195. package/dist/cjs/model/block/Block.d.ts +6 -6
  196. package/dist/cjs/model/block/Block.js +2 -2
  197. package/dist/cjs/model/block/Block.js.map +0 -0
  198. package/dist/cjs/model/block/BlockState.d.ts +23 -23
  199. package/dist/cjs/model/block/BlockState.js +2 -2
  200. package/dist/cjs/model/block/BlockState.js.map +0 -0
  201. package/dist/cjs/model/block/BlockStateProperties.d.ts +13 -13
  202. package/dist/cjs/model/block/BlockStateProperties.js +2 -2
  203. package/dist/cjs/model/block/BlockStateProperties.js.map +0 -0
  204. package/dist/cjs/model/block/scene/BlockObject.d.ts +46 -46
  205. package/dist/cjs/model/block/scene/BlockObject.js +467 -467
  206. package/dist/cjs/model/block/scene/BlockObject.js.map +0 -0
  207. package/dist/cjs/model/defaultBlockStates.json +12337 -12337
  208. package/dist/cjs/model/multiblock/MultiBlockStructure.d.ts +9 -9
  209. package/dist/cjs/model/multiblock/MultiBlockStructure.js +2 -2
  210. package/dist/cjs/model/multiblock/MultiBlockStructure.js.map +0 -0
  211. package/dist/cjs/model/multiblock/SchematicParser.d.ts +4 -4
  212. package/dist/cjs/model/multiblock/SchematicParser.js +22 -22
  213. package/dist/cjs/model/multiblock/SchematicParser.js.map +0 -0
  214. package/dist/cjs/model/multiblock/StructureParser.d.ts +70 -70
  215. package/dist/cjs/model/multiblock/StructureParser.js +51 -51
  216. package/dist/cjs/model/multiblock/StructureParser.js.map +0 -0
  217. package/dist/cjs/model/scene/ModelObject.d.ts +25 -25
  218. package/dist/cjs/model/scene/ModelObject.js +162 -162
  219. package/dist/cjs/model/scene/ModelObject.js.map +0 -0
  220. package/dist/cjs/nbt/NBTHelper.d.ts +8 -8
  221. package/dist/cjs/nbt/NBTHelper.js +41 -41
  222. package/dist/cjs/nbt/NBTHelper.js.map +0 -0
  223. package/dist/cjs/renderer/MineRenderScene.d.ts +35 -35
  224. package/dist/cjs/renderer/MineRenderScene.js +131 -131
  225. package/dist/cjs/renderer/MineRenderScene.js.map +0 -0
  226. package/dist/cjs/renderer/Renderer.d.ts +83 -78
  227. package/dist/cjs/renderer/Renderer.js +266 -258
  228. package/dist/cjs/renderer/Renderer.js.map +1 -1
  229. package/dist/cjs/renderer/SceneObject.d.ts +81 -81
  230. package/dist/cjs/renderer/SceneObject.js +399 -399
  231. package/dist/cjs/renderer/SceneObject.js.map +0 -0
  232. package/dist/cjs/renderer/SceneObjectOptions.d.ts +6 -6
  233. package/dist/cjs/renderer/SceneObjectOptions.js +2 -2
  234. package/dist/cjs/renderer/SceneObjectOptions.js.map +0 -0
  235. package/dist/cjs/request/Requests.d.ts +12 -12
  236. package/dist/cjs/request/Requests.js +38 -38
  237. package/dist/cjs/request/Requests.js.map +0 -0
  238. package/dist/cjs/skin/SkinGeometries.d.ts +5 -5
  239. package/dist/cjs/skin/SkinGeometries.js +38 -38
  240. package/dist/cjs/skin/SkinGeometries.js.map +0 -0
  241. package/dist/cjs/skin/SkinPart.d.ts +16 -16
  242. package/dist/cjs/skin/SkinPart.js +20 -20
  243. package/dist/cjs/skin/SkinPart.js.map +0 -0
  244. package/dist/cjs/skin/SkinTextureCoordinates.d.ts +5 -5
  245. package/dist/cjs/skin/SkinTextureCoordinates.js +750 -750
  246. package/dist/cjs/skin/SkinTextureCoordinates.js.map +0 -0
  247. package/dist/cjs/skin/Skins.d.ts +17 -17
  248. package/dist/cjs/skin/Skins.js +167 -167
  249. package/dist/cjs/skin/Skins.js.map +0 -0
  250. package/dist/cjs/skin/scene/SkinObject.d.ts +21 -21
  251. package/dist/cjs/skin/scene/SkinObject.js +118 -118
  252. package/dist/cjs/skin/scene/SkinObject.js.map +0 -0
  253. package/dist/cjs/texture/TextureAtlas.d.ts +29 -29
  254. package/dist/cjs/texture/TextureAtlas.js +25 -25
  255. package/dist/cjs/texture/TextureAtlas.js.map +0 -0
  256. package/dist/cjs/texture/TextureLoader.d.ts +6 -6
  257. package/dist/cjs/texture/TextureLoader.js +33 -33
  258. package/dist/cjs/texture/TextureLoader.js.map +0 -0
  259. package/dist/cjs/texture/Textures.d.ts +10 -10
  260. package/dist/cjs/texture/Textures.js +51 -51
  261. package/dist/cjs/texture/Textures.js.map +0 -0
  262. package/dist/cjs/three/BufferGeometryUtils.d.ts +44 -0
  263. package/dist/cjs/three/BufferGeometryUtils.js +554 -0
  264. package/dist/cjs/three/BufferGeometryUtils.js.map +1 -0
  265. package/dist/cjs/three/OrbitControls.d.ts +59 -0
  266. package/dist/cjs/three/OrbitControls.js +790 -0
  267. package/dist/cjs/three/OrbitControls.js.map +1 -0
  268. package/dist/cjs/util/BatchedExecutor.d.ts +12 -12
  269. package/dist/cjs/util/BatchedExecutor.js +25 -25
  270. package/dist/cjs/util/BatchedExecutor.js.map +0 -0
  271. package/dist/cjs/util/log.d.ts +1 -1
  272. package/dist/cjs/util/log.js +31 -31
  273. package/dist/cjs/util/log.js.map +0 -0
  274. package/dist/cjs/util/model.d.ts +11 -11
  275. package/dist/cjs/util/model.js +181 -181
  276. package/dist/cjs/util/model.js.map +0 -0
  277. package/dist/cjs/util/performance.d.ts +3 -3
  278. package/dist/cjs/util/performance.js +18 -18
  279. package/dist/cjs/util/performance.js.map +0 -0
  280. package/dist/cjs/util/three.d.ts +8 -8
  281. package/dist/cjs/util/three.js +27 -27
  282. package/dist/cjs/util/three.js.map +0 -0
  283. package/dist/cjs/util/util.d.ts +19 -19
  284. package/dist/cjs/util/util.js +142 -142
  285. package/dist/cjs/util/util.js.map +0 -0
  286. package/dist/cjs/world/BlockInfo.d.ts +6 -6
  287. package/dist/cjs/world/BlockInfo.js +2 -2
  288. package/dist/cjs/world/BlockInfo.js.map +0 -0
  289. package/dist/cjs/world/Chunk.d.ts +33 -33
  290. package/dist/cjs/world/Chunk.js +131 -131
  291. package/dist/cjs/world/Chunk.js.map +1 -1
  292. package/dist/cjs/world/MineRenderWorld.d.ts +31 -31
  293. package/dist/cjs/world/MineRenderWorld.js +132 -132
  294. package/dist/cjs/world/MineRenderWorld.js.map +0 -0
  295. package/dist/esm/AnimatorFunction.d.ts +3 -3
  296. package/dist/esm/AnimatorFunction.js +1 -1
  297. package/dist/esm/AnimatorFunction.js.map +0 -0
  298. package/dist/esm/Axis.d.ts +8 -8
  299. package/dist/esm/Axis.js +18 -18
  300. package/dist/esm/Axis.js.map +0 -0
  301. package/dist/esm/CubeFace.d.ts +17 -17
  302. package/dist/esm/CubeFace.js +19 -19
  303. package/dist/esm/CubeFace.js.map +0 -0
  304. package/dist/esm/Disposable.d.ts +4 -4
  305. package/dist/esm/Disposable.js +3 -3
  306. package/dist/esm/Disposable.js.map +0 -0
  307. package/dist/esm/Env.d.ts +2 -2
  308. package/dist/esm/Env.js +2 -2
  309. package/dist/esm/Env.js.map +0 -0
  310. package/dist/esm/ExtractableImageData.d.ts +5 -5
  311. package/dist/esm/ExtractableImageData.js +1 -1
  312. package/dist/esm/ExtractableImageData.js.map +0 -0
  313. package/dist/esm/Geometries.d.ts +6 -6
  314. package/dist/esm/Geometries.js +87 -87
  315. package/dist/esm/Geometries.js.map +0 -0
  316. package/dist/esm/ListAsset.d.ts +5 -5
  317. package/dist/esm/ListAsset.js +1 -1
  318. package/dist/esm/ListAsset.js.map +0 -0
  319. package/dist/esm/Materials.d.ts +9 -9
  320. package/dist/esm/Materials.js +72 -72
  321. package/dist/esm/Materials.js.map +0 -0
  322. package/dist/esm/Meshes.d.ts +6 -6
  323. package/dist/esm/Meshes.js +16 -16
  324. package/dist/esm/Meshes.js.map +0 -0
  325. package/dist/esm/MinecraftAsset.d.ts +7 -7
  326. package/dist/esm/MinecraftAsset.js +1 -1
  327. package/dist/esm/MinecraftAsset.js.map +0 -0
  328. package/dist/esm/MinecraftCubeTexture.d.ts +26 -26
  329. package/dist/esm/MinecraftCubeTexture.js +99 -99
  330. package/dist/esm/MinecraftCubeTexture.js.map +0 -0
  331. package/dist/esm/MinecraftTextureMeta.d.ts +15 -15
  332. package/dist/esm/MinecraftTextureMeta.js +1 -1
  333. package/dist/esm/MinecraftTextureMeta.js.map +0 -0
  334. package/dist/esm/SceneStats.d.ts +5 -5
  335. package/dist/esm/SceneStats.js +7 -7
  336. package/dist/esm/SceneStats.js.map +0 -0
  337. package/dist/esm/Serializable.d.ts +3 -3
  338. package/dist/esm/Serializable.js +1 -1
  339. package/dist/esm/Serializable.js.map +0 -0
  340. package/dist/esm/Ticker.d.ts +20 -20
  341. package/dist/esm/Ticker.js +50 -50
  342. package/dist/esm/Ticker.js.map +0 -0
  343. package/dist/esm/TintColors.d.ts +1 -1
  344. package/dist/esm/TintColors.js +1 -1
  345. package/dist/esm/TintColors.js.map +0 -0
  346. package/dist/esm/Transformable.d.ts +11 -11
  347. package/dist/esm/Transformable.js +3 -3
  348. package/dist/esm/Transformable.js.map +0 -0
  349. package/dist/esm/UVMapper.d.ts +40 -40
  350. package/dist/esm/UVMapper.js +428 -424
  351. package/dist/esm/UVMapper.js.map +1 -1
  352. package/dist/esm/WrappedImage.d.ts +17 -17
  353. package/dist/esm/WrappedImage.js +45 -45
  354. package/dist/esm/WrappedImage.js.map +0 -0
  355. package/dist/esm/_model/Cube.d.ts +10 -10
  356. package/dist/esm/_model/Cube.js +1 -1
  357. package/dist/esm/_model/Cube.js.map +0 -0
  358. package/dist/esm/_model/Element.d.ts +9 -9
  359. package/dist/esm/_model/Element.js +1 -1
  360. package/dist/esm/_model/Element.js.map +0 -0
  361. package/dist/esm/_model/Face.d.ts +6 -6
  362. package/dist/esm/_model/Face.js +1 -1
  363. package/dist/esm/_model/Face.js.map +0 -0
  364. package/dist/esm/_model/Model.d.ts +4 -4
  365. package/dist/esm/_model/Model.js +1 -1
  366. package/dist/esm/_model/Model.js.map +0 -0
  367. package/dist/esm/assets/AssetKey.d.ts +26 -26
  368. package/dist/esm/assets/AssetKey.js +75 -75
  369. package/dist/esm/assets/AssetKey.js.map +0 -0
  370. package/dist/esm/assets/AssetLoader.d.ts +26 -26
  371. package/dist/esm/assets/AssetLoader.js +148 -148
  372. package/dist/esm/assets/AssetLoader.js.map +0 -0
  373. package/dist/esm/assets/Assets.d.ts +14 -14
  374. package/dist/esm/assets/Assets.js +32 -32
  375. package/dist/esm/assets/Assets.js.map +0 -0
  376. package/dist/esm/assets/BlockStates.d.ts +11 -11
  377. package/dist/esm/assets/BlockStates.js +67 -67
  378. package/dist/esm/assets/BlockStates.js.map +0 -0
  379. package/dist/esm/assets/Entities.d.ts +8 -8
  380. package/dist/esm/assets/Entities.js +49 -49
  381. package/dist/esm/assets/Entities.js.map +0 -0
  382. package/dist/esm/assets/ModelTextures.d.ts +12 -12
  383. package/dist/esm/assets/ModelTextures.js +61 -61
  384. package/dist/esm/assets/ModelTextures.js.map +0 -0
  385. package/dist/esm/assets/Models.d.ts +12 -12
  386. package/dist/esm/assets/Models.js +90 -90
  387. package/dist/esm/assets/Models.js.map +0 -0
  388. package/dist/esm/bedrock/BedrockEntityDescription.d.ts +19 -19
  389. package/dist/esm/bedrock/BedrockEntityDescription.js +1 -1
  390. package/dist/esm/bedrock/BedrockEntityDescription.js.map +0 -0
  391. package/dist/esm/bedrock/BedrockEntityFile.d.ts +7 -7
  392. package/dist/esm/bedrock/BedrockEntityFile.js +1 -1
  393. package/dist/esm/bedrock/BedrockEntityFile.js.map +0 -0
  394. package/dist/esm/bedrock/BedrockGeometry.d.ts +27 -27
  395. package/dist/esm/bedrock/BedrockGeometry.js +1 -1
  396. package/dist/esm/bedrock/BedrockGeometry.js.map +0 -0
  397. package/dist/esm/bedrock/BedrockGeometryFile.d.ts +5 -5
  398. package/dist/esm/bedrock/BedrockGeometryFile.js +1 -1
  399. package/dist/esm/bedrock/BedrockGeometryFile.js.map +0 -0
  400. package/dist/esm/cache/CacheKey.d.ts +28 -28
  401. package/dist/esm/cache/CacheKey.js +18 -18
  402. package/dist/esm/cache/CacheKey.js.map +0 -0
  403. package/dist/esm/cache/Caching.d.ts +29 -29
  404. package/dist/esm/cache/Caching.js +88 -88
  405. package/dist/esm/cache/Caching.js.map +0 -0
  406. package/dist/esm/cache/PersistentCache.d.ts +15 -15
  407. package/dist/esm/cache/PersistentCache.js +104 -104
  408. package/dist/esm/cache/PersistentCache.js.map +0 -0
  409. package/dist/esm/canvas/CanvasCompat.d.ts +5 -5
  410. package/dist/esm/canvas/CanvasCompat.js +28 -28
  411. package/dist/esm/canvas/CanvasCompat.js.map +0 -0
  412. package/dist/esm/canvas/CanvasImage.d.ts +18 -18
  413. package/dist/esm/canvas/CanvasImage.js +40 -40
  414. package/dist/esm/canvas/CanvasImage.js.map +0 -0
  415. package/dist/esm/entity/EntityModel.d.ts +7 -7
  416. package/dist/esm/entity/EntityModel.js +1 -1
  417. package/dist/esm/entity/EntityModel.js.map +0 -0
  418. package/dist/esm/entity/blockEntityModels.json +1401 -1401
  419. package/dist/esm/entity/entityModels.json +20623 -20623
  420. package/dist/esm/entity/scene/EntityObject.d.ts +20 -20
  421. package/dist/esm/entity/scene/EntityObject.js +103 -103
  422. package/dist/esm/entity/scene/EntityObject.js.map +0 -0
  423. package/dist/esm/error/MineRenderError.d.ts +4 -4
  424. package/dist/esm/error/MineRenderError.js +10 -10
  425. package/dist/esm/error/MineRenderError.js.map +0 -0
  426. package/dist/esm/gui/scene/GuiObject.d.ts +6 -6
  427. package/dist/esm/gui/scene/GuiObject.js +3 -3
  428. package/dist/esm/gui/scene/GuiObject.js.map +0 -0
  429. package/dist/esm/image/ImageLoader.d.ts +28 -28
  430. package/dist/esm/image/ImageLoader.js +158 -158
  431. package/dist/esm/image/ImageLoader.js.map +0 -0
  432. package/dist/esm/index.d.ts +28 -28
  433. package/dist/esm/index.js +30 -30
  434. package/dist/esm/index.js.map +0 -0
  435. package/dist/esm/inspector/SceneInspector.d.ts +27 -27
  436. package/dist/esm/inspector/SceneInspector.js +361 -361
  437. package/dist/esm/inspector/SceneInspector.js.map +0 -0
  438. package/dist/esm/inspector/SceneStats.d.ts +22 -22
  439. package/dist/esm/inspector/SceneStats.js +48 -48
  440. package/dist/esm/inspector/SceneStats.js.map +0 -0
  441. package/dist/esm/instance/InstanceManager.d.ts +14 -14
  442. package/dist/esm/instance/InstanceManager.js +52 -52
  443. package/dist/esm/instance/InstanceManager.js.map +0 -0
  444. package/dist/esm/instance/InstanceReference.d.ts +21 -21
  445. package/dist/esm/instance/InstanceReference.js +43 -43
  446. package/dist/esm/instance/InstanceReference.js.map +0 -0
  447. package/dist/esm/instance/Instanceable.d.ts +16 -16
  448. package/dist/esm/instance/Instanceable.js +3 -3
  449. package/dist/esm/instance/Instanceable.js.map +0 -0
  450. package/dist/esm/lib/OrbitControls.d.ts +64 -0
  451. package/dist/esm/lib/OrbitControls.js +636 -0
  452. package/dist/esm/lib/OrbitControls.js.map +1 -0
  453. package/dist/esm/model/DisplayPosition.d.ts +11 -11
  454. package/dist/esm/model/DisplayPosition.js +12 -12
  455. package/dist/esm/model/DisplayPosition.js.map +0 -0
  456. package/dist/esm/model/ElementFace.d.ts +9 -9
  457. package/dist/esm/model/ElementFace.js +1 -1
  458. package/dist/esm/model/ElementFace.js.map +0 -0
  459. package/dist/esm/model/GuiLight.d.ts +4 -4
  460. package/dist/esm/model/GuiLight.js +5 -5
  461. package/dist/esm/model/GuiLight.js.map +0 -0
  462. package/dist/esm/model/Model.d.ts +46 -46
  463. package/dist/esm/model/Model.js +13 -13
  464. package/dist/esm/model/Model.js.map +0 -0
  465. package/dist/esm/model/ModelElement.d.ts +21 -21
  466. package/dist/esm/model/ModelElement.js +1 -1
  467. package/dist/esm/model/ModelElement.js.map +0 -0
  468. package/dist/esm/model/ModelGenerator.d.ts +6 -6
  469. package/dist/esm/model/ModelGenerator.js +22 -22
  470. package/dist/esm/model/ModelGenerator.js.map +0 -0
  471. package/dist/esm/model/ModelMerger.d.ts +5 -5
  472. package/dist/esm/model/ModelMerger.js +43 -43
  473. package/dist/esm/model/ModelMerger.js.map +0 -0
  474. package/dist/esm/model/ModelPart.d.ts +23 -23
  475. package/dist/esm/model/ModelPart.js +1 -1
  476. package/dist/esm/model/ModelPart.js.map +0 -0
  477. package/dist/esm/model/block/Block.d.ts +6 -6
  478. package/dist/esm/model/block/Block.js +1 -1
  479. package/dist/esm/model/block/Block.js.map +0 -0
  480. package/dist/esm/model/block/BlockState.d.ts +23 -23
  481. package/dist/esm/model/block/BlockState.js +1 -1
  482. package/dist/esm/model/block/BlockState.js.map +0 -0
  483. package/dist/esm/model/block/BlockStateProperties.d.ts +13 -13
  484. package/dist/esm/model/block/BlockStateProperties.js +1 -1
  485. package/dist/esm/model/block/BlockStateProperties.js.map +0 -0
  486. package/dist/esm/model/block/scene/BlockObject.d.ts +46 -46
  487. package/dist/esm/model/block/scene/BlockObject.js +459 -459
  488. package/dist/esm/model/block/scene/BlockObject.js.map +0 -0
  489. package/dist/esm/model/defaultBlockStates.json +12337 -12337
  490. package/dist/esm/model/multiblock/MultiBlockStructure.d.ts +9 -9
  491. package/dist/esm/model/multiblock/MultiBlockStructure.js +1 -1
  492. package/dist/esm/model/multiblock/MultiBlockStructure.js.map +0 -0
  493. package/dist/esm/model/multiblock/SchematicParser.d.ts +4 -4
  494. package/dist/esm/model/multiblock/SchematicParser.js +18 -18
  495. package/dist/esm/model/multiblock/SchematicParser.js.map +0 -0
  496. package/dist/esm/model/multiblock/StructureParser.d.ts +70 -70
  497. package/dist/esm/model/multiblock/StructureParser.js +47 -47
  498. package/dist/esm/model/multiblock/StructureParser.js.map +0 -0
  499. package/dist/esm/model/scene/ModelObject.d.ts +25 -25
  500. package/dist/esm/model/scene/ModelObject.js +154 -154
  501. package/dist/esm/model/scene/ModelObject.js.map +0 -0
  502. package/dist/esm/nbt/NBTHelper.d.ts +8 -8
  503. package/dist/esm/nbt/NBTHelper.js +18 -18
  504. package/dist/esm/nbt/NBTHelper.js.map +0 -0
  505. package/dist/esm/renderer/MineRenderScene.d.ts +35 -35
  506. package/dist/esm/renderer/MineRenderScene.js +123 -123
  507. package/dist/esm/renderer/MineRenderScene.js.map +0 -0
  508. package/dist/esm/renderer/Renderer.d.ts +83 -78
  509. package/dist/esm/renderer/Renderer.js +259 -251
  510. package/dist/esm/renderer/Renderer.js.map +1 -1
  511. package/dist/esm/renderer/SceneObject.d.ts +81 -81
  512. package/dist/esm/renderer/SceneObject.js +391 -391
  513. package/dist/esm/renderer/SceneObject.js.map +0 -0
  514. package/dist/esm/renderer/SceneObjectOptions.d.ts +6 -6
  515. package/dist/esm/renderer/SceneObjectOptions.js +1 -1
  516. package/dist/esm/renderer/SceneObjectOptions.js.map +0 -0
  517. package/dist/esm/request/Requests.d.ts +12 -12
  518. package/dist/esm/request/Requests.js +31 -31
  519. package/dist/esm/request/Requests.js.map +0 -0
  520. package/dist/esm/skin/SkinGeometries.d.ts +5 -5
  521. package/dist/esm/skin/SkinGeometries.js +32 -32
  522. package/dist/esm/skin/SkinGeometries.js.map +0 -0
  523. package/dist/esm/skin/SkinPart.d.ts +16 -16
  524. package/dist/esm/skin/SkinPart.js +17 -17
  525. package/dist/esm/skin/SkinPart.js.map +0 -0
  526. package/dist/esm/skin/SkinTextureCoordinates.d.ts +5 -5
  527. package/dist/esm/skin/SkinTextureCoordinates.js +747 -747
  528. package/dist/esm/skin/SkinTextureCoordinates.js.map +0 -0
  529. package/dist/esm/skin/Skins.d.ts +17 -17
  530. package/dist/esm/skin/Skins.js +163 -163
  531. package/dist/esm/skin/Skins.js.map +0 -0
  532. package/dist/esm/skin/scene/SkinObject.d.ts +21 -21
  533. package/dist/esm/skin/scene/SkinObject.js +111 -111
  534. package/dist/esm/skin/scene/SkinObject.js.map +0 -0
  535. package/dist/esm/texture/TextureAtlas.d.ts +29 -29
  536. package/dist/esm/texture/TextureAtlas.js +21 -21
  537. package/dist/esm/texture/TextureAtlas.js.map +0 -0
  538. package/dist/esm/texture/TextureLoader.d.ts +6 -6
  539. package/dist/esm/texture/TextureLoader.js +29 -29
  540. package/dist/esm/texture/TextureLoader.js.map +0 -0
  541. package/dist/esm/texture/Textures.d.ts +10 -10
  542. package/dist/esm/texture/Textures.js +28 -28
  543. package/dist/esm/texture/Textures.js.map +0 -0
  544. package/dist/esm/three/BufferGeometryUtils.d.ts +44 -0
  545. package/dist/esm/three/BufferGeometryUtils.js +544 -0
  546. package/dist/esm/three/BufferGeometryUtils.js.map +1 -0
  547. package/dist/esm/three/OrbitControls.d.ts +59 -0
  548. package/dist/esm/three/OrbitControls.js +786 -0
  549. package/dist/esm/three/OrbitControls.js.map +1 -0
  550. package/dist/esm/util/BatchedExecutor.d.ts +12 -12
  551. package/dist/esm/util/BatchedExecutor.js +21 -21
  552. package/dist/esm/util/BatchedExecutor.js.map +0 -0
  553. package/dist/esm/util/log.d.ts +1 -1
  554. package/dist/esm/util/log.js +27 -27
  555. package/dist/esm/util/log.js.map +0 -0
  556. package/dist/esm/util/model.d.ts +11 -11
  557. package/dist/esm/util/model.js +172 -172
  558. package/dist/esm/util/model.js.map +0 -0
  559. package/dist/esm/util/performance.d.ts +3 -3
  560. package/dist/esm/util/performance.js +12 -12
  561. package/dist/esm/util/performance.js.map +0 -0
  562. package/dist/esm/util/three.d.ts +8 -8
  563. package/dist/esm/util/three.js +18 -18
  564. package/dist/esm/util/three.js.map +0 -0
  565. package/dist/esm/util/util.d.ts +19 -19
  566. package/dist/esm/util/util.js +106 -106
  567. package/dist/esm/util/util.js.map +0 -0
  568. package/dist/esm/world/BlockInfo.d.ts +6 -6
  569. package/dist/esm/world/BlockInfo.js +1 -1
  570. package/dist/esm/world/BlockInfo.js.map +0 -0
  571. package/dist/esm/world/Chunk.d.ts +33 -33
  572. package/dist/esm/world/Chunk.js +127 -127
  573. package/dist/esm/world/Chunk.js.map +1 -1
  574. package/dist/esm/world/MineRenderWorld.d.ts +31 -31
  575. package/dist/esm/world/MineRenderWorld.js +128 -128
  576. package/dist/esm/world/MineRenderWorld.js.map +0 -0
  577. package/docs/CNAME +0 -0
  578. package/docs/ast/source/.external-ecmascript.js.json +0 -0
  579. package/docs/ast/source/combined/index.js.json +0 -0
  580. package/docs/ast/source/entity/index.js.json +0 -0
  581. package/docs/ast/source/functions.js.json +0 -0
  582. package/docs/ast/source/gui/guiHelper.js.json +0 -0
  583. package/docs/ast/source/gui/guiPositions.js.json +0 -0
  584. package/docs/ast/source/gui/index.js.json +0 -0
  585. package/docs/ast/source/lib/OrbitControls.js.json +0 -0
  586. package/docs/ast/source/lib/merge.js.json +0 -0
  587. package/docs/ast/source/model/ModelWorker.js.json +0 -0
  588. package/docs/ast/source/model/index.js.json +0 -0
  589. package/docs/ast/source/model/modelConverter.js.json +0 -0
  590. package/docs/ast/source/model/modelFunctions.js.json +0 -0
  591. package/docs/ast/source/renderBase.js.json +0 -0
  592. package/docs/ast/source/skin/index.js.json +0 -0
  593. package/docs/ast/source/skin/texturePositions.js.json +0 -0
  594. package/docs/badge.svg +0 -0
  595. package/docs/class/src/combined/index.js~CombinedRender.html +0 -0
  596. package/docs/class/src/entity/index.js~EntityRender.html +0 -0
  597. package/docs/class/src/gui/index.js~GuiRender.html +0 -0
  598. package/docs/class/src/model/index.js~ModelRender.html +0 -0
  599. package/docs/class/src/renderBase.js~Render.html +0 -0
  600. package/docs/class/src/skin/index.js~SkinRender.html +0 -0
  601. package/docs/coverage.json +0 -0
  602. package/docs/css/github.css +0 -0
  603. package/docs/css/identifiers.css +0 -0
  604. package/docs/css/manual.css +0 -0
  605. package/docs/css/prettify-tomorrow.css +0 -0
  606. package/docs/css/search.css +0 -0
  607. package/docs/css/source.css +0 -0
  608. package/docs/css/style.css +0 -0
  609. package/docs/css/test.css +0 -0
  610. package/docs/file/src/combined/index.js.html +0 -0
  611. package/docs/file/src/entity/index.js.html +0 -0
  612. package/docs/file/src/functions.js.html +0 -0
  613. package/docs/file/src/gui/guiHelper.js.html +0 -0
  614. package/docs/file/src/gui/guiPositions.js.html +0 -0
  615. package/docs/file/src/gui/index.js.html +0 -0
  616. package/docs/file/src/lib/OrbitControls.js.html +0 -0
  617. package/docs/file/src/lib/merge.js.html +0 -0
  618. package/docs/file/src/model/ModelWorker.js.html +0 -0
  619. package/docs/file/src/model/index.js.html +0 -0
  620. package/docs/file/src/model/modelConverter.js.html +0 -0
  621. package/docs/file/src/model/modelFunctions.js.html +0 -0
  622. package/docs/file/src/renderBase.js.html +0 -0
  623. package/docs/file/src/skin/index.js.html +0 -0
  624. package/docs/file/src/skin/texturePositions.js.html +0 -0
  625. package/docs/function/index.html +0 -0
  626. package/docs/identifiers.html +0 -0
  627. package/docs/image/badge.svg +0 -0
  628. package/docs/image/brand_logo.png +0 -0
  629. package/docs/image/esdoc-logo-mini-black.png +0 -0
  630. package/docs/image/esdoc-logo-mini.png +0 -0
  631. package/docs/image/github.png +0 -0
  632. package/docs/image/manual-badge.svg +0 -0
  633. package/docs/image/search.png +0 -0
  634. package/docs/index.html +0 -0
  635. package/docs/index.json +0 -0
  636. package/docs/lint.json +0 -0
  637. package/docs/script/inherited-summary.js +0 -0
  638. package/docs/script/inner-link.js +0 -0
  639. package/docs/script/manual.js +0 -0
  640. package/docs/script/patch-for-local.js +0 -0
  641. package/docs/script/prettify/Apache-License-2.0.txt +0 -0
  642. package/docs/script/prettify/prettify.js +0 -0
  643. package/docs/script/pretty-print.js +0 -0
  644. package/docs/script/search.js +0 -0
  645. package/docs/script/search_index.js +0 -0
  646. package/docs/script/test-summary.js +0 -0
  647. package/docs/source.html +0 -0
  648. package/docs/variable/index.html +0 -0
  649. package/embed/model/index.html +0 -0
  650. package/embed/skin/index.html +0 -0
  651. package/favicon.ico +0 -0
  652. package/gulpfile.js +2 -1
  653. package/img/minerender-x128.png +0 -0
  654. package/img/minerender-x256.png +0 -0
  655. package/img/minerender-x256.webp +0 -0
  656. package/img/minerender-x512.png +0 -0
  657. package/img/minerender-x64.png +0 -0
  658. package/img/minerender.svg +0 -0
  659. package/img/minerender_block_gray.png +0 -0
  660. package/img/minerender_steve.png +0 -0
  661. package/img/minerender_steve_gray.png +0 -0
  662. package/img/minerender_steve_gray_blur.png +0 -0
  663. package/img/optifine_cape.png +0 -0
  664. package/img/optifine_hires_cape.png +0 -0
  665. package/index.html +0 -0
  666. package/js/data.js +0 -0
  667. package/js/data.min.js.map +0 -0
  668. package/js/main.js +0 -0
  669. package/js/main.min.js.map +0 -0
  670. package/keybase.txt +0 -0
  671. package/manifest.json +0 -0
  672. package/mccolor.js +0 -0
  673. package/nameToUuid.php +0 -0
  674. package/package.json +14 -9
  675. package/renovate.json +0 -0
  676. package/res/bedrockSource.txt +0 -0
  677. package/res/idsToNames.json +0 -0
  678. package/res/mc/.htaccess +0 -0
  679. package/res/mc/index.php +0 -0
  680. package/res/models/entities/agent.json +0 -0
  681. package/res/models/entities/armor_stand.json +0 -0
  682. package/res/models/entities/bat.json +0 -0
  683. package/res/models/entities/bed.json +0 -0
  684. package/res/models/entities/blaze.json +0 -0
  685. package/res/models/entities/cape.json +0 -0
  686. package/res/models/entities/chalkboard_large.json +0 -0
  687. package/res/models/entities/chalkboard_medium.json +0 -0
  688. package/res/models/entities/chalkboard_small.json +0 -0
  689. package/res/models/entities/chicken.json +0 -0
  690. package/res/models/entities/cod.json +0 -0
  691. package/res/models/entities/cow.json +0 -0
  692. package/res/models/entities/creeper.charged.json +0 -0
  693. package/res/models/entities/creeper.json +0 -0
  694. package/res/models/entities/dolphin.json +0 -0
  695. package/res/models/entities/dragon.json +0 -0
  696. package/res/models/entities/dragon_head.json +0 -0
  697. package/res/models/entities/enderman.json +0 -0
  698. package/res/models/entities/evoker.json +0 -0
  699. package/res/models/entities/ghast.json +0 -0
  700. package/res/models/entities/guardian.json +0 -0
  701. package/res/models/entities/horse.json +0 -0
  702. package/res/models/entities/horse.v2.json +0 -0
  703. package/res/models/entities/humanoid.armor1.json +0 -0
  704. package/res/models/entities/humanoid.armor2.json +0 -0
  705. package/res/models/entities/humanoid.custom.json +0 -0
  706. package/res/models/entities/humanoid.customSlim.json +0 -0
  707. package/res/models/entities/humanoid.json +0 -0
  708. package/res/models/entities/irongolem.json +0 -0
  709. package/res/models/entities/lavaslime.json +0 -0
  710. package/res/models/entities/llama.json +0 -0
  711. package/res/models/entities/llamaspit.json +0 -0
  712. package/res/models/entities/mob_head.json +0 -0
  713. package/res/models/entities/mooshroom.json +0 -0
  714. package/res/models/entities/npc.json +0 -0
  715. package/res/models/entities/ocelot.json +0 -0
  716. package/res/models/entities/parrot.json +0 -0
  717. package/res/models/entities/pig.json +0 -0
  718. package/res/models/entities/pigzombie.baby.json +0 -0
  719. package/res/models/entities/pigzombie.json +0 -0
  720. package/res/models/entities/player_head.json +0 -0
  721. package/res/models/entities/polarbear.json +0 -0
  722. package/res/models/entities/pufferfish.large.json +0 -0
  723. package/res/models/entities/pufferfish.mid.json +0 -0
  724. package/res/models/entities/pufferfish.small.json +0 -0
  725. package/res/models/entities/quadruped.json +0 -0
  726. package/res/models/entities/rabbit.json +0 -0
  727. package/res/models/entities/salmon.json +0 -0
  728. package/res/models/entities/sheep.json +0 -0
  729. package/res/models/entities/sheep.sheared.json +0 -0
  730. package/res/models/entities/shulker.json +0 -0
  731. package/res/models/entities/silverfish.json +0 -0
  732. package/res/models/entities/skeleton.json +0 -0
  733. package/res/models/entities/skeleton.stray.json +0 -0
  734. package/res/models/entities/skeleton.wither.json +0 -0
  735. package/res/models/entities/slime.armor.json +0 -0
  736. package/res/models/entities/slime.json +0 -0
  737. package/res/models/entities/snowgolem.json +0 -0
  738. package/res/models/entities/spider.json +0 -0
  739. package/res/models/entities/squid.json +0 -0
  740. package/res/models/entities/stray.armor.json +0 -0
  741. package/res/models/entities/trident.json +0 -0
  742. package/res/models/entities/tropicalfish_a.json +0 -0
  743. package/res/models/entities/tropicalfish_b.json +0 -0
  744. package/res/models/entities/turtle.json +0 -0
  745. package/res/models/entities/vex.json +0 -0
  746. package/res/models/entities/villager.json +0 -0
  747. package/res/models/entities/villager.witch.json +0 -0
  748. package/res/models/entities/vindicator.json +0 -0
  749. package/res/models/entities/witherBoss.armor.json +0 -0
  750. package/res/models/entities/witherBoss.json +0 -0
  751. package/res/models/entities/wolf.json +0 -0
  752. package/res/models/entities/zombie.drowned.json +0 -0
  753. package/res/models/entities/zombie.husk.json +0 -0
  754. package/res/models/entities/zombie.json +0 -0
  755. package/res/models/entities/zombie.villager.json +0 -0
  756. package/res/tools/bedrock/bedrockEntityConverter.js +0 -0
  757. package/res/tools/bedrock/convertedMobs/agent.json +0 -0
  758. package/res/tools/bedrock/convertedMobs/bed.json +0 -0
  759. package/res/tools/bedrock/convertedMobs/cape.json +0 -0
  760. package/res/tools/bedrock/convertedMobs/chalkboard_large.json +0 -0
  761. package/res/tools/bedrock/convertedMobs/chalkboard_medium.json +0 -0
  762. package/res/tools/bedrock/convertedMobs/chalkboard_small.json +0 -0
  763. package/res/tools/bedrock/convertedMobs/dragon.json +0 -0
  764. package/res/tools/bedrock/convertedMobs/dragon_head.json +0 -0
  765. package/res/tools/bedrock/convertedMobs/elytra.json +0 -0
  766. package/res/tools/bedrock/convertedMobs/humanoid.armor.boots.json +0 -0
  767. package/res/tools/bedrock/convertedMobs/humanoid.armor.chestplate.json +0 -0
  768. package/res/tools/bedrock/convertedMobs/humanoid.armor.helmet.json +0 -0
  769. package/res/tools/bedrock/convertedMobs/humanoid.armor.leggings.json +0 -0
  770. package/res/tools/bedrock/convertedMobs/humanoid.armor1.json +0 -0
  771. package/res/tools/bedrock/convertedMobs/humanoid.armor2.json +0 -0
  772. package/res/tools/bedrock/convertedMobs/humanoid.custom.json +0 -0
  773. package/res/tools/bedrock/convertedMobs/humanoid.customSlim.json +0 -0
  774. package/res/tools/bedrock/convertedMobs/humanoid.json +0 -0
  775. package/res/tools/bedrock/convertedMobs/irongolem.json +0 -0
  776. package/res/tools/bedrock/convertedMobs/mob_head.json +0 -0
  777. package/res/tools/bedrock/convertedMobs/player_head.json +0 -0
  778. package/res/tools/bedrock/convertedMobs/quadruped.json +0 -0
  779. package/res/tools/bedrock/convertedMobs/rsion.json +0 -0
  780. package/res/tools/bedrock/convertedMobs/trident.json +0 -0
  781. package/res/tools/bedrock/mobs.json +0 -0
  782. package/res/tools/java/javaSourceParser.js +0 -0
  783. package/res/tools/java/parsedToModel.js +0 -0
  784. package/server/index.js +0 -0
  785. package/src/AnimatorFunction.d.ts +0 -0
  786. package/src/AnimatorFunction.js +0 -0
  787. package/src/AnimatorFunction.js.map +0 -0
  788. package/src/AnimatorFunction.ts +0 -0
  789. package/src/Axis.d.ts +0 -0
  790. package/src/Axis.js +0 -0
  791. package/src/Axis.js.map +0 -0
  792. package/src/Axis.ts +0 -0
  793. package/src/CubeFace.d.ts +0 -0
  794. package/src/CubeFace.js +0 -0
  795. package/src/CubeFace.js.map +0 -0
  796. package/src/CubeFace.ts +0 -0
  797. package/src/Disposable.d.ts +0 -0
  798. package/src/Disposable.js +0 -0
  799. package/src/Disposable.js.map +0 -0
  800. package/src/Disposable.ts +0 -0
  801. package/src/Env.d.ts +0 -0
  802. package/src/Env.js +0 -0
  803. package/src/Env.js.map +0 -0
  804. package/src/Env.ts +0 -0
  805. package/src/ExtractableImageData.d.ts +0 -0
  806. package/src/ExtractableImageData.js +0 -0
  807. package/src/ExtractableImageData.js.map +0 -0
  808. package/src/ExtractableImageData.ts +0 -0
  809. package/src/Geometries.d.ts +0 -0
  810. package/src/Geometries.js +0 -0
  811. package/src/Geometries.js.map +0 -0
  812. package/src/Geometries.ts +0 -0
  813. package/src/ListAsset.d.ts +0 -0
  814. package/src/ListAsset.js +0 -0
  815. package/src/ListAsset.js.map +0 -0
  816. package/src/ListAsset.ts +0 -0
  817. package/src/Materials.d.ts +0 -0
  818. package/src/Materials.js +0 -0
  819. package/src/Materials.js.map +0 -0
  820. package/src/Materials.ts +0 -0
  821. package/src/Meshes.d.ts +0 -0
  822. package/src/Meshes.js +0 -0
  823. package/src/Meshes.js.map +0 -0
  824. package/src/Meshes.ts +0 -0
  825. package/src/MinecraftAsset.d.ts +0 -0
  826. package/src/MinecraftAsset.js +0 -0
  827. package/src/MinecraftAsset.js.map +0 -0
  828. package/src/MinecraftAsset.ts +0 -0
  829. package/src/MinecraftCubeTexture.d.ts +0 -0
  830. package/src/MinecraftCubeTexture.js +0 -0
  831. package/src/MinecraftCubeTexture.js.map +0 -0
  832. package/src/MinecraftCubeTexture.ts +0 -0
  833. package/src/MinecraftTextureMeta.d.ts +0 -0
  834. package/src/MinecraftTextureMeta.js +0 -0
  835. package/src/MinecraftTextureMeta.js.map +0 -0
  836. package/src/MinecraftTextureMeta.ts +0 -0
  837. package/src/SceneStats.d.ts +0 -0
  838. package/src/SceneStats.js +0 -0
  839. package/src/SceneStats.js.map +0 -0
  840. package/src/SceneStats.ts +0 -0
  841. package/src/Serializable.d.ts +0 -0
  842. package/src/Serializable.js +0 -0
  843. package/src/Serializable.js.map +0 -0
  844. package/src/Serializable.ts +0 -0
  845. package/src/Ticker.d.ts +0 -0
  846. package/src/Ticker.js +0 -0
  847. package/src/Ticker.js.map +0 -0
  848. package/src/Ticker.ts +0 -0
  849. package/src/TintColors.ts +0 -0
  850. package/src/Transformable.d.ts +0 -0
  851. package/src/Transformable.js +0 -0
  852. package/src/Transformable.js.map +0 -0
  853. package/src/Transformable.ts +0 -0
  854. package/src/UVMapper.d.ts +0 -0
  855. package/src/UVMapper.js +0 -0
  856. package/src/UVMapper.js.map +0 -0
  857. package/src/UVMapper.ts +4 -0
  858. package/src/WrappedImage.d.ts +0 -0
  859. package/src/WrappedImage.js +0 -0
  860. package/src/WrappedImage.js.map +0 -0
  861. package/src/WrappedImage.ts +0 -0
  862. package/src/_model/Cube.ts +0 -0
  863. package/src/_model/Element.ts +0 -0
  864. package/src/_model/Face.ts +0 -0
  865. package/src/_model/Model.ts +0 -0
  866. package/src/assets/AssetKey.d.ts +0 -0
  867. package/src/assets/AssetKey.js +0 -0
  868. package/src/assets/AssetKey.js.map +0 -0
  869. package/src/assets/AssetKey.ts +0 -0
  870. package/src/assets/AssetLoader.d.ts +0 -0
  871. package/src/assets/AssetLoader.js +0 -0
  872. package/src/assets/AssetLoader.js.map +0 -0
  873. package/src/assets/AssetLoader.ts +0 -0
  874. package/src/assets/Assets.d.ts +0 -0
  875. package/src/assets/Assets.js +0 -0
  876. package/src/assets/Assets.js.map +0 -0
  877. package/src/assets/Assets.ts +0 -0
  878. package/src/assets/BlockStates.d.ts +0 -0
  879. package/src/assets/BlockStates.js +0 -0
  880. package/src/assets/BlockStates.js.map +0 -0
  881. package/src/assets/BlockStates.ts +0 -0
  882. package/src/assets/Entities.d.ts +0 -0
  883. package/src/assets/Entities.js +0 -0
  884. package/src/assets/Entities.js.map +0 -0
  885. package/src/assets/Entities.ts +0 -0
  886. package/src/assets/ModelTextures.d.ts +0 -0
  887. package/src/assets/ModelTextures.js +0 -0
  888. package/src/assets/ModelTextures.js.map +0 -0
  889. package/src/assets/ModelTextures.ts +0 -0
  890. package/src/assets/Models.d.ts +0 -0
  891. package/src/assets/Models.js +0 -0
  892. package/src/assets/Models.js.map +0 -0
  893. package/src/assets/Models.ts +0 -0
  894. package/src/bedrock/BedrockEntityDescription.ts +0 -0
  895. package/src/bedrock/BedrockEntityFile.ts +0 -0
  896. package/src/bedrock/BedrockGeometry.ts +0 -0
  897. package/src/bedrock/BedrockGeometryFile.ts +0 -0
  898. package/src/cache/CacheKey.d.ts +0 -0
  899. package/src/cache/CacheKey.js +0 -0
  900. package/src/cache/CacheKey.js.map +0 -0
  901. package/src/cache/CacheKey.ts +0 -0
  902. package/src/cache/Caching.d.ts +0 -0
  903. package/src/cache/Caching.js +0 -0
  904. package/src/cache/Caching.js.map +0 -0
  905. package/src/cache/Caching.ts +0 -0
  906. package/src/cache/PersistentCache.d.ts +0 -0
  907. package/src/cache/PersistentCache.js +0 -0
  908. package/src/cache/PersistentCache.js.map +0 -0
  909. package/src/cache/PersistentCache.ts +0 -0
  910. package/src/canvas/CanvasCompat.d.ts +0 -0
  911. package/src/canvas/CanvasCompat.js +0 -0
  912. package/src/canvas/CanvasCompat.js.map +0 -0
  913. package/src/canvas/CanvasCompat.ts +0 -0
  914. package/src/canvas/CanvasImage.d.ts +0 -0
  915. package/src/canvas/CanvasImage.js +0 -0
  916. package/src/canvas/CanvasImage.js.map +0 -0
  917. package/src/canvas/CanvasImage.ts +0 -0
  918. package/src/entity/EntityModel.d.ts +0 -0
  919. package/src/entity/EntityModel.js +0 -0
  920. package/src/entity/EntityModel.js.map +0 -0
  921. package/src/entity/EntityModel.ts +0 -0
  922. package/src/entity/blockEntityModels.json +0 -0
  923. package/src/entity/entityModels.json +0 -0
  924. package/src/entity/scene/EntityObject.d.ts +0 -0
  925. package/src/entity/scene/EntityObject.js +0 -0
  926. package/src/entity/scene/EntityObject.js.map +0 -0
  927. package/src/entity/scene/EntityObject.ts +0 -0
  928. package/src/error/MineRenderError.d.ts +0 -0
  929. package/src/error/MineRenderError.js +0 -0
  930. package/src/error/MineRenderError.js.map +0 -0
  931. package/src/error/MineRenderError.ts +0 -0
  932. package/src/gui/scene/GuiObject.ts +0 -0
  933. package/src/image/ImageLoader.d.ts +0 -0
  934. package/src/image/ImageLoader.js +0 -0
  935. package/src/image/ImageLoader.js.map +0 -0
  936. package/src/image/ImageLoader.ts +0 -0
  937. package/src/index.d.ts +0 -0
  938. package/src/index.js +0 -0
  939. package/src/index.js.map +0 -0
  940. package/src/index.ts +0 -0
  941. package/src/inspector/SceneInspector.d.ts +0 -0
  942. package/src/inspector/SceneInspector.js +0 -0
  943. package/src/inspector/SceneInspector.js.map +0 -0
  944. package/src/inspector/SceneInspector.ts +0 -0
  945. package/src/inspector/SceneStats.ts +0 -0
  946. package/src/instance/InstanceManager.ts +0 -0
  947. package/src/instance/InstanceReference.d.ts +0 -0
  948. package/src/instance/InstanceReference.js +0 -0
  949. package/src/instance/InstanceReference.js.map +0 -0
  950. package/src/instance/InstanceReference.ts +0 -0
  951. package/src/instance/Instanceable.d.ts +0 -0
  952. package/src/instance/Instanceable.js +0 -0
  953. package/src/instance/Instanceable.js.map +0 -0
  954. package/src/instance/Instanceable.ts +0 -0
  955. package/src/lib/OrbitControls.js +0 -0
  956. package/src/model/DisplayPosition.ts +0 -0
  957. package/src/model/ElementFace.d.ts +0 -0
  958. package/src/model/ElementFace.js +0 -0
  959. package/src/model/ElementFace.js.map +0 -0
  960. package/src/model/ElementFace.ts +0 -0
  961. package/src/model/GuiLight.ts +0 -0
  962. package/src/model/Model.d.ts +0 -0
  963. package/src/model/Model.js +0 -0
  964. package/src/model/Model.js.map +0 -0
  965. package/src/model/Model.ts +0 -0
  966. package/src/model/ModelElement.ts +0 -0
  967. package/src/model/ModelGenerator.ts +0 -0
  968. package/src/model/ModelMerger.ts +0 -0
  969. package/src/model/ModelPart.d.ts +0 -0
  970. package/src/model/ModelPart.js +0 -0
  971. package/src/model/ModelPart.js.map +0 -0
  972. package/src/model/ModelPart.ts +0 -0
  973. package/src/model/block/Block.ts +0 -0
  974. package/src/model/block/BlockState.ts +0 -0
  975. package/src/model/block/BlockStateProperties.ts +0 -0
  976. package/src/model/block/scene/BlockObject.ts +0 -0
  977. package/src/model/defaultBlockStates.json +0 -0
  978. package/src/model/legacyBlockList.json +0 -0
  979. package/src/model/multiblock/MultiBlockStructure.ts +0 -0
  980. package/src/model/multiblock/SchematicParser.ts +0 -0
  981. package/src/model/multiblock/StructureParser.ts +0 -0
  982. package/src/model/scene/ModelObject.ts +0 -0
  983. package/src/nbt/NBTHelper.d.ts +0 -0
  984. package/src/nbt/NBTHelper.js +0 -0
  985. package/src/nbt/NBTHelper.js.map +0 -0
  986. package/src/nbt/NBTHelper.ts +0 -0
  987. package/src/renderer/MineRenderScene.ts +0 -0
  988. package/src/renderer/Renderer.ts +12 -8
  989. package/src/renderer/SceneObject.ts +0 -0
  990. package/src/renderer/SceneObjectOptions.ts +0 -0
  991. package/src/request/Requests.ts +0 -0
  992. package/src/skin/SkinGeometries.d.ts +0 -0
  993. package/src/skin/SkinGeometries.js +0 -0
  994. package/src/skin/SkinGeometries.js.map +0 -0
  995. package/src/skin/SkinGeometries.ts +0 -0
  996. package/src/skin/SkinPart.d.ts +0 -0
  997. package/src/skin/SkinPart.js +0 -0
  998. package/src/skin/SkinPart.js.map +0 -0
  999. package/src/skin/SkinPart.ts +0 -0
  1000. package/src/skin/SkinTextureCoordinates.d.ts +0 -0
  1001. package/src/skin/SkinTextureCoordinates.js +0 -0
  1002. package/src/skin/SkinTextureCoordinates.js.map +0 -0
  1003. package/src/skin/SkinTextureCoordinates.ts +0 -0
  1004. package/src/skin/Skins.ts +0 -0
  1005. package/src/skin/playerModels.json +0 -0
  1006. package/src/skin/scene/SkinObject.d.ts +0 -0
  1007. package/src/skin/scene/SkinObject.js +0 -0
  1008. package/src/skin/scene/SkinObject.js.map +0 -0
  1009. package/src/skin/scene/SkinObject.ts +0 -0
  1010. package/src/texture/TextureAtlas.d.ts +0 -0
  1011. package/src/texture/TextureAtlas.js +0 -0
  1012. package/src/texture/TextureAtlas.js.map +0 -0
  1013. package/src/texture/TextureAtlas.ts +0 -0
  1014. package/src/texture/TextureLoader.d.ts +0 -0
  1015. package/src/texture/TextureLoader.js +0 -0
  1016. package/src/texture/TextureLoader.js.map +0 -0
  1017. package/src/texture/TextureLoader.ts +0 -0
  1018. package/src/texture/Textures.d.ts +0 -0
  1019. package/src/texture/Textures.js +0 -0
  1020. package/src/texture/Textures.js.map +0 -0
  1021. package/src/texture/Textures.ts +0 -0
  1022. package/src/three/BufferGeometryUtils.d.ts +0 -0
  1023. package/src/three/BufferGeometryUtils.js +0 -0
  1024. package/src/three/OrbitControls.d.ts +0 -0
  1025. package/src/three/OrbitControls.js +7 -6
  1026. package/src/util/BatchedExecutor.ts +0 -0
  1027. package/src/util/log.ts +0 -0
  1028. package/src/util/model.d.ts +0 -0
  1029. package/src/util/model.js +0 -0
  1030. package/src/util/model.js.map +0 -0
  1031. package/src/util/model.ts +0 -0
  1032. package/src/util/performance.ts +0 -0
  1033. package/src/util/three.d.ts +0 -0
  1034. package/src/util/three.js +0 -0
  1035. package/src/util/three.js.map +0 -0
  1036. package/src/util/three.ts +0 -0
  1037. package/src/util/util.d.ts +0 -0
  1038. package/src/util/util.js +0 -0
  1039. package/src/util/util.js.map +0 -0
  1040. package/src/util/util.ts +0 -0
  1041. package/src/world/BlockInfo.ts +0 -0
  1042. package/src/world/Chunk.ts +1 -1
  1043. package/src/world/MineRenderWorld.ts +0 -0
  1044. package/test/combined.html +0 -0
  1045. package/test/entity.html +0 -0
  1046. package/test/gui.html +0 -0
  1047. package/test/model.html +0 -0
  1048. package/test/serviceworker.js +0 -0
  1049. package/test/skin.html +0 -0
  1050. package/test/structure.html +0 -0
  1051. package/test/v2.html +0 -0
  1052. package/tsconfig-cjs.json +0 -0
  1053. package/tsconfig.json +3 -0
  1054. package/dist/bundle.js.map +0 -1
  1055. package/src/combined/index.js +0 -83
  1056. package/src/entity/index.js +0 -335
  1057. package/src/functions.js +0 -262
  1058. package/src/gui/guiHelper.js +0 -154
  1059. package/src/gui/guiPositions.js +0 -85
  1060. package/src/gui/index.js +0 -222
  1061. package/src/lib/merge.js +0 -0
  1062. package/src/model/ModelWorker.js +0 -32
  1063. package/src/model/index.js +0 -1128
  1064. package/src/model/modelConverter.js +0 -290
  1065. package/src/model/modelFunctions.js +0 -463
  1066. package/src/renderBase.js +0 -496
  1067. package/src/skin/index.js +0 -698
  1068. package/src/skin/texturePositions.js +0 -1007
@@ -0,0 +1,636 @@
1
+ import * as THREE from "three";
2
+ /**
3
+ * @author qiao / https://github.com/qiao
4
+ * @author mrdoob / http://mrdoob.com
5
+ * @author alteredq / http://alteredqualia.com/
6
+ * @author WestLangley / http://github.com/WestLangley
7
+ * @author erich666 / http://erichaines.com
8
+ */
9
+ // This set of controls performs orbiting, dollying (zooming), and panning.
10
+ // Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default).
11
+ //
12
+ // Orbit - left mouse / touch: one finger move
13
+ // Zoom - middle mouse, or mousewheel / touch: two finger spread or squish
14
+ // Pan - right mouse, or arrow keys / touch: three finger swipe
15
+ export default function OrbitControls(object, domElement) {
16
+ this.object = object;
17
+ this.domElement = (domElement !== undefined) ? domElement : document;
18
+ // Set to false to disable this control
19
+ this.enabled = true;
20
+ // "target" sets the location of focus, where the object orbits around
21
+ this.target = new THREE.Vector3();
22
+ // How far you can dolly in and out ( PerspectiveCamera only )
23
+ this.minDistance = 0;
24
+ this.maxDistance = Infinity;
25
+ // How far you can zoom in and out ( OrthographicCamera only )
26
+ this.minZoom = 0;
27
+ this.maxZoom = Infinity;
28
+ // How far you can orbit vertically, upper and lower limits.
29
+ // Range is 0 to Math.PI radians.
30
+ this.minPolarAngle = 0; // radians
31
+ this.maxPolarAngle = Math.PI; // radians
32
+ // How far you can orbit horizontally, upper and lower limits.
33
+ // If set, must be a sub-interval of the interval [ - Math.PI, Math.PI ].
34
+ this.minAzimuthAngle = -Infinity; // radians
35
+ this.maxAzimuthAngle = Infinity; // radians
36
+ // Set to true to enable damping (inertia)
37
+ // If damping is enabled, you must call controls.update() in your animation loop
38
+ this.enableDamping = false;
39
+ this.dampingFactor = 0.25;
40
+ // This option actually enables dollying in and out; left as "zoom" for backwards compatibility.
41
+ // Set to false to disable zooming
42
+ this.enableZoom = true;
43
+ this.zoomSpeed = 1.0;
44
+ // Set to false to disable rotating
45
+ this.enableRotate = true;
46
+ this.rotateSpeed = 1.0;
47
+ // Set to false to disable panning
48
+ this.enablePan = true;
49
+ this.keyPanSpeed = 7.0; // pixels moved per arrow key push
50
+ // Set to true to automatically rotate around the target
51
+ // If auto-rotate is enabled, you must call controls.update() in your animation loop
52
+ this.autoRotate = false;
53
+ this.autoRotateSpeed = 2.0; // 30 seconds per round when fps is 60
54
+ // Set to false to disable use of the keys
55
+ this.enableKeys = true;
56
+ // The four arrow keys
57
+ this.keys = { LEFT: 37, UP: 38, RIGHT: 39, BOTTOM: 40 };
58
+ // Mouse buttons
59
+ this.mouseButtons = { ORBIT: THREE.MOUSE.LEFT, ZOOM: THREE.MOUSE.MIDDLE, PAN: THREE.MOUSE.RIGHT };
60
+ // for reset
61
+ this.target0 = this.target.clone();
62
+ this.position0 = this.object.position.clone();
63
+ this.zoom0 = this.object.zoom;
64
+ //
65
+ // public methods
66
+ //
67
+ this.getPolarAngle = function () {
68
+ return spherical.phi;
69
+ };
70
+ this.getAzimuthalAngle = function () {
71
+ return spherical.theta;
72
+ };
73
+ this.saveState = function () {
74
+ scope.target0.copy(scope.target);
75
+ scope.position0.copy(scope.object.position);
76
+ scope.zoom0 = scope.object.zoom;
77
+ };
78
+ this.reset = function () {
79
+ scope.target.copy(scope.target0);
80
+ scope.object.position.copy(scope.position0);
81
+ scope.object.zoom = scope.zoom0;
82
+ scope.object.updateProjectionMatrix();
83
+ scope.dispatchEvent(changeEvent);
84
+ scope.update();
85
+ state = STATE.NONE;
86
+ };
87
+ // this method is exposed, but perhaps it would be better if we can make it private...
88
+ this.update = function () {
89
+ var offset = new THREE.Vector3();
90
+ // so camera.up is the orbit axis
91
+ var quat = new THREE.Quaternion().setFromUnitVectors(object.up, new THREE.Vector3(0, 1, 0));
92
+ var quatInverse = quat.clone().inverse();
93
+ var lastPosition = new THREE.Vector3();
94
+ var lastQuaternion = new THREE.Quaternion();
95
+ return function update() {
96
+ var position = scope.object.position;
97
+ offset.copy(position).sub(scope.target);
98
+ // rotate offset to "y-axis-is-up" space
99
+ offset.applyQuaternion(quat);
100
+ // angle from z-axis around y-axis
101
+ spherical.setFromVector3(offset);
102
+ if (scope.autoRotate && state === STATE.NONE) {
103
+ rotateLeft(getAutoRotationAngle());
104
+ }
105
+ spherical.theta += sphericalDelta.theta;
106
+ spherical.phi += sphericalDelta.phi;
107
+ // restrict theta to be between desired limits
108
+ spherical.theta = Math.max(scope.minAzimuthAngle, Math.min(scope.maxAzimuthAngle, spherical.theta));
109
+ // restrict phi to be between desired limits
110
+ spherical.phi = Math.max(scope.minPolarAngle, Math.min(scope.maxPolarAngle, spherical.phi));
111
+ spherical.makeSafe();
112
+ spherical.radius *= scale;
113
+ // restrict radius to be between desired limits
114
+ spherical.radius = Math.max(scope.minDistance, Math.min(scope.maxDistance, spherical.radius));
115
+ // move target to panned location
116
+ scope.target.add(panOffset);
117
+ offset.setFromSpherical(spherical);
118
+ // rotate offset back to "camera-up-vector-is-up" space
119
+ offset.applyQuaternion(quatInverse);
120
+ position.copy(scope.target).add(offset);
121
+ scope.object.lookAt(scope.target);
122
+ if (scope.enableDamping === true) {
123
+ sphericalDelta.theta *= (1 - scope.dampingFactor);
124
+ sphericalDelta.phi *= (1 - scope.dampingFactor);
125
+ }
126
+ else {
127
+ sphericalDelta.set(0, 0, 0);
128
+ }
129
+ scale = 1;
130
+ panOffset.set(0, 0, 0);
131
+ // update condition is:
132
+ // min(camera displacement, camera rotation in radians)^2 > EPS
133
+ // using small-angle approximation cos(x/2) = 1 - x^2 / 8
134
+ if (zoomChanged ||
135
+ lastPosition.distanceToSquared(scope.object.position) > EPS ||
136
+ 8 * (1 - lastQuaternion.dot(scope.object.quaternion)) > EPS) {
137
+ scope.dispatchEvent(changeEvent);
138
+ lastPosition.copy(scope.object.position);
139
+ lastQuaternion.copy(scope.object.quaternion);
140
+ zoomChanged = false;
141
+ return true;
142
+ }
143
+ return false;
144
+ };
145
+ }();
146
+ this.dispose = function () {
147
+ scope.domElement.removeEventListener('contextmenu', onContextMenu, false);
148
+ scope.domElement.removeEventListener('mousedown', onMouseDown, false);
149
+ scope.domElement.removeEventListener('wheel', onMouseWheel, false);
150
+ scope.domElement.removeEventListener('touchstart', onTouchStart, false);
151
+ scope.domElement.removeEventListener('touchend', onTouchEnd, false);
152
+ scope.domElement.removeEventListener('touchmove', onTouchMove, false);
153
+ document.removeEventListener('mousemove', onMouseMove, false);
154
+ document.removeEventListener('mouseup', onMouseUp, false);
155
+ window.removeEventListener('keydown', onKeyDown, false);
156
+ //scope.dispatchEvent( { type: 'dispose' } ); // should this be added here?
157
+ };
158
+ //
159
+ // internals
160
+ //
161
+ var scope = this;
162
+ var changeEvent = { type: 'change' };
163
+ var startEvent = { type: 'start' };
164
+ var endEvent = { type: 'end' };
165
+ var STATE = { NONE: -1, ROTATE: 0, DOLLY: 1, PAN: 2, TOUCH_ROTATE: 3, TOUCH_DOLLY: 4, TOUCH_PAN: 5 };
166
+ var state = STATE.NONE;
167
+ var EPS = 0.000001;
168
+ // current position in spherical coordinates
169
+ var spherical = new THREE.Spherical();
170
+ var sphericalDelta = new THREE.Spherical();
171
+ var scale = 1;
172
+ var panOffset = new THREE.Vector3();
173
+ var zoomChanged = false;
174
+ var rotateStart = new THREE.Vector2();
175
+ var rotateEnd = new THREE.Vector2();
176
+ var rotateDelta = new THREE.Vector2();
177
+ var panStart = new THREE.Vector2();
178
+ var panEnd = new THREE.Vector2();
179
+ var panDelta = new THREE.Vector2();
180
+ var dollyStart = new THREE.Vector2();
181
+ var dollyEnd = new THREE.Vector2();
182
+ var dollyDelta = new THREE.Vector2();
183
+ function getAutoRotationAngle() {
184
+ return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed;
185
+ }
186
+ function getZoomScale() {
187
+ return Math.pow(0.95, scope.zoomSpeed);
188
+ }
189
+ function rotateLeft(angle) {
190
+ sphericalDelta.theta -= angle;
191
+ }
192
+ function rotateUp(angle) {
193
+ sphericalDelta.phi -= angle;
194
+ }
195
+ var panLeft = function () {
196
+ var v = new THREE.Vector3();
197
+ return function panLeft(distance, objectMatrix) {
198
+ v.setFromMatrixColumn(objectMatrix, 0); // get X column of objectMatrix
199
+ v.multiplyScalar(-distance);
200
+ panOffset.add(v);
201
+ };
202
+ }();
203
+ var panUp = function () {
204
+ var v = new THREE.Vector3();
205
+ return function panUp(distance, objectMatrix) {
206
+ v.setFromMatrixColumn(objectMatrix, 1); // get Y column of objectMatrix
207
+ v.multiplyScalar(distance);
208
+ panOffset.add(v);
209
+ };
210
+ }();
211
+ // deltaX and deltaY are in pixels; right and down are positive
212
+ var pan = function () {
213
+ var offset = new THREE.Vector3();
214
+ return function pan(deltaX, deltaY) {
215
+ var element = scope.domElement === document ? scope.domElement.body : scope.domElement;
216
+ if (scope.object instanceof THREE.PerspectiveCamera) {
217
+ // perspective
218
+ var position = scope.object.position;
219
+ offset.copy(position).sub(scope.target);
220
+ var targetDistance = offset.length();
221
+ // half of the fov is center to top of screen
222
+ targetDistance *= Math.tan((scope.object.fov / 2) * Math.PI / 180.0);
223
+ // we actually don't use screenWidth, since perspective camera is fixed to screen height
224
+ panLeft(2 * deltaX * targetDistance / element.clientHeight, scope.object.matrix);
225
+ panUp(2 * deltaY * targetDistance / element.clientHeight, scope.object.matrix);
226
+ }
227
+ else if (scope.object instanceof THREE.OrthographicCamera) {
228
+ // orthographic
229
+ panLeft(deltaX * (scope.object.right - scope.object.left) / scope.object.zoom / element.clientWidth, scope.object.matrix);
230
+ panUp(deltaY * (scope.object.top - scope.object.bottom) / scope.object.zoom / element.clientHeight, scope.object.matrix);
231
+ }
232
+ else {
233
+ // camera neither orthographic nor perspective
234
+ console.warn('WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.');
235
+ scope.enablePan = false;
236
+ }
237
+ };
238
+ }();
239
+ function dollyIn(dollyScale) {
240
+ if (scope.object instanceof THREE.PerspectiveCamera) {
241
+ scale /= dollyScale;
242
+ }
243
+ else if (scope.object instanceof THREE.OrthographicCamera) {
244
+ scope.object.zoom = Math.max(scope.minZoom, Math.min(scope.maxZoom, scope.object.zoom * dollyScale));
245
+ scope.object.updateProjectionMatrix();
246
+ zoomChanged = true;
247
+ }
248
+ else {
249
+ console.warn('WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.');
250
+ scope.enableZoom = false;
251
+ }
252
+ }
253
+ function dollyOut(dollyScale) {
254
+ if (scope.object instanceof THREE.PerspectiveCamera) {
255
+ scale *= dollyScale;
256
+ }
257
+ else if (scope.object instanceof THREE.OrthographicCamera) {
258
+ scope.object.zoom = Math.max(scope.minZoom, Math.min(scope.maxZoom, scope.object.zoom / dollyScale));
259
+ scope.object.updateProjectionMatrix();
260
+ zoomChanged = true;
261
+ }
262
+ else {
263
+ console.warn('WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.');
264
+ scope.enableZoom = false;
265
+ }
266
+ }
267
+ //
268
+ // event callbacks - update the object state
269
+ //
270
+ function handleMouseDownRotate(event) {
271
+ //console.log( 'handleMouseDownRotate' );
272
+ rotateStart.set(event.clientX, event.clientY);
273
+ }
274
+ function handleMouseDownDolly(event) {
275
+ //console.log( 'handleMouseDownDolly' );
276
+ dollyStart.set(event.clientX, event.clientY);
277
+ }
278
+ function handleMouseDownPan(event) {
279
+ //console.log( 'handleMouseDownPan' );
280
+ panStart.set(event.clientX, event.clientY);
281
+ }
282
+ function handleMouseMoveRotate(event) {
283
+ //console.log( 'handleMouseMoveRotate' );
284
+ rotateEnd.set(event.clientX, event.clientY);
285
+ rotateDelta.subVectors(rotateEnd, rotateStart);
286
+ var element = scope.domElement === document ? scope.domElement.body : scope.domElement;
287
+ // rotating across whole screen goes 360 degrees around
288
+ rotateLeft(2 * Math.PI * rotateDelta.x / element.clientWidth * scope.rotateSpeed);
289
+ // rotating up and down along whole screen attempts to go 360, but limited to 180
290
+ rotateUp(2 * Math.PI * rotateDelta.y / element.clientHeight * scope.rotateSpeed);
291
+ rotateStart.copy(rotateEnd);
292
+ scope.update();
293
+ }
294
+ function handleMouseMoveDolly(event) {
295
+ //console.log( 'handleMouseMoveDolly' );
296
+ dollyEnd.set(event.clientX, event.clientY);
297
+ dollyDelta.subVectors(dollyEnd, dollyStart);
298
+ if (dollyDelta.y > 0) {
299
+ dollyIn(getZoomScale());
300
+ }
301
+ else if (dollyDelta.y < 0) {
302
+ dollyOut(getZoomScale());
303
+ }
304
+ dollyStart.copy(dollyEnd);
305
+ scope.update();
306
+ }
307
+ function handleMouseMovePan(event) {
308
+ //console.log( 'handleMouseMovePan' );
309
+ panEnd.set(event.clientX, event.clientY);
310
+ panDelta.subVectors(panEnd, panStart);
311
+ pan(panDelta.x, panDelta.y);
312
+ panStart.copy(panEnd);
313
+ scope.update();
314
+ }
315
+ function handleMouseUp(event) {
316
+ // console.log( 'handleMouseUp' );
317
+ }
318
+ function handleMouseWheel(event) {
319
+ // console.log( 'handleMouseWheel' );
320
+ if (event.deltaY < 0) {
321
+ dollyOut(getZoomScale());
322
+ }
323
+ else if (event.deltaY > 0) {
324
+ dollyIn(getZoomScale());
325
+ }
326
+ scope.update();
327
+ }
328
+ function handleKeyDown(event) {
329
+ //console.log( 'handleKeyDown' );
330
+ switch (event.keyCode) {
331
+ case scope.keys.UP:
332
+ pan(0, scope.keyPanSpeed);
333
+ scope.update();
334
+ break;
335
+ case scope.keys.BOTTOM:
336
+ pan(0, -scope.keyPanSpeed);
337
+ scope.update();
338
+ break;
339
+ case scope.keys.LEFT:
340
+ pan(scope.keyPanSpeed, 0);
341
+ scope.update();
342
+ break;
343
+ case scope.keys.RIGHT:
344
+ pan(-scope.keyPanSpeed, 0);
345
+ scope.update();
346
+ break;
347
+ }
348
+ }
349
+ function handleTouchStartRotate(event) {
350
+ //console.log( 'handleTouchStartRotate' );
351
+ rotateStart.set(event.touches[0].pageX, event.touches[0].pageY);
352
+ }
353
+ function handleTouchStartDolly(event) {
354
+ //console.log( 'handleTouchStartDolly' );
355
+ var dx = event.touches[0].pageX - event.touches[1].pageX;
356
+ var dy = event.touches[0].pageY - event.touches[1].pageY;
357
+ var distance = Math.sqrt(dx * dx + dy * dy);
358
+ dollyStart.set(0, distance);
359
+ }
360
+ function handleTouchStartPan(event) {
361
+ //console.log( 'handleTouchStartPan' );
362
+ panStart.set(event.touches[0].pageX, event.touches[0].pageY);
363
+ }
364
+ function handleTouchMoveRotate(event) {
365
+ //console.log( 'handleTouchMoveRotate' );
366
+ rotateEnd.set(event.touches[0].pageX, event.touches[0].pageY);
367
+ rotateDelta.subVectors(rotateEnd, rotateStart);
368
+ var element = scope.domElement === document ? scope.domElement.body : scope.domElement;
369
+ // rotating across whole screen goes 360 degrees around
370
+ rotateLeft(2 * Math.PI * rotateDelta.x / element.clientWidth * scope.rotateSpeed);
371
+ // rotating up and down along whole screen attempts to go 360, but limited to 180
372
+ rotateUp(2 * Math.PI * rotateDelta.y / element.clientHeight * scope.rotateSpeed);
373
+ rotateStart.copy(rotateEnd);
374
+ scope.update();
375
+ }
376
+ function handleTouchMoveDolly(event) {
377
+ //console.log( 'handleTouchMoveDolly' );
378
+ var dx = event.touches[0].pageX - event.touches[1].pageX;
379
+ var dy = event.touches[0].pageY - event.touches[1].pageY;
380
+ var distance = Math.sqrt(dx * dx + dy * dy);
381
+ dollyEnd.set(0, distance);
382
+ dollyDelta.subVectors(dollyEnd, dollyStart);
383
+ if (dollyDelta.y > 0) {
384
+ dollyOut(getZoomScale());
385
+ }
386
+ else if (dollyDelta.y < 0) {
387
+ dollyIn(getZoomScale());
388
+ }
389
+ dollyStart.copy(dollyEnd);
390
+ scope.update();
391
+ }
392
+ function handleTouchMovePan(event) {
393
+ //console.log( 'handleTouchMovePan' );
394
+ panEnd.set(event.touches[0].pageX, event.touches[0].pageY);
395
+ panDelta.subVectors(panEnd, panStart);
396
+ pan(panDelta.x, panDelta.y);
397
+ panStart.copy(panEnd);
398
+ scope.update();
399
+ }
400
+ function handleTouchEnd(event) {
401
+ //console.log( 'handleTouchEnd' );
402
+ }
403
+ //
404
+ // event handlers - FSM: listen for events and reset state
405
+ //
406
+ function onMouseDown(event) {
407
+ if (scope.enabled === false)
408
+ return;
409
+ event.preventDefault();
410
+ switch (event.button) {
411
+ case scope.mouseButtons.ORBIT:
412
+ if (scope.enableRotate === false)
413
+ return;
414
+ handleMouseDownRotate(event);
415
+ state = STATE.ROTATE;
416
+ break;
417
+ case scope.mouseButtons.ZOOM:
418
+ if (scope.enableZoom === false)
419
+ return;
420
+ handleMouseDownDolly(event);
421
+ state = STATE.DOLLY;
422
+ break;
423
+ case scope.mouseButtons.PAN:
424
+ if (scope.enablePan === false)
425
+ return;
426
+ handleMouseDownPan(event);
427
+ state = STATE.PAN;
428
+ break;
429
+ }
430
+ if (state !== STATE.NONE) {
431
+ document.addEventListener('mousemove', onMouseMove, false);
432
+ document.addEventListener('mouseup', onMouseUp, false);
433
+ scope.dispatchEvent(startEvent);
434
+ }
435
+ }
436
+ function onMouseMove(event) {
437
+ if (scope.enabled === false)
438
+ return;
439
+ event.preventDefault();
440
+ switch (state) {
441
+ case STATE.ROTATE:
442
+ if (scope.enableRotate === false)
443
+ return;
444
+ handleMouseMoveRotate(event);
445
+ break;
446
+ case STATE.DOLLY:
447
+ if (scope.enableZoom === false)
448
+ return;
449
+ handleMouseMoveDolly(event);
450
+ break;
451
+ case STATE.PAN:
452
+ if (scope.enablePan === false)
453
+ return;
454
+ handleMouseMovePan(event);
455
+ break;
456
+ }
457
+ }
458
+ function onMouseUp(event) {
459
+ if (scope.enabled === false)
460
+ return;
461
+ handleMouseUp(event);
462
+ document.removeEventListener('mousemove', onMouseMove, false);
463
+ document.removeEventListener('mouseup', onMouseUp, false);
464
+ scope.dispatchEvent(endEvent);
465
+ state = STATE.NONE;
466
+ }
467
+ function onMouseWheel(event) {
468
+ if (scope.enabled === false || scope.enableZoom === false || (state !== STATE.NONE && state !== STATE.ROTATE))
469
+ return;
470
+ event.preventDefault();
471
+ event.stopPropagation();
472
+ handleMouseWheel(event);
473
+ scope.dispatchEvent(startEvent); // not sure why these are here...
474
+ scope.dispatchEvent(endEvent);
475
+ }
476
+ function onKeyDown(event) {
477
+ if (scope.enabled === false || scope.enableKeys === false || scope.enablePan === false)
478
+ return;
479
+ handleKeyDown(event);
480
+ }
481
+ function onTouchStart(event) {
482
+ if (scope.enabled === false)
483
+ return;
484
+ switch (event.touches.length) {
485
+ case 1: // one-fingered touch: rotate
486
+ if (scope.enableRotate === false)
487
+ return;
488
+ handleTouchStartRotate(event);
489
+ state = STATE.TOUCH_ROTATE;
490
+ break;
491
+ case 2: // two-fingered touch: dolly
492
+ if (scope.enableZoom === false)
493
+ return;
494
+ handleTouchStartDolly(event);
495
+ state = STATE.TOUCH_DOLLY;
496
+ break;
497
+ case 3: // three-fingered touch: pan
498
+ if (scope.enablePan === false)
499
+ return;
500
+ handleTouchStartPan(event);
501
+ state = STATE.TOUCH_PAN;
502
+ break;
503
+ default:
504
+ state = STATE.NONE;
505
+ }
506
+ if (state !== STATE.NONE) {
507
+ scope.dispatchEvent(startEvent);
508
+ }
509
+ }
510
+ function onTouchMove(event) {
511
+ if (scope.enabled === false)
512
+ return;
513
+ event.preventDefault();
514
+ event.stopPropagation();
515
+ switch (event.touches.length) {
516
+ case 1: // one-fingered touch: rotate
517
+ if (scope.enableRotate === false)
518
+ return;
519
+ if (state !== STATE.TOUCH_ROTATE)
520
+ return; // is this needed?...
521
+ handleTouchMoveRotate(event);
522
+ break;
523
+ case 2: // two-fingered touch: dolly
524
+ if (scope.enableZoom === false)
525
+ return;
526
+ if (state !== STATE.TOUCH_DOLLY)
527
+ return; // is this needed?...
528
+ handleTouchMoveDolly(event);
529
+ break;
530
+ case 3: // three-fingered touch: pan
531
+ if (scope.enablePan === false)
532
+ return;
533
+ if (state !== STATE.TOUCH_PAN)
534
+ return; // is this needed?...
535
+ handleTouchMovePan(event);
536
+ break;
537
+ default:
538
+ state = STATE.NONE;
539
+ }
540
+ }
541
+ function onTouchEnd(event) {
542
+ if (scope.enabled === false)
543
+ return;
544
+ handleTouchEnd(event);
545
+ scope.dispatchEvent(endEvent);
546
+ state = STATE.NONE;
547
+ }
548
+ function onContextMenu(event) {
549
+ if (scope.enabled === false)
550
+ return;
551
+ event.preventDefault();
552
+ }
553
+ //
554
+ scope.domElement.addEventListener('contextmenu', onContextMenu, false);
555
+ scope.domElement.addEventListener('mousedown', onMouseDown, false);
556
+ scope.domElement.addEventListener('wheel', onMouseWheel, false);
557
+ scope.domElement.addEventListener('touchstart', onTouchStart, false);
558
+ scope.domElement.addEventListener('touchend', onTouchEnd, false);
559
+ scope.domElement.addEventListener('touchmove', onTouchMove, false);
560
+ window.addEventListener('keydown', onKeyDown, false);
561
+ // force an update at start
562
+ this.update();
563
+ }
564
+ ;
565
+ OrbitControls.prototype = Object.create(THREE.EventDispatcher.prototype);
566
+ OrbitControls.prototype.constructor = OrbitControls;
567
+ Object.defineProperties(OrbitControls.prototype, {
568
+ center: {
569
+ get: function () {
570
+ console.warn('OrbitControls: .center has been renamed to .target');
571
+ return this.target;
572
+ }
573
+ },
574
+ // backward compatibility
575
+ noZoom: {
576
+ get: function () {
577
+ console.warn('OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.');
578
+ return !this.enableZoom;
579
+ },
580
+ set: function (value) {
581
+ console.warn('OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.');
582
+ this.enableZoom = !value;
583
+ }
584
+ },
585
+ noRotate: {
586
+ get: function () {
587
+ console.warn('OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.');
588
+ return !this.enableRotate;
589
+ },
590
+ set: function (value) {
591
+ console.warn('OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.');
592
+ this.enableRotate = !value;
593
+ }
594
+ },
595
+ noPan: {
596
+ get: function () {
597
+ console.warn('OrbitControls: .noPan has been deprecated. Use .enablePan instead.');
598
+ return !this.enablePan;
599
+ },
600
+ set: function (value) {
601
+ console.warn('OrbitControls: .noPan has been deprecated. Use .enablePan instead.');
602
+ this.enablePan = !value;
603
+ }
604
+ },
605
+ noKeys: {
606
+ get: function () {
607
+ console.warn('OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.');
608
+ return !this.enableKeys;
609
+ },
610
+ set: function (value) {
611
+ console.warn('OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.');
612
+ this.enableKeys = !value;
613
+ }
614
+ },
615
+ staticMoving: {
616
+ get: function () {
617
+ console.warn('OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.');
618
+ return !this.enableDamping;
619
+ },
620
+ set: function (value) {
621
+ console.warn('OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.');
622
+ this.enableDamping = !value;
623
+ }
624
+ },
625
+ dynamicDampingFactor: {
626
+ get: function () {
627
+ console.warn('OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.');
628
+ return this.dampingFactor;
629
+ },
630
+ set: function (value) {
631
+ console.warn('OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.');
632
+ this.dampingFactor = value;
633
+ }
634
+ }
635
+ });
636
+ //# sourceMappingURL=OrbitControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrbitControls.js","sourceRoot":"src/","sources":["lib/OrbitControls.js"],"names":[],"mappings":"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"}