minerender 2.0.0-alpha.1 → 2.0.0-alpha.3

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 (566) hide show
  1. package/package.json +6 -5
  2. package/dist/bundle.js +0 -106338
  3. package/dist/cjs/AnimatorFunction.d.ts +0 -3
  4. package/dist/cjs/AnimatorFunction.js +0 -3
  5. package/dist/cjs/AnimatorFunction.js.map +0 -1
  6. package/dist/cjs/Axis.d.ts +0 -8
  7. package/dist/cjs/Axis.js +0 -23
  8. package/dist/cjs/Axis.js.map +0 -1
  9. package/dist/cjs/CubeFace.d.ts +0 -17
  10. package/dist/cjs/CubeFace.js +0 -23
  11. package/dist/cjs/CubeFace.js.map +0 -1
  12. package/dist/cjs/Disposable.d.ts +0 -4
  13. package/dist/cjs/Disposable.js +0 -8
  14. package/dist/cjs/Disposable.js.map +0 -1
  15. package/dist/cjs/Env.d.ts +0 -2
  16. package/dist/cjs/Env.js +0 -7
  17. package/dist/cjs/Env.js.map +0 -1
  18. package/dist/cjs/ExtractableImageData.d.ts +0 -5
  19. package/dist/cjs/ExtractableImageData.js +0 -3
  20. package/dist/cjs/ExtractableImageData.js.map +0 -1
  21. package/dist/cjs/Geometries.d.ts +0 -6
  22. package/dist/cjs/Geometries.js +0 -92
  23. package/dist/cjs/Geometries.js.map +0 -1
  24. package/dist/cjs/ListAsset.d.ts +0 -5
  25. package/dist/cjs/ListAsset.js +0 -3
  26. package/dist/cjs/ListAsset.js.map +0 -1
  27. package/dist/cjs/Materials.d.ts +0 -9
  28. package/dist/cjs/Materials.js +0 -151
  29. package/dist/cjs/Materials.js.map +0 -1
  30. package/dist/cjs/Meshes.d.ts +0 -6
  31. package/dist/cjs/Meshes.js +0 -21
  32. package/dist/cjs/Meshes.js.map +0 -1
  33. package/dist/cjs/MinecraftAsset.d.ts +0 -7
  34. package/dist/cjs/MinecraftAsset.js +0 -3
  35. package/dist/cjs/MinecraftAsset.js.map +0 -1
  36. package/dist/cjs/MinecraftCubeTexture.d.ts +0 -26
  37. package/dist/cjs/MinecraftCubeTexture.js +0 -104
  38. package/dist/cjs/MinecraftCubeTexture.js.map +0 -1
  39. package/dist/cjs/MinecraftTextureMeta.d.ts +0 -15
  40. package/dist/cjs/MinecraftTextureMeta.js +0 -3
  41. package/dist/cjs/MinecraftTextureMeta.js.map +0 -1
  42. package/dist/cjs/SceneStats.d.ts +0 -5
  43. package/dist/cjs/SceneStats.js +0 -12
  44. package/dist/cjs/SceneStats.js.map +0 -1
  45. package/dist/cjs/Serializable.d.ts +0 -3
  46. package/dist/cjs/Serializable.js +0 -3
  47. package/dist/cjs/Serializable.js.map +0 -1
  48. package/dist/cjs/Ticker.d.ts +0 -20
  49. package/dist/cjs/Ticker.js +0 -55
  50. package/dist/cjs/Ticker.js.map +0 -1
  51. package/dist/cjs/TintColors.d.ts +0 -1
  52. package/dist/cjs/TintColors.js +0 -5
  53. package/dist/cjs/TintColors.js.map +0 -1
  54. package/dist/cjs/Transformable.d.ts +0 -11
  55. package/dist/cjs/Transformable.js +0 -8
  56. package/dist/cjs/Transformable.js.map +0 -1
  57. package/dist/cjs/UVMapper.d.ts +0 -40
  58. package/dist/cjs/UVMapper.js +0 -434
  59. package/dist/cjs/UVMapper.js.map +0 -1
  60. package/dist/cjs/WrappedImage.d.ts +0 -17
  61. package/dist/cjs/WrappedImage.js +0 -50
  62. package/dist/cjs/WrappedImage.js.map +0 -1
  63. package/dist/cjs/_model/Cube.d.ts +0 -10
  64. package/dist/cjs/_model/Cube.js +0 -3
  65. package/dist/cjs/_model/Cube.js.map +0 -1
  66. package/dist/cjs/_model/Element.d.ts +0 -9
  67. package/dist/cjs/_model/Element.js +0 -3
  68. package/dist/cjs/_model/Element.js.map +0 -1
  69. package/dist/cjs/_model/Face.d.ts +0 -6
  70. package/dist/cjs/_model/Face.js +0 -3
  71. package/dist/cjs/_model/Face.js.map +0 -1
  72. package/dist/cjs/_model/Model.d.ts +0 -4
  73. package/dist/cjs/_model/Model.js +0 -3
  74. package/dist/cjs/_model/Model.js.map +0 -1
  75. package/dist/cjs/assets/AssetKey.d.ts +0 -26
  76. package/dist/cjs/assets/AssetKey.js +0 -83
  77. package/dist/cjs/assets/AssetKey.js.map +0 -1
  78. package/dist/cjs/assets/AssetLoader.d.ts +0 -26
  79. package/dist/cjs/assets/AssetLoader.js +0 -153
  80. package/dist/cjs/assets/AssetLoader.js.map +0 -1
  81. package/dist/cjs/assets/Assets.d.ts +0 -14
  82. package/dist/cjs/assets/Assets.js +0 -37
  83. package/dist/cjs/assets/Assets.js.map +0 -1
  84. package/dist/cjs/assets/BlockStates.d.ts +0 -11
  85. package/dist/cjs/assets/BlockStates.js +0 -75
  86. package/dist/cjs/assets/BlockStates.js.map +0 -1
  87. package/dist/cjs/assets/Entities.d.ts +0 -8
  88. package/dist/cjs/assets/Entities.js +0 -57
  89. package/dist/cjs/assets/Entities.js.map +0 -1
  90. package/dist/cjs/assets/ModelTextures.d.ts +0 -12
  91. package/dist/cjs/assets/ModelTextures.js +0 -66
  92. package/dist/cjs/assets/ModelTextures.js.map +0 -1
  93. package/dist/cjs/assets/Models.d.ts +0 -12
  94. package/dist/cjs/assets/Models.js +0 -95
  95. package/dist/cjs/assets/Models.js.map +0 -1
  96. package/dist/cjs/bedrock/BedrockEntityDescription.d.ts +0 -19
  97. package/dist/cjs/bedrock/BedrockEntityDescription.js +0 -3
  98. package/dist/cjs/bedrock/BedrockEntityDescription.js.map +0 -1
  99. package/dist/cjs/bedrock/BedrockEntityFile.d.ts +0 -7
  100. package/dist/cjs/bedrock/BedrockEntityFile.js +0 -3
  101. package/dist/cjs/bedrock/BedrockEntityFile.js.map +0 -1
  102. package/dist/cjs/bedrock/BedrockGeometry.d.ts +0 -27
  103. package/dist/cjs/bedrock/BedrockGeometry.js +0 -3
  104. package/dist/cjs/bedrock/BedrockGeometry.js.map +0 -1
  105. package/dist/cjs/bedrock/BedrockGeometryFile.d.ts +0 -5
  106. package/dist/cjs/bedrock/BedrockGeometryFile.js +0 -3
  107. package/dist/cjs/bedrock/BedrockGeometryFile.js.map +0 -1
  108. package/dist/cjs/cache/CacheKey.d.ts +0 -28
  109. package/dist/cjs/cache/CacheKey.js +0 -27
  110. package/dist/cjs/cache/CacheKey.js.map +0 -1
  111. package/dist/cjs/cache/Caching.d.ts +0 -29
  112. package/dist/cjs/cache/Caching.js +0 -93
  113. package/dist/cjs/cache/Caching.js.map +0 -1
  114. package/dist/cjs/cache/PersistentCache.d.ts +0 -15
  115. package/dist/cjs/cache/PersistentCache.js +0 -112
  116. package/dist/cjs/cache/PersistentCache.js.map +0 -1
  117. package/dist/cjs/canvas/CanvasCompat.d.ts +0 -5
  118. package/dist/cjs/canvas/CanvasCompat.js +0 -53
  119. package/dist/cjs/canvas/CanvasCompat.js.map +0 -1
  120. package/dist/cjs/canvas/CanvasImage.d.ts +0 -18
  121. package/dist/cjs/canvas/CanvasImage.js +0 -45
  122. package/dist/cjs/canvas/CanvasImage.js.map +0 -1
  123. package/dist/cjs/entity/EntityModel.d.ts +0 -7
  124. package/dist/cjs/entity/EntityModel.js +0 -3
  125. package/dist/cjs/entity/EntityModel.js.map +0 -1
  126. package/dist/cjs/entity/blockEntityModels.json +0 -1401
  127. package/dist/cjs/entity/entityModels.json +0 -20623
  128. package/dist/cjs/entity/scene/EntityObject.d.ts +0 -20
  129. package/dist/cjs/entity/scene/EntityObject.js +0 -131
  130. package/dist/cjs/entity/scene/EntityObject.js.map +0 -1
  131. package/dist/cjs/error/MineRenderError.d.ts +0 -4
  132. package/dist/cjs/error/MineRenderError.js +0 -15
  133. package/dist/cjs/error/MineRenderError.js.map +0 -1
  134. package/dist/cjs/gui/scene/GuiObject.d.ts +0 -6
  135. package/dist/cjs/gui/scene/GuiObject.js +0 -8
  136. package/dist/cjs/gui/scene/GuiObject.js.map +0 -1
  137. package/dist/cjs/image/ImageLoader.d.ts +0 -28
  138. package/dist/cjs/image/ImageLoader.js +0 -166
  139. package/dist/cjs/image/ImageLoader.js.map +0 -1
  140. package/dist/cjs/index.d.ts +0 -28
  141. package/dist/cjs/index.js +0 -43
  142. package/dist/cjs/index.js.map +0 -1
  143. package/dist/cjs/inspector/SceneInspector.d.ts +0 -27
  144. package/dist/cjs/inspector/SceneInspector.js +0 -366
  145. package/dist/cjs/inspector/SceneInspector.js.map +0 -1
  146. package/dist/cjs/inspector/SceneStats.d.ts +0 -22
  147. package/dist/cjs/inspector/SceneStats.js +0 -53
  148. package/dist/cjs/inspector/SceneStats.js.map +0 -1
  149. package/dist/cjs/instance/InstanceManager.d.ts +0 -14
  150. package/dist/cjs/instance/InstanceManager.js +0 -58
  151. package/dist/cjs/instance/InstanceManager.js.map +0 -1
  152. package/dist/cjs/instance/InstanceReference.d.ts +0 -21
  153. package/dist/cjs/instance/InstanceReference.js +0 -49
  154. package/dist/cjs/instance/InstanceReference.js.map +0 -1
  155. package/dist/cjs/instance/Instanceable.d.ts +0 -16
  156. package/dist/cjs/instance/Instanceable.js +0 -8
  157. package/dist/cjs/instance/Instanceable.js.map +0 -1
  158. package/dist/cjs/lib/OrbitControls.d.ts +0 -64
  159. package/dist/cjs/lib/OrbitControls.js +0 -658
  160. package/dist/cjs/lib/OrbitControls.js.map +0 -1
  161. package/dist/cjs/model/DisplayPosition.d.ts +0 -11
  162. package/dist/cjs/model/DisplayPosition.js +0 -16
  163. package/dist/cjs/model/DisplayPosition.js.map +0 -1
  164. package/dist/cjs/model/ElementFace.d.ts +0 -9
  165. package/dist/cjs/model/ElementFace.js +0 -3
  166. package/dist/cjs/model/ElementFace.js.map +0 -1
  167. package/dist/cjs/model/GuiLight.d.ts +0 -4
  168. package/dist/cjs/model/GuiLight.js +0 -9
  169. package/dist/cjs/model/GuiLight.js.map +0 -1
  170. package/dist/cjs/model/Model.d.ts +0 -46
  171. package/dist/cjs/model/Model.js +0 -20
  172. package/dist/cjs/model/Model.js.map +0 -1
  173. package/dist/cjs/model/ModelElement.d.ts +0 -21
  174. package/dist/cjs/model/ModelElement.js +0 -3
  175. package/dist/cjs/model/ModelElement.js.map +0 -1
  176. package/dist/cjs/model/ModelGenerator.d.ts +0 -6
  177. package/dist/cjs/model/ModelGenerator.js +0 -27
  178. package/dist/cjs/model/ModelGenerator.js.map +0 -1
  179. package/dist/cjs/model/ModelMerger.d.ts +0 -5
  180. package/dist/cjs/model/ModelMerger.js +0 -51
  181. package/dist/cjs/model/ModelMerger.js.map +0 -1
  182. package/dist/cjs/model/ModelPart.d.ts +0 -23
  183. package/dist/cjs/model/ModelPart.js +0 -3
  184. package/dist/cjs/model/ModelPart.js.map +0 -1
  185. package/dist/cjs/model/block/Block.d.ts +0 -6
  186. package/dist/cjs/model/block/Block.js +0 -3
  187. package/dist/cjs/model/block/Block.js.map +0 -1
  188. package/dist/cjs/model/block/BlockState.d.ts +0 -23
  189. package/dist/cjs/model/block/BlockState.js +0 -3
  190. package/dist/cjs/model/block/BlockState.js.map +0 -1
  191. package/dist/cjs/model/block/BlockStateProperties.d.ts +0 -13
  192. package/dist/cjs/model/block/BlockStateProperties.js +0 -3
  193. package/dist/cjs/model/block/BlockStateProperties.js.map +0 -1
  194. package/dist/cjs/model/block/scene/BlockObject.d.ts +0 -46
  195. package/dist/cjs/model/block/scene/BlockObject.js +0 -468
  196. package/dist/cjs/model/block/scene/BlockObject.js.map +0 -1
  197. package/dist/cjs/model/defaultBlockStates.json +0 -12337
  198. package/dist/cjs/model/multiblock/MultiBlockStructure.d.ts +0 -9
  199. package/dist/cjs/model/multiblock/MultiBlockStructure.js +0 -3
  200. package/dist/cjs/model/multiblock/MultiBlockStructure.js.map +0 -1
  201. package/dist/cjs/model/multiblock/SchematicParser.d.ts +0 -4
  202. package/dist/cjs/model/multiblock/SchematicParser.js +0 -23
  203. package/dist/cjs/model/multiblock/SchematicParser.js.map +0 -1
  204. package/dist/cjs/model/multiblock/StructureParser.d.ts +0 -70
  205. package/dist/cjs/model/multiblock/StructureParser.js +0 -52
  206. package/dist/cjs/model/multiblock/StructureParser.js.map +0 -1
  207. package/dist/cjs/model/scene/ModelObject.d.ts +0 -25
  208. package/dist/cjs/model/scene/ModelObject.js +0 -163
  209. package/dist/cjs/model/scene/ModelObject.js.map +0 -1
  210. package/dist/cjs/nbt/NBTHelper.d.ts +0 -8
  211. package/dist/cjs/nbt/NBTHelper.js +0 -42
  212. package/dist/cjs/nbt/NBTHelper.js.map +0 -1
  213. package/dist/cjs/renderer/MineRenderScene.d.ts +0 -35
  214. package/dist/cjs/renderer/MineRenderScene.js +0 -132
  215. package/dist/cjs/renderer/MineRenderScene.js.map +0 -1
  216. package/dist/cjs/renderer/Renderer.d.ts +0 -83
  217. package/dist/cjs/renderer/Renderer.js +0 -267
  218. package/dist/cjs/renderer/Renderer.js.map +0 -1
  219. package/dist/cjs/renderer/SceneObject.d.ts +0 -81
  220. package/dist/cjs/renderer/SceneObject.js +0 -400
  221. package/dist/cjs/renderer/SceneObject.js.map +0 -1
  222. package/dist/cjs/renderer/SceneObjectOptions.d.ts +0 -6
  223. package/dist/cjs/renderer/SceneObjectOptions.js +0 -3
  224. package/dist/cjs/renderer/SceneObjectOptions.js.map +0 -1
  225. package/dist/cjs/request/Requests.d.ts +0 -12
  226. package/dist/cjs/request/Requests.js +0 -39
  227. package/dist/cjs/request/Requests.js.map +0 -1
  228. package/dist/cjs/skin/SkinGeometries.d.ts +0 -5
  229. package/dist/cjs/skin/SkinGeometries.js +0 -39
  230. package/dist/cjs/skin/SkinGeometries.js.map +0 -1
  231. package/dist/cjs/skin/SkinPart.d.ts +0 -16
  232. package/dist/cjs/skin/SkinPart.js +0 -21
  233. package/dist/cjs/skin/SkinPart.js.map +0 -1
  234. package/dist/cjs/skin/SkinTextureCoordinates.d.ts +0 -5
  235. package/dist/cjs/skin/SkinTextureCoordinates.js +0 -751
  236. package/dist/cjs/skin/SkinTextureCoordinates.js.map +0 -1
  237. package/dist/cjs/skin/Skins.d.ts +0 -17
  238. package/dist/cjs/skin/Skins.js +0 -168
  239. package/dist/cjs/skin/Skins.js.map +0 -1
  240. package/dist/cjs/skin/scene/SkinObject.d.ts +0 -21
  241. package/dist/cjs/skin/scene/SkinObject.js +0 -119
  242. package/dist/cjs/skin/scene/SkinObject.js.map +0 -1
  243. package/dist/cjs/texture/TextureAtlas.d.ts +0 -29
  244. package/dist/cjs/texture/TextureAtlas.js +0 -26
  245. package/dist/cjs/texture/TextureAtlas.js.map +0 -1
  246. package/dist/cjs/texture/TextureLoader.d.ts +0 -6
  247. package/dist/cjs/texture/TextureLoader.js +0 -34
  248. package/dist/cjs/texture/TextureLoader.js.map +0 -1
  249. package/dist/cjs/texture/Textures.d.ts +0 -10
  250. package/dist/cjs/texture/Textures.js +0 -52
  251. package/dist/cjs/texture/Textures.js.map +0 -1
  252. package/dist/cjs/three/BufferGeometryUtils.d.ts +0 -44
  253. package/dist/cjs/three/BufferGeometryUtils.js +0 -554
  254. package/dist/cjs/three/BufferGeometryUtils.js.map +0 -1
  255. package/dist/cjs/three/OrbitControls.d.ts +0 -59
  256. package/dist/cjs/three/OrbitControls.js +0 -790
  257. package/dist/cjs/three/OrbitControls.js.map +0 -1
  258. package/dist/cjs/util/BatchedExecutor.d.ts +0 -12
  259. package/dist/cjs/util/BatchedExecutor.js +0 -26
  260. package/dist/cjs/util/BatchedExecutor.js.map +0 -1
  261. package/dist/cjs/util/log.d.ts +0 -1
  262. package/dist/cjs/util/log.js +0 -32
  263. package/dist/cjs/util/log.js.map +0 -1
  264. package/dist/cjs/util/model.d.ts +0 -11
  265. package/dist/cjs/util/model.js +0 -182
  266. package/dist/cjs/util/model.js.map +0 -1
  267. package/dist/cjs/util/performance.d.ts +0 -3
  268. package/dist/cjs/util/performance.js +0 -19
  269. package/dist/cjs/util/performance.js.map +0 -1
  270. package/dist/cjs/util/three.d.ts +0 -8
  271. package/dist/cjs/util/three.js +0 -28
  272. package/dist/cjs/util/three.js.map +0 -1
  273. package/dist/cjs/util/util.d.ts +0 -19
  274. package/dist/cjs/util/util.js +0 -143
  275. package/dist/cjs/util/util.js.map +0 -1
  276. package/dist/cjs/world/BlockInfo.d.ts +0 -6
  277. package/dist/cjs/world/BlockInfo.js +0 -3
  278. package/dist/cjs/world/BlockInfo.js.map +0 -1
  279. package/dist/cjs/world/Chunk.d.ts +0 -33
  280. package/dist/cjs/world/Chunk.js +0 -132
  281. package/dist/cjs/world/Chunk.js.map +0 -1
  282. package/dist/cjs/world/MineRenderWorld.d.ts +0 -31
  283. package/dist/cjs/world/MineRenderWorld.js +0 -133
  284. package/dist/cjs/world/MineRenderWorld.js.map +0 -1
  285. package/dist/esm/AnimatorFunction.d.ts +0 -3
  286. package/dist/esm/AnimatorFunction.js +0 -2
  287. package/dist/esm/AnimatorFunction.js.map +0 -1
  288. package/dist/esm/Axis.d.ts +0 -8
  289. package/dist/esm/Axis.js +0 -19
  290. package/dist/esm/Axis.js.map +0 -1
  291. package/dist/esm/CubeFace.d.ts +0 -17
  292. package/dist/esm/CubeFace.js +0 -20
  293. package/dist/esm/CubeFace.js.map +0 -1
  294. package/dist/esm/Disposable.d.ts +0 -4
  295. package/dist/esm/Disposable.js +0 -4
  296. package/dist/esm/Disposable.js.map +0 -1
  297. package/dist/esm/Env.d.ts +0 -2
  298. package/dist/esm/Env.js +0 -3
  299. package/dist/esm/Env.js.map +0 -1
  300. package/dist/esm/ExtractableImageData.d.ts +0 -5
  301. package/dist/esm/ExtractableImageData.js +0 -2
  302. package/dist/esm/ExtractableImageData.js.map +0 -1
  303. package/dist/esm/Geometries.d.ts +0 -6
  304. package/dist/esm/Geometries.js +0 -88
  305. package/dist/esm/Geometries.js.map +0 -1
  306. package/dist/esm/ListAsset.d.ts +0 -5
  307. package/dist/esm/ListAsset.js +0 -2
  308. package/dist/esm/ListAsset.js.map +0 -1
  309. package/dist/esm/Materials.d.ts +0 -9
  310. package/dist/esm/Materials.js +0 -147
  311. package/dist/esm/Materials.js.map +0 -1
  312. package/dist/esm/Meshes.d.ts +0 -6
  313. package/dist/esm/Meshes.js +0 -17
  314. package/dist/esm/Meshes.js.map +0 -1
  315. package/dist/esm/MinecraftAsset.d.ts +0 -7
  316. package/dist/esm/MinecraftAsset.js +0 -2
  317. package/dist/esm/MinecraftAsset.js.map +0 -1
  318. package/dist/esm/MinecraftCubeTexture.d.ts +0 -26
  319. package/dist/esm/MinecraftCubeTexture.js +0 -100
  320. package/dist/esm/MinecraftCubeTexture.js.map +0 -1
  321. package/dist/esm/MinecraftTextureMeta.d.ts +0 -15
  322. package/dist/esm/MinecraftTextureMeta.js +0 -2
  323. package/dist/esm/MinecraftTextureMeta.js.map +0 -1
  324. package/dist/esm/SceneStats.d.ts +0 -5
  325. package/dist/esm/SceneStats.js +0 -8
  326. package/dist/esm/SceneStats.js.map +0 -1
  327. package/dist/esm/Serializable.d.ts +0 -3
  328. package/dist/esm/Serializable.js +0 -2
  329. package/dist/esm/Serializable.js.map +0 -1
  330. package/dist/esm/Ticker.d.ts +0 -20
  331. package/dist/esm/Ticker.js +0 -51
  332. package/dist/esm/Ticker.js.map +0 -1
  333. package/dist/esm/TintColors.d.ts +0 -1
  334. package/dist/esm/TintColors.js +0 -2
  335. package/dist/esm/TintColors.js.map +0 -1
  336. package/dist/esm/Transformable.d.ts +0 -11
  337. package/dist/esm/Transformable.js +0 -4
  338. package/dist/esm/Transformable.js.map +0 -1
  339. package/dist/esm/UVMapper.d.ts +0 -40
  340. package/dist/esm/UVMapper.js +0 -429
  341. package/dist/esm/UVMapper.js.map +0 -1
  342. package/dist/esm/WrappedImage.d.ts +0 -17
  343. package/dist/esm/WrappedImage.js +0 -46
  344. package/dist/esm/WrappedImage.js.map +0 -1
  345. package/dist/esm/_model/Cube.d.ts +0 -10
  346. package/dist/esm/_model/Cube.js +0 -2
  347. package/dist/esm/_model/Cube.js.map +0 -1
  348. package/dist/esm/_model/Element.d.ts +0 -9
  349. package/dist/esm/_model/Element.js +0 -2
  350. package/dist/esm/_model/Element.js.map +0 -1
  351. package/dist/esm/_model/Face.d.ts +0 -6
  352. package/dist/esm/_model/Face.js +0 -2
  353. package/dist/esm/_model/Face.js.map +0 -1
  354. package/dist/esm/_model/Model.d.ts +0 -4
  355. package/dist/esm/_model/Model.js +0 -2
  356. package/dist/esm/_model/Model.js.map +0 -1
  357. package/dist/esm/assets/AssetKey.d.ts +0 -26
  358. package/dist/esm/assets/AssetKey.js +0 -76
  359. package/dist/esm/assets/AssetKey.js.map +0 -1
  360. package/dist/esm/assets/AssetLoader.d.ts +0 -26
  361. package/dist/esm/assets/AssetLoader.js +0 -149
  362. package/dist/esm/assets/AssetLoader.js.map +0 -1
  363. package/dist/esm/assets/Assets.d.ts +0 -14
  364. package/dist/esm/assets/Assets.js +0 -33
  365. package/dist/esm/assets/Assets.js.map +0 -1
  366. package/dist/esm/assets/BlockStates.d.ts +0 -11
  367. package/dist/esm/assets/BlockStates.js +0 -68
  368. package/dist/esm/assets/BlockStates.js.map +0 -1
  369. package/dist/esm/assets/Entities.d.ts +0 -8
  370. package/dist/esm/assets/Entities.js +0 -50
  371. package/dist/esm/assets/Entities.js.map +0 -1
  372. package/dist/esm/assets/ModelTextures.d.ts +0 -12
  373. package/dist/esm/assets/ModelTextures.js +0 -62
  374. package/dist/esm/assets/ModelTextures.js.map +0 -1
  375. package/dist/esm/assets/Models.d.ts +0 -12
  376. package/dist/esm/assets/Models.js +0 -91
  377. package/dist/esm/assets/Models.js.map +0 -1
  378. package/dist/esm/bedrock/BedrockEntityDescription.d.ts +0 -19
  379. package/dist/esm/bedrock/BedrockEntityDescription.js +0 -2
  380. package/dist/esm/bedrock/BedrockEntityDescription.js.map +0 -1
  381. package/dist/esm/bedrock/BedrockEntityFile.d.ts +0 -7
  382. package/dist/esm/bedrock/BedrockEntityFile.js +0 -2
  383. package/dist/esm/bedrock/BedrockEntityFile.js.map +0 -1
  384. package/dist/esm/bedrock/BedrockGeometry.d.ts +0 -27
  385. package/dist/esm/bedrock/BedrockGeometry.js +0 -2
  386. package/dist/esm/bedrock/BedrockGeometry.js.map +0 -1
  387. package/dist/esm/bedrock/BedrockGeometryFile.d.ts +0 -5
  388. package/dist/esm/bedrock/BedrockGeometryFile.js +0 -2
  389. package/dist/esm/bedrock/BedrockGeometryFile.js.map +0 -1
  390. package/dist/esm/cache/CacheKey.d.ts +0 -28
  391. package/dist/esm/cache/CacheKey.js +0 -19
  392. package/dist/esm/cache/CacheKey.js.map +0 -1
  393. package/dist/esm/cache/Caching.d.ts +0 -29
  394. package/dist/esm/cache/Caching.js +0 -89
  395. package/dist/esm/cache/Caching.js.map +0 -1
  396. package/dist/esm/cache/PersistentCache.d.ts +0 -15
  397. package/dist/esm/cache/PersistentCache.js +0 -105
  398. package/dist/esm/cache/PersistentCache.js.map +0 -1
  399. package/dist/esm/canvas/CanvasCompat.d.ts +0 -5
  400. package/dist/esm/canvas/CanvasCompat.js +0 -29
  401. package/dist/esm/canvas/CanvasCompat.js.map +0 -1
  402. package/dist/esm/canvas/CanvasImage.d.ts +0 -18
  403. package/dist/esm/canvas/CanvasImage.js +0 -41
  404. package/dist/esm/canvas/CanvasImage.js.map +0 -1
  405. package/dist/esm/entity/EntityModel.d.ts +0 -7
  406. package/dist/esm/entity/EntityModel.js +0 -2
  407. package/dist/esm/entity/EntityModel.js.map +0 -1
  408. package/dist/esm/entity/blockEntityModels.json +0 -1401
  409. package/dist/esm/entity/entityModels.json +0 -20623
  410. package/dist/esm/entity/scene/EntityObject.d.ts +0 -20
  411. package/dist/esm/entity/scene/EntityObject.js +0 -104
  412. package/dist/esm/entity/scene/EntityObject.js.map +0 -1
  413. package/dist/esm/error/MineRenderError.d.ts +0 -4
  414. package/dist/esm/error/MineRenderError.js +0 -11
  415. package/dist/esm/error/MineRenderError.js.map +0 -1
  416. package/dist/esm/gui/scene/GuiObject.d.ts +0 -6
  417. package/dist/esm/gui/scene/GuiObject.js +0 -4
  418. package/dist/esm/gui/scene/GuiObject.js.map +0 -1
  419. package/dist/esm/image/ImageLoader.d.ts +0 -28
  420. package/dist/esm/image/ImageLoader.js +0 -159
  421. package/dist/esm/image/ImageLoader.js.map +0 -1
  422. package/dist/esm/index.d.ts +0 -28
  423. package/dist/esm/index.js +0 -31
  424. package/dist/esm/index.js.map +0 -1
  425. package/dist/esm/inspector/SceneInspector.d.ts +0 -27
  426. package/dist/esm/inspector/SceneInspector.js +0 -362
  427. package/dist/esm/inspector/SceneInspector.js.map +0 -1
  428. package/dist/esm/inspector/SceneStats.d.ts +0 -22
  429. package/dist/esm/inspector/SceneStats.js +0 -49
  430. package/dist/esm/inspector/SceneStats.js.map +0 -1
  431. package/dist/esm/instance/InstanceManager.d.ts +0 -14
  432. package/dist/esm/instance/InstanceManager.js +0 -53
  433. package/dist/esm/instance/InstanceManager.js.map +0 -1
  434. package/dist/esm/instance/InstanceReference.d.ts +0 -21
  435. package/dist/esm/instance/InstanceReference.js +0 -44
  436. package/dist/esm/instance/InstanceReference.js.map +0 -1
  437. package/dist/esm/instance/Instanceable.d.ts +0 -16
  438. package/dist/esm/instance/Instanceable.js +0 -4
  439. package/dist/esm/instance/Instanceable.js.map +0 -1
  440. package/dist/esm/lib/OrbitControls.d.ts +0 -64
  441. package/dist/esm/lib/OrbitControls.js +0 -636
  442. package/dist/esm/lib/OrbitControls.js.map +0 -1
  443. package/dist/esm/model/DisplayPosition.d.ts +0 -11
  444. package/dist/esm/model/DisplayPosition.js +0 -13
  445. package/dist/esm/model/DisplayPosition.js.map +0 -1
  446. package/dist/esm/model/ElementFace.d.ts +0 -9
  447. package/dist/esm/model/ElementFace.js +0 -2
  448. package/dist/esm/model/ElementFace.js.map +0 -1
  449. package/dist/esm/model/GuiLight.d.ts +0 -4
  450. package/dist/esm/model/GuiLight.js +0 -6
  451. package/dist/esm/model/GuiLight.js.map +0 -1
  452. package/dist/esm/model/Model.d.ts +0 -46
  453. package/dist/esm/model/Model.js +0 -14
  454. package/dist/esm/model/Model.js.map +0 -1
  455. package/dist/esm/model/ModelElement.d.ts +0 -21
  456. package/dist/esm/model/ModelElement.js +0 -2
  457. package/dist/esm/model/ModelElement.js.map +0 -1
  458. package/dist/esm/model/ModelGenerator.d.ts +0 -6
  459. package/dist/esm/model/ModelGenerator.js +0 -23
  460. package/dist/esm/model/ModelGenerator.js.map +0 -1
  461. package/dist/esm/model/ModelMerger.d.ts +0 -5
  462. package/dist/esm/model/ModelMerger.js +0 -44
  463. package/dist/esm/model/ModelMerger.js.map +0 -1
  464. package/dist/esm/model/ModelPart.d.ts +0 -23
  465. package/dist/esm/model/ModelPart.js +0 -2
  466. package/dist/esm/model/ModelPart.js.map +0 -1
  467. package/dist/esm/model/block/Block.d.ts +0 -6
  468. package/dist/esm/model/block/Block.js +0 -2
  469. package/dist/esm/model/block/Block.js.map +0 -1
  470. package/dist/esm/model/block/BlockState.d.ts +0 -23
  471. package/dist/esm/model/block/BlockState.js +0 -2
  472. package/dist/esm/model/block/BlockState.js.map +0 -1
  473. package/dist/esm/model/block/BlockStateProperties.d.ts +0 -13
  474. package/dist/esm/model/block/BlockStateProperties.js +0 -2
  475. package/dist/esm/model/block/BlockStateProperties.js.map +0 -1
  476. package/dist/esm/model/block/scene/BlockObject.d.ts +0 -46
  477. package/dist/esm/model/block/scene/BlockObject.js +0 -460
  478. package/dist/esm/model/block/scene/BlockObject.js.map +0 -1
  479. package/dist/esm/model/defaultBlockStates.json +0 -12337
  480. package/dist/esm/model/multiblock/MultiBlockStructure.d.ts +0 -9
  481. package/dist/esm/model/multiblock/MultiBlockStructure.js +0 -2
  482. package/dist/esm/model/multiblock/MultiBlockStructure.js.map +0 -1
  483. package/dist/esm/model/multiblock/SchematicParser.d.ts +0 -4
  484. package/dist/esm/model/multiblock/SchematicParser.js +0 -19
  485. package/dist/esm/model/multiblock/SchematicParser.js.map +0 -1
  486. package/dist/esm/model/multiblock/StructureParser.d.ts +0 -70
  487. package/dist/esm/model/multiblock/StructureParser.js +0 -48
  488. package/dist/esm/model/multiblock/StructureParser.js.map +0 -1
  489. package/dist/esm/model/scene/ModelObject.d.ts +0 -25
  490. package/dist/esm/model/scene/ModelObject.js +0 -155
  491. package/dist/esm/model/scene/ModelObject.js.map +0 -1
  492. package/dist/esm/nbt/NBTHelper.d.ts +0 -8
  493. package/dist/esm/nbt/NBTHelper.js +0 -19
  494. package/dist/esm/nbt/NBTHelper.js.map +0 -1
  495. package/dist/esm/renderer/MineRenderScene.d.ts +0 -35
  496. package/dist/esm/renderer/MineRenderScene.js +0 -124
  497. package/dist/esm/renderer/MineRenderScene.js.map +0 -1
  498. package/dist/esm/renderer/Renderer.d.ts +0 -83
  499. package/dist/esm/renderer/Renderer.js +0 -260
  500. package/dist/esm/renderer/Renderer.js.map +0 -1
  501. package/dist/esm/renderer/SceneObject.d.ts +0 -81
  502. package/dist/esm/renderer/SceneObject.js +0 -392
  503. package/dist/esm/renderer/SceneObject.js.map +0 -1
  504. package/dist/esm/renderer/SceneObjectOptions.d.ts +0 -6
  505. package/dist/esm/renderer/SceneObjectOptions.js +0 -2
  506. package/dist/esm/renderer/SceneObjectOptions.js.map +0 -1
  507. package/dist/esm/request/Requests.d.ts +0 -12
  508. package/dist/esm/request/Requests.js +0 -32
  509. package/dist/esm/request/Requests.js.map +0 -1
  510. package/dist/esm/skin/SkinGeometries.d.ts +0 -5
  511. package/dist/esm/skin/SkinGeometries.js +0 -33
  512. package/dist/esm/skin/SkinGeometries.js.map +0 -1
  513. package/dist/esm/skin/SkinPart.d.ts +0 -16
  514. package/dist/esm/skin/SkinPart.js +0 -18
  515. package/dist/esm/skin/SkinPart.js.map +0 -1
  516. package/dist/esm/skin/SkinTextureCoordinates.d.ts +0 -5
  517. package/dist/esm/skin/SkinTextureCoordinates.js +0 -748
  518. package/dist/esm/skin/SkinTextureCoordinates.js.map +0 -1
  519. package/dist/esm/skin/Skins.d.ts +0 -17
  520. package/dist/esm/skin/Skins.js +0 -164
  521. package/dist/esm/skin/Skins.js.map +0 -1
  522. package/dist/esm/skin/scene/SkinObject.d.ts +0 -21
  523. package/dist/esm/skin/scene/SkinObject.js +0 -112
  524. package/dist/esm/skin/scene/SkinObject.js.map +0 -1
  525. package/dist/esm/texture/TextureAtlas.d.ts +0 -29
  526. package/dist/esm/texture/TextureAtlas.js +0 -22
  527. package/dist/esm/texture/TextureAtlas.js.map +0 -1
  528. package/dist/esm/texture/TextureLoader.d.ts +0 -6
  529. package/dist/esm/texture/TextureLoader.js +0 -30
  530. package/dist/esm/texture/TextureLoader.js.map +0 -1
  531. package/dist/esm/texture/Textures.d.ts +0 -10
  532. package/dist/esm/texture/Textures.js +0 -29
  533. package/dist/esm/texture/Textures.js.map +0 -1
  534. package/dist/esm/three/BufferGeometryUtils.d.ts +0 -44
  535. package/dist/esm/three/BufferGeometryUtils.js +0 -544
  536. package/dist/esm/three/BufferGeometryUtils.js.map +0 -1
  537. package/dist/esm/three/OrbitControls.d.ts +0 -59
  538. package/dist/esm/three/OrbitControls.js +0 -786
  539. package/dist/esm/three/OrbitControls.js.map +0 -1
  540. package/dist/esm/util/BatchedExecutor.d.ts +0 -12
  541. package/dist/esm/util/BatchedExecutor.js +0 -22
  542. package/dist/esm/util/BatchedExecutor.js.map +0 -1
  543. package/dist/esm/util/log.d.ts +0 -1
  544. package/dist/esm/util/log.js +0 -28
  545. package/dist/esm/util/log.js.map +0 -1
  546. package/dist/esm/util/model.d.ts +0 -11
  547. package/dist/esm/util/model.js +0 -173
  548. package/dist/esm/util/model.js.map +0 -1
  549. package/dist/esm/util/performance.d.ts +0 -3
  550. package/dist/esm/util/performance.js +0 -13
  551. package/dist/esm/util/performance.js.map +0 -1
  552. package/dist/esm/util/three.d.ts +0 -8
  553. package/dist/esm/util/three.js +0 -19
  554. package/dist/esm/util/three.js.map +0 -1
  555. package/dist/esm/util/util.d.ts +0 -19
  556. package/dist/esm/util/util.js +0 -107
  557. package/dist/esm/util/util.js.map +0 -1
  558. package/dist/esm/world/BlockInfo.d.ts +0 -6
  559. package/dist/esm/world/BlockInfo.js +0 -2
  560. package/dist/esm/world/BlockInfo.js.map +0 -1
  561. package/dist/esm/world/Chunk.d.ts +0 -33
  562. package/dist/esm/world/Chunk.js +0 -128
  563. package/dist/esm/world/Chunk.js.map +0 -1
  564. package/dist/esm/world/MineRenderWorld.d.ts +0 -31
  565. package/dist/esm/world/MineRenderWorld.js +0 -129
  566. package/dist/esm/world/MineRenderWorld.js.map +0 -1
@@ -1,429 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { Float32BufferAttribute, Vector2 } from "three";
11
- import { CUBE_FACES, CubeFace } from "./CubeFace";
12
- import { ModelTextures } from "./assets/ModelTextures";
13
- import { WrappedImage } from "./WrappedImage";
14
- import { CanvasImage } from "./canvas/CanvasImage";
15
- import { TextureAtlas } from "./texture/TextureAtlas";
16
- import { Caching } from "./cache/Caching";
17
- import { ImageLoader } from "./image/ImageLoader";
18
- import { AssetKey } from "./assets/AssetKey";
19
- import { ModelGenerator } from "./model/ModelGenerator";
20
- import { prefix } from "./util/log";
21
- const p = prefix("UVMapper");
22
- export const DEFAULT_UV = [0, 0, 16, 16];
23
- const X = 0;
24
- const Y = 1;
25
- const Z = 2;
26
- /*
27
- * - Minecraft Block UVs are from the top-left to bottom-right
28
- * - three.js UVs are from the bottom-left to top-right
29
- * - canvas coordinates are from the top-left to bottom-right
30
- */
31
- // noinspection PointlessArithmeticExpressionJS
32
- export class UVMapper {
33
- static makeUv(uvCoord, originalTextureSize, actualTextureSize) {
34
- if (uvCoord === 0)
35
- return 0;
36
- return (actualTextureSize / originalTextureSize) * (uvCoord / originalTextureSize);
37
- }
38
- static makeUvCoords([originalTextureWidth, originalTextureHeight], [actualTextureWidth, actualTextureHeight], [x1, y1, x2, y2]) {
39
- // Flip from top-to-bottom coordinates to bottom-to-top ones
40
- y1 = originalTextureHeight - y1;
41
- y2 = originalTextureHeight - y2;
42
- const u1 = this.makeUv(x1, originalTextureWidth, actualTextureWidth);
43
- const v1 = this.makeUv(y1, originalTextureHeight, actualTextureHeight);
44
- const u2 = this.makeUv(x2, originalTextureWidth, actualTextureWidth);
45
- const v2 = this.makeUv(y2, originalTextureHeight, actualTextureHeight);
46
- return [u1, v1, u2, v2];
47
- }
48
- static rotateSingleUv([u, v], [px, py], radians) {
49
- const sin = Math.sin(radians);
50
- const cos = Math.cos(radians);
51
- u -= px;
52
- v -= py;
53
- const uc = u;
54
- const vc = v;
55
- u = cos * uc - sin * vc;
56
- v = cos * vc + sin * uc;
57
- u += px;
58
- v += py;
59
- // return [parseFloat(u.toFixed(8)), parseFloat(v.toFixed(8))];
60
- return [u, v];
61
- }
62
- static addCubeFaceUvToArray(array, faceIndex, originalTextureSize, actualTextureSize, originalCoords) {
63
- const uv = this.makeUvCoords(originalTextureSize, actualTextureSize, originalCoords);
64
- this.setCubeFaceUvInArray(array, faceIndex, uv);
65
- }
66
- static setCubeFaceUvInArray(array, faceIndex, [u1, v1, u2, v2]) {
67
- let a = [u1, v1]; // top left
68
- let b = [u2, v1]; // top right
69
- let c = [u1, v2]; // bottom left
70
- let d = [u2, v2]; // bottom right
71
- let uvs = [a, b, c, d];
72
- this.setFaceUvInArray(array, faceIndex, uvs);
73
- }
74
- static setFaceUvInArrayV(array, faceIndex, uvs) {
75
- array[((faceIndex + 0) * 2) + 0] = uvs[0].x;
76
- array[((faceIndex + 0) * 2) + 1] = uvs[0].y;
77
- array[((faceIndex + 1) * 2) + 0] = uvs[1].x;
78
- array[((faceIndex + 1) * 2) + 1] = uvs[1].y;
79
- array[((faceIndex + 2) * 2) + 0] = uvs[2].x;
80
- array[((faceIndex + 2) * 2) + 1] = uvs[2].y;
81
- array[((faceIndex + 3) * 2) + 0] = uvs[3].x;
82
- array[((faceIndex + 3) * 2) + 1] = uvs[3].y;
83
- }
84
- static setFaceUvInArray(array, faceIndex, uvs) {
85
- array[((faceIndex + 0) * 2) + 0] = uvs[0][0];
86
- array[((faceIndex + 0) * 2) + 1] = uvs[0][1];
87
- array[((faceIndex + 1) * 2) + 0] = uvs[1][0];
88
- array[((faceIndex + 1) * 2) + 1] = uvs[1][1];
89
- array[((faceIndex + 2) * 2) + 0] = uvs[2][0];
90
- array[((faceIndex + 2) * 2) + 1] = uvs[2][1];
91
- array[((faceIndex + 3) * 2) + 0] = uvs[3][0];
92
- array[((faceIndex + 3) * 2) + 1] = uvs[3][1];
93
- }
94
- static setCubeFaceUvAttribute(attributes, faceIndex, originalTextureSize, actualTextureSize, originalCoords) {
95
- const uv = this.makeUvCoords(originalTextureSize, actualTextureSize, originalCoords);
96
- this.setCubeFaceUvInAttribute(attributes, faceIndex, uv);
97
- }
98
- static setCubeFaceUvInAttribute(attributes, faceIndex, [u1, v1, u2, v2]) {
99
- attributes.setXY(faceIndex + 0, u1, v1);
100
- attributes.setXY(faceIndex + 1, u2, v1);
101
- attributes.setXY(faceIndex + 2, u1, v2);
102
- attributes.setXY(faceIndex + 3, u2, v2);
103
- }
104
- static setCubeUvs(geometry, originalTextureSize, actualTextureSize, faces) {
105
- const attributes = geometry.getAttribute("uv");
106
- for (let faceIndex = 0; faceIndex < CUBE_FACES.length; faceIndex++) {
107
- let faceName = CUBE_FACES[faceIndex];
108
- let face = faces[faceName];
109
- if (!face)
110
- continue;
111
- if (!face.uv) {
112
- face.uv = DEFAULT_UV;
113
- }
114
- this.setCubeFaceUvAttribute(attributes, faceIndex * 4, originalTextureSize, actualTextureSize, face.uv);
115
- }
116
- }
117
- static facesToUvArray(faces, originalTextureSize, actualTextureSize) {
118
- const array = [];
119
- for (let faceIndex = 0; faceIndex < CUBE_FACES.length; faceIndex++) {
120
- let faceName = CUBE_FACES[faceIndex];
121
- let face = faces[faceName];
122
- if (!face)
123
- continue;
124
- if (!face.uv) {
125
- face.uv = DEFAULT_UV;
126
- }
127
- this.addCubeFaceUvToArray(array, faceIndex * 4, originalTextureSize, actualTextureSize, face.uv);
128
- }
129
- return array;
130
- }
131
- static facesToUv(faces, originalTextureSize, actualTextureSize) {
132
- return new Float32BufferAttribute(this.facesToUvArray(faces, originalTextureSize, actualTextureSize), 2);
133
- }
134
- static getAtlas(model) {
135
- return __awaiter(this, void 0, void 0, function* () {
136
- const keyStr = model.key.serialize();
137
- return Caching.modelTextureAtlasCache.get(keyStr, k => {
138
- return this.createAtlas(model);
139
- });
140
- });
141
- }
142
- static fillMissingTextureKeys(textures, target) {
143
- for (let faceName of CUBE_FACES) {
144
- let v = textures[faceName];
145
- if (v && v.startsWith("#")) {
146
- target[faceName] = target[v.substr(1)];
147
- }
148
- }
149
- return target;
150
- }
151
- // https://yeleha.co/3qlboGS
152
- static getFallbackUv(element, faceName) {
153
- switch (faceName) {
154
- case CubeFace.DOWN:
155
- return [element.from[X], 16 - element.to[Z], element.to[X], 16 - element.from[Z]];
156
- case CubeFace.UP:
157
- return [element.from[X], element.from[Z], element.to[X], element.to[Z]];
158
- case CubeFace.NORTH:
159
- default:
160
- return [16 - element.to[X], 16 - element.to[Y], 16 - element.from[X], 16 - element.from[Y]];
161
- case CubeFace.SOUTH:
162
- return [element.from[X], 16 - element.to[Y], element.to[X], 16 - element.from[Y]];
163
- case CubeFace.WEST:
164
- return [element.from[Z], 16 - element.to[Y], element.to[Z], 16 - element.from[Y]];
165
- case CubeFace.EAST:
166
- return [16 - element.to[Z], 16 - element.to[Y], 16 - element.from[Z], 16 - element.from[Y]];
167
- }
168
- }
169
- static expandAndRotateMcUvs([u1, v1, u2, v2], rotation = 0, actualWidth, actualHeight) {
170
- // Resize coordinates to actual texture size
171
- const scaleU = actualWidth / 16;
172
- const scaleV = actualHeight / 16;
173
- u1 *= scaleU;
174
- v1 *= scaleV;
175
- u2 *= scaleU;
176
- v2 *= scaleV;
177
- let tl = new Vector2(u1, v1); // top left
178
- let tr = new Vector2(u2, v1); // top right
179
- let bl = new Vector2(u1, v2); // bottom left
180
- let br = new Vector2(u2, v2); // bottom right
181
- switch (rotation) {
182
- case 0:
183
- case 360:
184
- default:
185
- break;
186
- case 90:
187
- tl = new Vector2(u1, v2);
188
- tr = new Vector2(u1, v1);
189
- bl = new Vector2(u2, v2);
190
- br = new Vector2(u2, v1);
191
- break;
192
- case 180:
193
- tl = new Vector2(u2, v2);
194
- tr = new Vector2(u1, v2);
195
- bl = new Vector2(u2, v1);
196
- br = new Vector2(u1, v1);
197
- break;
198
- case 270:
199
- tl = new Vector2(u2, v1);
200
- tr = new Vector2(u2, v2);
201
- bl = new Vector2(u1, v1);
202
- br = new Vector2(u1, v2);
203
- break;
204
- }
205
- return [tl, tr, bl, br];
206
- }
207
- static createAtlas(originalModel) {
208
- var _a, _b;
209
- return __awaiter(this, void 0, void 0, function* () {
210
- const textureMap = {};
211
- const metaMap = {};
212
- const model = Object.assign({}, originalModel);
213
- const isItemModel = !("elements" in model);
214
- console.debug(p, "Creating Atlas for", model.key);
215
- if (model.textures) {
216
- const promises = [];
217
- const uniqueTextureNames = []; // TODO: make these actually unique
218
- const textureReferences = {};
219
- for (let textureKey in model.textures) {
220
- let textureValue = model.textures[textureKey];
221
- if (textureValue.startsWith("#")) {
222
- textureReferences[textureKey] = textureValue.substr(1);
223
- }
224
- else {
225
- uniqueTextureNames.push(textureKey);
226
- const assetKey = AssetKey.parse("textures", textureValue, model.key);
227
- promises.push(ModelTextures.get(assetKey).then(asset => {
228
- textureMap[textureKey] = new WrappedImage(asset);
229
- }));
230
- promises.push(ModelTextures.getMeta(assetKey).then(meta => {
231
- metaMap[textureKey] = meta;
232
- }));
233
- }
234
- }
235
- yield Promise.all(promises);
236
- const textureCount = uniqueTextureNames.length;
237
- console.debug(p, "Creating Atlas for", textureCount, "textures");
238
- // console.log(model.textures)
239
- this.fillMissingTextureKeys(model.textures, textureMap);
240
- this.fillMissingTextureKeys(model.textures, metaMap);
241
- const sizes = {};
242
- // Find largest texture dimensions
243
- let maxWidth = 0;
244
- let maxHeight = 0;
245
- for (let textureKey of uniqueTextureNames) {
246
- let texture = textureMap[textureKey];
247
- if (!texture)
248
- continue;
249
- sizes[textureKey] = [texture.width, texture.height];
250
- if (texture.width > maxWidth) {
251
- maxWidth = texture.width;
252
- }
253
- if (texture.height > maxHeight) {
254
- maxHeight = texture.height;
255
- }
256
- }
257
- this.fillMissingTextureKeys(model.textures, sizes);
258
- // console.log(sizes);
259
- const s = (Math.ceil(Math.sqrt(textureCount + 1))); // +1 for transparency
260
- const size = Math.ceil(s * maxWidth);
261
- console.debug(p, "Atlas size:", size);
262
- // console.log("size: " + size);
263
- const squaredSize = size * size;
264
- const missing = yield ImageLoader.getData("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAQMAAACQp+OdAAAABlBMVEX/AP8AAACfphTyAAAAFUlEQVQoz2MIhQKGVVAwKjIqQrwIAHRz/wFI17TEAAAAAElFTkSuQmCC");
265
- const empty = yield ImageLoader.getData("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAQMAAACQp+OdAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAA5JREFUKM9jGAWjgAIAAAJAAAFSSwuTAAAAAElFTkSuQmCC");
266
- //TODO: add transparent texture and use as default uv
267
- // Create image
268
- const image = new CanvasImage(size, size);
269
- image.putData(missing, 0, 0); // fill with invalid texture image
270
- image.putData(empty, 0, 0, 0, 0, maxWidth, maxWidth); // add transparent section in the top-left corner
271
- const positions = {};
272
- let hasTransparency = false;
273
- let hasAnimation = false;
274
- const animatorFunctions = {};
275
- // Draw all textures onto a single image
276
- let tx = 1; // start one over to leave room for the transparent space
277
- let ty = 0;
278
- for (let textureIndex = 0; textureIndex < uniqueTextureNames.length; textureIndex++) {
279
- let textureKey = uniqueTextureNames[textureIndex];
280
- let texture = textureMap[textureKey];
281
- let x = tx * maxWidth;
282
- let y = ty * maxWidth;
283
- if (texture) {
284
- console.log(texture);
285
- positions[textureKey] = [x, y];
286
- image.putData(texture.data, x, y, 0, 0, maxWidth, maxWidth);
287
- // console.log(image.toDataURL())
288
- //TODO: only first frame for animated textures
289
- if (texture.hasTransparency) {
290
- hasTransparency = true;
291
- }
292
- if (texture.animated) {
293
- hasAnimation = true;
294
- const meta = metaMap[textureKey];
295
- const frameTime = (_b = (_a = meta === null || meta === void 0 ? void 0 : meta.animation) === null || _a === void 0 ? void 0 : _a.frametime) !== null && _b !== void 0 ? _b : 1;
296
- console.log(meta);
297
- console.log(frameTime);
298
- let t = 0;
299
- let f = 0;
300
- animatorFunctions[textureKey] = () => {
301
- var _a;
302
- console.log("animating", textureKey);
303
- //TODO: use mcmeta for frame count, delays, etc
304
- //TODO: interpolate?
305
- if (t++ >= frameTime) {
306
- t = 0;
307
- const frames = (_a = meta === null || meta === void 0 ? void 0 : meta.animation) === null || _a === void 0 ? void 0 : _a.frames;
308
- const frame = frames ? frames[f] : f; //TODO: frame.time support
309
- image.putData(texture.getFrameSectionData(frame), x, y, 0, 0, maxWidth, maxWidth);
310
- f++;
311
- if (f >= (frames ? frames.length : texture.frameCount)) {
312
- f = 0;
313
- }
314
- }
315
- };
316
- }
317
- }
318
- tx++;
319
- if (tx >= s) {
320
- tx = 0;
321
- ty++;
322
- }
323
- }
324
- const atlasImageData = image.toDataURL();
325
- console.log(p, "Atlas Image for", model.key, atlasImageData);
326
- this.fillMissingTextureKeys(model.textures, positions);
327
- // console.log(positions);
328
- if (isItemModel) {
329
- console.debug(p, "Generating item model for", model);
330
- model.elements = [];
331
- for (let layerName of ModelGenerator.ITEM_LAYERS) {
332
- const textureImage = textureMap[layerName];
333
- if (textureImage) {
334
- model.elements.push(...ModelGenerator.generateItemModel(textureImage.data, layerName));
335
- }
336
- }
337
- console.debug(p, "Item model elements", model.elements);
338
- }
339
- if (!model.elements) {
340
- //TODO: default elements
341
- }
342
- // Adjust UV positions
343
- if (model.elements) {
344
- for (let elementIndex = 0; elementIndex < model.elements.length; elementIndex++) {
345
- let element = model.elements[elementIndex];
346
- let uv = [];
347
- // Set default uvs to missing texture
348
- for (let i = 0; i < CUBE_FACES.length; i++) {
349
- this.setCubeFaceUvInArray(uv, i * 4, [0, 0, 8 / size, 8 / size]);
350
- }
351
- for (let faceIndex = 0; faceIndex < CUBE_FACES.length; faceIndex++) {
352
- let faceName = CUBE_FACES[faceIndex];
353
- // console.log(faceName)
354
- let face = element.faces[faceName];
355
- if (!face) {
356
- // set uv transparent
357
- this.setCubeFaceUvInArray(uv, faceIndex * 4, [0, 1, 8 / size, (size - 8) / size]);
358
- continue;
359
- }
360
- if (!face.uv) {
361
- face.uv = this.getFallbackUv(element, faceName);
362
- }
363
- let faceTexture = face.texture;
364
- let texPosition;
365
- let texSize;
366
- if (faceTexture) {
367
- faceTexture = faceTexture.substr(1); // remove #
368
- texPosition = positions[faceTexture] || [0, 0];
369
- texSize = sizes[faceTexture] || [16, 16];
370
- }
371
- let texPosV = new Vector2(texPosition[0], texPosition[1]);
372
- const [tl, tr, bl, br] = this.expandAndRotateMcUvs(face.uv, face.rotation, texSize[0], texSize[1]);
373
- // move to atlas position
374
- tl.add(texPosV);
375
- tr.add(texPosV);
376
- bl.add(texPosV);
377
- br.add(texPosV);
378
- // divide to 0-1
379
- tl.divideScalar(size);
380
- tr.divideScalar(size);
381
- bl.divideScalar(size);
382
- br.divideScalar(size);
383
- // flip y coordinates
384
- tl.y = 1 - tl.y;
385
- tr.y = 1 - tr.y;
386
- bl.y = 1 - bl.y;
387
- br.y = 1 - br.y;
388
- //TODO: figure out how uv lock works
389
- let uvs = [tl, tr, bl, br];
390
- // console.log("uvs", uvs);
391
- this.setFaceUvInArrayV(uv, faceIndex * 4, uvs);
392
- }
393
- element.mappedUv = uv;
394
- }
395
- }
396
- else {
397
- //TODO: item model
398
- }
399
- return new TextureAtlas(model, image, sizes, positions, hasAnimation, animatorFunctions, hasTransparency);
400
- }
401
- else {
402
- console.warn(p, "Model does not have any textures", model);
403
- }
404
- return undefined;
405
- });
406
- }
407
- }
408
- // Based on net.minecraft.client.renderer.block.model.BlockFaceUV
409
- export class MinecraftFaceUV {
410
- constructor(uv = [0, 0, 16, 16], rotation = 0) {
411
- this.uv = uv;
412
- this.rotation = rotation;
413
- }
414
- getU(index) {
415
- const shiftedIndex = this.getShiftedIndex(index);
416
- return this.uv[shiftedIndex !== 0 && index !== 1 ? 2 : 0];
417
- }
418
- getV(index) {
419
- const shiftedIndex = this.getShiftedIndex(index);
420
- return this.uv[shiftedIndex !== 0 && index !== 3 ? 3 : 1];
421
- }
422
- getShiftedIndex(index) {
423
- return (index + this.rotation / 90) % 40;
424
- }
425
- getReverseIndex(index) {
426
- return (index + 4 - this.rotation / 90) % 4;
427
- }
428
- }
429
- //# sourceMappingURL=UVMapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UVMapper.js","sourceRoot":"src/","sources":["UVMapper.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { ImageData } from "canvas";
2
- import { ExtractableImageData } from "./ExtractableImageData";
3
- export declare class WrappedImage {
4
- readonly dta: ExtractableImageData;
5
- constructor(dta: ExtractableImageData);
6
- get data(): ImageData;
7
- get dataArray(): Uint8ClampedArray;
8
- get width(): number;
9
- get height(): number;
10
- get hasTransparency(): boolean;
11
- get animated(): boolean;
12
- get frameCount(): number;
13
- getFrameY(frame: number): number;
14
- getSectionData(sx: number, sy: number, sw: number, sh: number): ImageData;
15
- getPixel(x: number, y: number): Uint8ClampedArray;
16
- getFrameSectionData(frame: number): ImageData;
17
- }
@@ -1,46 +0,0 @@
1
- export class WrappedImage {
2
- constructor(dta) {
3
- this.dta = dta;
4
- }
5
- get data() {
6
- return this.getSectionData(0, 0, this.width, this.height);
7
- }
8
- get dataArray() {
9
- return this.data.data;
10
- }
11
- get width() {
12
- return this.dta.width;
13
- }
14
- get height() {
15
- return this.dta.height;
16
- }
17
- get hasTransparency() {
18
- const data = this.data.data;
19
- for (let i = 0; i < data.length; i += 4) {
20
- if (data[i + 3] < 255) {
21
- return true;
22
- }
23
- }
24
- return false;
25
- }
26
- get animated() {
27
- return this.height > this.width && this.height % this.width === 0;
28
- }
29
- get frameCount() {
30
- return this.height / this.width;
31
- }
32
- getFrameY(frame) {
33
- return (this.height / this.frameCount) * Math.max(0, Math.min(this.frameCount, frame));
34
- }
35
- getSectionData(sx, sy, sw, sh) {
36
- return this.dta.data.getImageData(sx, sy, sw, sh);
37
- }
38
- getPixel(x, y) {
39
- return this.dta.data.getImageData(x, y, 1, 1).data;
40
- }
41
- getFrameSectionData(frame) {
42
- const y = this.getFrameY(frame);
43
- return this.getSectionData(0, y, this.width, this.width + y);
44
- }
45
- }
46
- //# sourceMappingURL=WrappedImage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WrappedImage.js","sourceRoot":"src/","sources":["WrappedImage.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,YAAY;IAErB,YAAqB,GAAyB;QAAzB,QAAG,GAAH,GAAG,CAAsB;IAC9C,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,eAAe;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YACrC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE;gBACnB,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,SAAS,CAAC,KAAa;QACnB,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,cAAc,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;QACzD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,QAAQ,CAAC,CAAS,EAAE,CAAS;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC;CAEJ"}
@@ -1,10 +0,0 @@
1
- import { TripleArray } from "../model/Model";
2
- import { Face } from "./Face";
3
- export interface Cube {
4
- origin: TripleArray;
5
- size: TripleArray;
6
- rotation: TripleArray;
7
- faces: {
8
- [side: string]: Face;
9
- };
10
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Cube.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Cube.js","sourceRoot":"src/","sources":["_model/Cube.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- import { Cube } from "./Cube";
2
- import { TripleArray } from "../model/Model";
3
- export interface Element {
4
- name: string;
5
- parent?: string;
6
- pivot: TripleArray;
7
- rotation: TripleArray;
8
- cubes: Cube[];
9
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Element.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Element.js","sourceRoot":"src/","sources":["_model/Element.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import { QuadArray } from "../model/Model";
2
- export interface Face {
3
- uv: QuadArray;
4
- mappedUv?: QuadArray;
5
- texture: string;
6
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Face.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Face.js","sourceRoot":"src/","sources":["_model/Face.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import { Element } from "./Element";
2
- export interface Model {
3
- elements: Element[];
4
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Model.js","sourceRoot":"src/","sources":["_model/Model.ts"],"names":[],"mappings":""}
@@ -1,26 +0,0 @@
1
- import { Serializable } from "../Serializable";
2
- export declare type AssetType = "models" | "textures" | "blockstates" | string;
3
- export declare class BasicAssetKey implements Serializable {
4
- readonly namespace: string;
5
- readonly path: string;
6
- constructor(key: BasicAssetKey);
7
- constructor(namespace: string, path: string);
8
- toNamespacedString(): string;
9
- toString(): string;
10
- serialize(): string;
11
- }
12
- export declare class AssetKey extends BasicAssetKey {
13
- readonly namespace: string;
14
- readonly path: string;
15
- assetType?: string | undefined;
16
- type?: string | undefined;
17
- rootType: "assets" | "data" | string;
18
- extension: ".json" | ".png" | string;
19
- root?: string | undefined;
20
- constructor(namespace: string, path: string, assetType?: string | undefined, type?: string | undefined, rootType?: "assets" | "data" | string, extension?: ".json" | ".png" | string, root?: string | undefined);
21
- static parse(assetType: AssetType, str: string, origin?: AssetKey): AssetKey;
22
- toString(): string;
23
- serialize(): string;
24
- }
25
- export declare function isBasicAssetKey(obj: any): obj is BasicAssetKey;
26
- export declare function isAssetKey(obj: any): obj is AssetKey;