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
@@ -1,362 +1,362 @@
1
- import { Raycaster, Vector2 } from "three";
2
- import { isSceneObject } from "../renderer/SceneObject";
3
- import { toDegrees, toRadians } from "../util/util";
4
- import { isTransformable } from "../Transformable";
5
- import { prefix } from "../util/log";
6
- import { isMesh } from "../util/three";
7
- const p = prefix("SceneInspector");
8
- const help = "<span>Ctrl+Click to Select<br/></span><br/>";
9
- export class SceneInspector {
10
- constructor(renderer) {
11
- this.renderer = renderer;
12
- this.mouse = new Vector2();
13
- this.objectInfoContainer = document.createElement("div");
14
- this.objectControlsContainer = document.createElement("div");
15
- this.raycaster = new Raycaster();
16
- this.init();
17
- }
18
- init() {
19
- this.objectInfoContainer.classList.add("minerender-inspector", "minerender-object-info");
20
- this.objectControlsContainer.classList.add("minerender-inspector", "minerender-object-controls");
21
- this.objectInfoContainer.innerHTML = help;
22
- document.addEventListener("click", this.onClick.bind(this), {
23
- passive: true
24
- });
25
- }
26
- findMeshChildren(from, out = []) {
27
- for (let c of from.children) {
28
- if (isMesh(c)) {
29
- out.push(c);
30
- }
31
- this.findMeshChildren(c, out);
32
- }
33
- return out;
34
- }
35
- onClick(event) {
36
- var _a;
37
- if (((_a = event.target) === null || _a === void 0 ? void 0 : _a.nodeName) !== "CANVAS")
38
- return;
39
- if (!event.ctrlKey)
40
- return;
41
- setTimeout(() => {
42
- this.mouse.x = (event.clientX / window.innerWidth) * 2 - 1;
43
- this.mouse.y = -(event.clientY / window.innerHeight) * 2 + 1;
44
- this.raycaster.setFromCamera(this.mouse, this.renderer.camera);
45
- let start = Date.now();
46
- let targets = this.findMeshChildren(this.renderer.scene);
47
- const intersects = this.raycaster.intersectObjects(targets, false);
48
- console.debug("Raycast took " + (Date.now() - start) + "ms for " + targets.length + " possible targets with " + intersects.length + " results");
49
- if (intersects.length > 0) {
50
- this.handleRaycasterObjects(intersects);
51
- }
52
- });
53
- }
54
- appendTo(el) {
55
- el.append(this.objectInfoContainer);
56
- el.append(this.objectControlsContainer);
57
- }
58
- handleRaycasterObjects(intersections) {
59
- console.debug(intersections);
60
- const firstIntersection = intersections[0];
61
- if (firstIntersection && firstIntersection.object) {
62
- const firstObject = firstIntersection.object;
63
- let targetIntersection = undefined;
64
- let targetObject = undefined;
65
- const firstSceneObjectIntersection = intersections.find(i => i.object && i.object.parent && isSceneObject(i.object.parent));
66
- if (firstSceneObjectIntersection && firstSceneObjectIntersection.object) {
67
- targetIntersection = firstSceneObjectIntersection;
68
- targetObject = firstSceneObjectIntersection.object;
69
- }
70
- else {
71
- // fallback to first intersect
72
- targetIntersection = firstIntersection;
73
- targetObject = firstObject;
74
- }
75
- if (!targetIntersection || !targetObject)
76
- return;
77
- this.selectObject(targetObject, targetIntersection);
78
- }
79
- }
80
- selectObject(targetObject, targetIntersection) {
81
- this.selectedObject = targetObject;
82
- console.log(p, "selected", targetObject);
83
- this.redraw(targetObject, targetIntersection);
84
- }
85
- redraw(targetObject, targetIntersection) {
86
- this.objectInfoContainer.innerHTML = help;
87
- if (targetIntersection) {
88
- this.addInfoLine("Distance", "D", targetIntersection.distance);
89
- this.addInfoLine("Instance #", "I", targetIntersection.instanceId);
90
- }
91
- this.addInfoLine("Type", "T", targetObject.constructor.name + "/" + targetObject.type);
92
- this.addInfoLine("Name", "N", targetObject.name);
93
- if (targetObject.parent) {
94
- this.addInfoLine("Parent", "P", targetObject.parent.constructor.name);
95
- if (isSceneObject(targetObject.parent)) {
96
- //...
97
- }
98
- }
99
- this.objectControlsContainer.innerHTML = '';
100
- this.addControls(targetObject, targetIntersection);
101
- }
102
- addControls(object, intersection) {
103
- const container = document.createElement("div");
104
- container.append(this.separator("Select Parent/Child"));
105
- if (object.parent) {
106
- container.append(this.buttonControl("Select Parent " + object.parent.constructor.name + " " + object.parent.name, "P", () => {
107
- this.selectObject(object.parent, intersection);
108
- }));
109
- }
110
- if (object.children.length > 0) {
111
- let i = 1;
112
- for (let child of object.children) {
113
- container.append(this.buttonControl("Select Child " + child.constructor.name + " " + child.name, "C" + (i++), () => {
114
- this.selectObject(child, intersection);
115
- }));
116
- }
117
- }
118
- container.append(this.separator());
119
- container.append(this.toggleControl("Visibility", "V", object.visible, v => object.visible = v));
120
- // let transformTarget = object.parent!;
121
- // container.append(this.selectControl("Transform Target","T",["parent","mesh"],v=>{
122
- // switch (v) {
123
- // case "parent":
124
- // transformTarget = object.parent!;
125
- // break;
126
- // case "mesh":
127
- // transformTarget = object;
128
- // break;
129
- // }
130
- // }))
131
- // if(object.parent) {
132
- // container.append(this.separator("Parent"))
133
- // this.addObjectControls(object.parent, intersection, container);
134
- // container.append(this.separator());
135
- // }
136
- container.append(this.separator("Mesh"));
137
- this.addObjectControls(object, intersection, container);
138
- container.append(this.separator());
139
- this.objectControlsContainer.append(container);
140
- }
141
- addInfoLine(name, id, value) {
142
- const el = document.createElement("span");
143
- el.innerText = `${id}: ${value}`;
144
- el.setAttribute("title", name);
145
- this.objectInfoContainer.append(el);
146
- this.objectInfoContainer.append(document.createElement("br"));
147
- return el;
148
- }
149
- addObjectControls(target, intersection, container) {
150
- const posRange = 16 * 16;
151
- const rotRange = 360;
152
- const scaleRange = 4;
153
- if (typeof intersection !== "undefined" && typeof intersection.instanceId !== "undefined" && isSceneObject(target) && target.isInstanced) {
154
- const scObj = target;
155
- container.append(this.separator("Position"));
156
- let pos = scObj.getPositionAt(intersection.instanceId);
157
- container.append(this.rangeControl("X Position", "X", -posRange + pos.x, posRange + pos.x, pos.x, 1, v => {
158
- pos = scObj.getPositionAt(intersection.instanceId);
159
- pos.x = v;
160
- scObj.setPositionAt(intersection.instanceId, pos);
161
- }));
162
- container.append(this.rangeControl("Y Position", "Y", -posRange + pos.y, posRange + pos.y, pos.y, 1, v => {
163
- pos = scObj.getPositionAt(intersection.instanceId);
164
- pos.y = v;
165
- scObj.setPositionAt(intersection.instanceId, pos);
166
- }));
167
- container.append(this.rangeControl("Z Position", "Z", -posRange + pos.z, posRange + pos.z, pos.z, 1, v => {
168
- pos = scObj.getPositionAt(intersection.instanceId);
169
- pos.z = v;
170
- scObj.setPositionAt(intersection.instanceId, pos);
171
- }));
172
- container.append(this.separator("Rotation"));
173
- let rot = scObj.getRotationAt(intersection.instanceId);
174
- container.append(this.rangeControl("X Rotation", "X", 0, rotRange, Math.round(toDegrees(rot.x)), 1, v => {
175
- rot = scObj.getRotationAt(intersection.instanceId);
176
- rot.x = toRadians(v);
177
- scObj.setRotationAt(intersection.instanceId, rot);
178
- }));
179
- container.append(this.rangeControl("Y Rotation", "Y", 0, rotRange, Math.round(toDegrees(rot.y)), 1, v => {
180
- rot = scObj.getRotationAt(intersection.instanceId);
181
- rot.y = toRadians(v);
182
- scObj.setRotationAt(intersection.instanceId, rot);
183
- }));
184
- container.append(this.rangeControl("Z Rotation", "Z", 0, rotRange, Math.round(toDegrees(rot.z)), 1, v => {
185
- rot = scObj.getRotationAt(intersection.instanceId);
186
- rot.z = toRadians(v);
187
- scObj.setRotationAt(intersection.instanceId, rot);
188
- }));
189
- container.append(this.separator("Scale"));
190
- let scl = scObj.getScale();
191
- container.append(this.rangeControl("X Scale", "X", 0, scaleRange, scl.x, 0.1, v => {
192
- scl = scObj.getScaleAt(intersection.instanceId);
193
- scl.x = v;
194
- scObj.setScaleAt(intersection.instanceId, scl);
195
- }));
196
- container.append(this.rangeControl("Y Scale", "Y", 0, scaleRange, scl.y, 0.1, v => {
197
- scl = scObj.getScaleAt(intersection.instanceId);
198
- scl.y = v;
199
- scObj.setScaleAt(intersection.instanceId, scl);
200
- }));
201
- container.append(this.rangeControl("Z Scale", "Z", 0, scaleRange, scl.z, 0.1, v => {
202
- scl = scObj.getScaleAt(intersection.instanceId);
203
- scl.z = v;
204
- scObj.setScaleAt(intersection.instanceId, scl);
205
- }));
206
- }
207
- else if (isTransformable(target)) {
208
- const parent = target;
209
- container.append(this.separator("Position"));
210
- let pos = parent.getPosition();
211
- container.append(this.rangeControl("X Position", "X", -posRange, posRange, pos.x, 1, v => {
212
- pos = parent.getPosition();
213
- pos.x = v;
214
- parent.setPosition(pos);
215
- }));
216
- container.append(this.rangeControl("Y Position", "Y", -posRange, posRange, pos.y, 1, v => {
217
- pos = parent.getPosition();
218
- pos.y = v;
219
- parent.setPosition(pos);
220
- }));
221
- container.append(this.rangeControl("Z Position", "Z", -posRange, posRange, pos.z, 1, v => {
222
- pos = parent.getPosition();
223
- pos.z = v;
224
- parent.setPosition(pos);
225
- }));
226
- container.append(this.separator("Rotation"));
227
- let rot = parent.getRotation();
228
- container.append(this.rangeControl("X Rotation", "X", 0, rotRange, Math.round(toDegrees(rot.x)), 1, v => {
229
- rot = parent.getRotation();
230
- rot.x = toRadians(v);
231
- parent.setRotation(rot);
232
- }));
233
- container.append(this.rangeControl("Y Rotation", "Y", 0, rotRange, Math.round(toDegrees(rot.y)), 1, v => {
234
- rot = parent.getRotation();
235
- rot.y = toRadians(v);
236
- parent.setRotation(rot);
237
- }));
238
- container.append(this.rangeControl("Z Rotation", "Z", 0, rotRange, Math.round(toDegrees(rot.z)), 1, v => {
239
- rot = parent.getRotation();
240
- rot.z = toRadians(v);
241
- parent.setRotation(rot);
242
- }));
243
- container.append(this.separator("Scale"));
244
- let scl = parent.getScale();
245
- container.append(this.rangeControl("X Scale", "X", 0, scaleRange, scl.x, 0.1, v => {
246
- scl = parent.getScale();
247
- scl.x = v;
248
- parent.setScale(scl);
249
- }));
250
- container.append(this.rangeControl("Y Scale", "Y", 0, scaleRange, scl.y, 0.1, v => {
251
- scl = parent.getScale();
252
- scl.y = v;
253
- parent.setScale(scl);
254
- }));
255
- container.append(this.rangeControl("Z Scale", "Z", 0, scaleRange, scl.z, 0.1, v => {
256
- scl = parent.getScale();
257
- scl.z = v;
258
- parent.setScale(scl);
259
- }));
260
- }
261
- else {
262
- container.append(this.separator("Position"));
263
- container.append(this.rangeControl("X Position", "X", -posRange, posRange, target.position.x, 1, v => target.position.setX(v)));
264
- container.append(this.rangeControl("Y Position", "Y", -posRange, posRange, target.position.y, 1, v => target.position.setY(v)));
265
- container.append(this.rangeControl("Z Position", "Z", -posRange, posRange, target.position.z, 1, v => target.position.setZ(v)));
266
- container.append(this.separator("Rotation"));
267
- container.append(this.rangeControl("X Rotation", "X", 0, rotRange, toDegrees(target.rotation.x), 1, v => target.rotation.x = toRadians(v)));
268
- container.append(this.rangeControl("Y Rotation", "Y", 0, rotRange, toDegrees(target.rotation.y), 1, v => target.rotation.y = toRadians(v)));
269
- container.append(this.rangeControl("Z Rotation", "Z", 0, rotRange, toDegrees(target.rotation.z), 1, v => target.rotation.z = toRadians(v)));
270
- container.append(this.separator("Scale"));
271
- container.append(this.rangeControl("X Scale", "X", 0, scaleRange, target.scale.x, 0.1, v => target.scale.x = v));
272
- container.append(this.rangeControl("Y Scale", "Y", 0, scaleRange, target.scale.y, 0.1, v => target.scale.y = v));
273
- container.append(this.rangeControl("Z Scale", "Z", 0, scaleRange, target.scale.z, 0.1, v => target.scale.z = v));
274
- }
275
- }
276
- buttonControl(name, id, click) {
277
- const button = document.createElement("button");
278
- button.innerText = id;
279
- button.setAttribute("title", name);
280
- button.addEventListener("click", click);
281
- return button;
282
- }
283
- selectControl(name, id, options, change) {
284
- const label = document.createElement("label");
285
- label.innerText = id;
286
- label.setAttribute("title", name);
287
- const select = document.createElement("select");
288
- options.forEach(o => {
289
- const opt = document.createElement("option");
290
- opt.value = o;
291
- opt.innerText = o;
292
- select.append(opt);
293
- });
294
- select.addEventListener("change", e => {
295
- change(options[select.selectedIndex]);
296
- });
297
- select.selectedIndex = 0;
298
- label.append(select);
299
- label.append(document.createElement("br"));
300
- return label;
301
- }
302
- toggleControl(name, id, val, change) {
303
- const label = document.createElement("label");
304
- label.innerText = id;
305
- label.setAttribute("title", name);
306
- const toggle = document.createElement("input");
307
- toggle.setAttribute("type", "checkbox");
308
- toggle.checked = val; //TODO: instance
309
- toggle.addEventListener("change", e => {
310
- change(toggle.checked);
311
- });
312
- label.append(toggle);
313
- label.append(document.createElement("br"));
314
- return label;
315
- }
316
- rangeControl(name, id, min, max, val, step, change) {
317
- const label = document.createElement("label");
318
- const labelText = document.createElement("span");
319
- label.append(labelText);
320
- label.setAttribute("title", name);
321
- labelText.style.width = "18%";
322
- labelText.style.display = "inline-block";
323
- labelText.innerText = `${id} (${val})`;
324
- const range = document.createElement("input");
325
- range.setAttribute("type", "range");
326
- range.style.width = "80%";
327
- range.max = `${max}`;
328
- range.min = `${min}`;
329
- range.step = `${step}`;
330
- range.value = `${val}`;
331
- const onChange = () => {
332
- change(parseFloat(range.value));
333
- labelText.innerText = `${id} (${range.value})`;
334
- };
335
- // range.addEventListener("change", onChange);
336
- range.addEventListener("input", onChange);
337
- range.addEventListener("wheel", e => {
338
- e.preventDefault();
339
- if (e.deltaY < 0) {
340
- range.value = `${parseFloat(range.value) + step}`;
341
- onChange();
342
- }
343
- else if (e.deltaY > 0) {
344
- range.value = `${parseFloat(range.value) - step}`;
345
- onChange();
346
- }
347
- });
348
- label.append(range);
349
- label.append(document.createElement("br"));
350
- return label;
351
- }
352
- separator(name) {
353
- const span = document.createElement("span");
354
- if (name) {
355
- span.innerText = name;
356
- }
357
- span.prepend(document.createElement("br"));
358
- span.append(document.createElement("br"));
359
- return span;
360
- }
361
- }
1
+ import { Raycaster, Vector2 } from "three";
2
+ import { isSceneObject } from "../renderer/SceneObject";
3
+ import { toDegrees, toRadians } from "../util/util";
4
+ import { isTransformable } from "../Transformable";
5
+ import { prefix } from "../util/log";
6
+ import { isMesh } from "../util/three";
7
+ const p = prefix("SceneInspector");
8
+ const help = "<span>Ctrl+Click to Select<br/></span><br/>";
9
+ export class SceneInspector {
10
+ constructor(renderer) {
11
+ this.renderer = renderer;
12
+ this.mouse = new Vector2();
13
+ this.objectInfoContainer = document.createElement("div");
14
+ this.objectControlsContainer = document.createElement("div");
15
+ this.raycaster = new Raycaster();
16
+ this.init();
17
+ }
18
+ init() {
19
+ this.objectInfoContainer.classList.add("minerender-inspector", "minerender-object-info");
20
+ this.objectControlsContainer.classList.add("minerender-inspector", "minerender-object-controls");
21
+ this.objectInfoContainer.innerHTML = help;
22
+ document.addEventListener("click", this.onClick.bind(this), {
23
+ passive: true
24
+ });
25
+ }
26
+ findMeshChildren(from, out = []) {
27
+ for (let c of from.children) {
28
+ if (isMesh(c)) {
29
+ out.push(c);
30
+ }
31
+ this.findMeshChildren(c, out);
32
+ }
33
+ return out;
34
+ }
35
+ onClick(event) {
36
+ var _a;
37
+ if (((_a = event.target) === null || _a === void 0 ? void 0 : _a.nodeName) !== "CANVAS")
38
+ return;
39
+ if (!event.ctrlKey)
40
+ return;
41
+ setTimeout(() => {
42
+ this.mouse.x = (event.clientX / window.innerWidth) * 2 - 1;
43
+ this.mouse.y = -(event.clientY / window.innerHeight) * 2 + 1;
44
+ this.raycaster.setFromCamera(this.mouse, this.renderer.camera);
45
+ let start = Date.now();
46
+ let targets = this.findMeshChildren(this.renderer.scene);
47
+ const intersects = this.raycaster.intersectObjects(targets, false);
48
+ console.debug("Raycast took " + (Date.now() - start) + "ms for " + targets.length + " possible targets with " + intersects.length + " results");
49
+ if (intersects.length > 0) {
50
+ this.handleRaycasterObjects(intersects);
51
+ }
52
+ });
53
+ }
54
+ appendTo(el) {
55
+ el.append(this.objectInfoContainer);
56
+ el.append(this.objectControlsContainer);
57
+ }
58
+ handleRaycasterObjects(intersections) {
59
+ console.debug(intersections);
60
+ const firstIntersection = intersections[0];
61
+ if (firstIntersection && firstIntersection.object) {
62
+ const firstObject = firstIntersection.object;
63
+ let targetIntersection = undefined;
64
+ let targetObject = undefined;
65
+ const firstSceneObjectIntersection = intersections.find(i => i.object && i.object.parent && isSceneObject(i.object.parent));
66
+ if (firstSceneObjectIntersection && firstSceneObjectIntersection.object) {
67
+ targetIntersection = firstSceneObjectIntersection;
68
+ targetObject = firstSceneObjectIntersection.object;
69
+ }
70
+ else {
71
+ // fallback to first intersect
72
+ targetIntersection = firstIntersection;
73
+ targetObject = firstObject;
74
+ }
75
+ if (!targetIntersection || !targetObject)
76
+ return;
77
+ this.selectObject(targetObject, targetIntersection);
78
+ }
79
+ }
80
+ selectObject(targetObject, targetIntersection) {
81
+ this.selectedObject = targetObject;
82
+ console.log(p, "selected", targetObject);
83
+ this.redraw(targetObject, targetIntersection);
84
+ }
85
+ redraw(targetObject, targetIntersection) {
86
+ this.objectInfoContainer.innerHTML = help;
87
+ if (targetIntersection) {
88
+ this.addInfoLine("Distance", "D", targetIntersection.distance);
89
+ this.addInfoLine("Instance #", "I", targetIntersection.instanceId);
90
+ }
91
+ this.addInfoLine("Type", "T", targetObject.constructor.name + "/" + targetObject.type);
92
+ this.addInfoLine("Name", "N", targetObject.name);
93
+ if (targetObject.parent) {
94
+ this.addInfoLine("Parent", "P", targetObject.parent.constructor.name);
95
+ if (isSceneObject(targetObject.parent)) {
96
+ //...
97
+ }
98
+ }
99
+ this.objectControlsContainer.innerHTML = '';
100
+ this.addControls(targetObject, targetIntersection);
101
+ }
102
+ addControls(object, intersection) {
103
+ const container = document.createElement("div");
104
+ container.append(this.separator("Select Parent/Child"));
105
+ if (object.parent) {
106
+ container.append(this.buttonControl("Select Parent " + object.parent.constructor.name + " " + object.parent.name, "P", () => {
107
+ this.selectObject(object.parent, intersection);
108
+ }));
109
+ }
110
+ if (object.children.length > 0) {
111
+ let i = 1;
112
+ for (let child of object.children) {
113
+ container.append(this.buttonControl("Select Child " + child.constructor.name + " " + child.name, "C" + (i++), () => {
114
+ this.selectObject(child, intersection);
115
+ }));
116
+ }
117
+ }
118
+ container.append(this.separator());
119
+ container.append(this.toggleControl("Visibility", "V", object.visible, v => object.visible = v));
120
+ // let transformTarget = object.parent!;
121
+ // container.append(this.selectControl("Transform Target","T",["parent","mesh"],v=>{
122
+ // switch (v) {
123
+ // case "parent":
124
+ // transformTarget = object.parent!;
125
+ // break;
126
+ // case "mesh":
127
+ // transformTarget = object;
128
+ // break;
129
+ // }
130
+ // }))
131
+ // if(object.parent) {
132
+ // container.append(this.separator("Parent"))
133
+ // this.addObjectControls(object.parent, intersection, container);
134
+ // container.append(this.separator());
135
+ // }
136
+ container.append(this.separator("Mesh"));
137
+ this.addObjectControls(object, intersection, container);
138
+ container.append(this.separator());
139
+ this.objectControlsContainer.append(container);
140
+ }
141
+ addInfoLine(name, id, value) {
142
+ const el = document.createElement("span");
143
+ el.innerText = `${id}: ${value}`;
144
+ el.setAttribute("title", name);
145
+ this.objectInfoContainer.append(el);
146
+ this.objectInfoContainer.append(document.createElement("br"));
147
+ return el;
148
+ }
149
+ addObjectControls(target, intersection, container) {
150
+ const posRange = 16 * 16;
151
+ const rotRange = 360;
152
+ const scaleRange = 4;
153
+ if (typeof intersection !== "undefined" && typeof intersection.instanceId !== "undefined" && isSceneObject(target) && target.isInstanced) {
154
+ const scObj = target;
155
+ container.append(this.separator("Position"));
156
+ let pos = scObj.getPositionAt(intersection.instanceId);
157
+ container.append(this.rangeControl("X Position", "X", -posRange + pos.x, posRange + pos.x, pos.x, 1, v => {
158
+ pos = scObj.getPositionAt(intersection.instanceId);
159
+ pos.x = v;
160
+ scObj.setPositionAt(intersection.instanceId, pos);
161
+ }));
162
+ container.append(this.rangeControl("Y Position", "Y", -posRange + pos.y, posRange + pos.y, pos.y, 1, v => {
163
+ pos = scObj.getPositionAt(intersection.instanceId);
164
+ pos.y = v;
165
+ scObj.setPositionAt(intersection.instanceId, pos);
166
+ }));
167
+ container.append(this.rangeControl("Z Position", "Z", -posRange + pos.z, posRange + pos.z, pos.z, 1, v => {
168
+ pos = scObj.getPositionAt(intersection.instanceId);
169
+ pos.z = v;
170
+ scObj.setPositionAt(intersection.instanceId, pos);
171
+ }));
172
+ container.append(this.separator("Rotation"));
173
+ let rot = scObj.getRotationAt(intersection.instanceId);
174
+ container.append(this.rangeControl("X Rotation", "X", 0, rotRange, Math.round(toDegrees(rot.x)), 1, v => {
175
+ rot = scObj.getRotationAt(intersection.instanceId);
176
+ rot.x = toRadians(v);
177
+ scObj.setRotationAt(intersection.instanceId, rot);
178
+ }));
179
+ container.append(this.rangeControl("Y Rotation", "Y", 0, rotRange, Math.round(toDegrees(rot.y)), 1, v => {
180
+ rot = scObj.getRotationAt(intersection.instanceId);
181
+ rot.y = toRadians(v);
182
+ scObj.setRotationAt(intersection.instanceId, rot);
183
+ }));
184
+ container.append(this.rangeControl("Z Rotation", "Z", 0, rotRange, Math.round(toDegrees(rot.z)), 1, v => {
185
+ rot = scObj.getRotationAt(intersection.instanceId);
186
+ rot.z = toRadians(v);
187
+ scObj.setRotationAt(intersection.instanceId, rot);
188
+ }));
189
+ container.append(this.separator("Scale"));
190
+ let scl = scObj.getScale();
191
+ container.append(this.rangeControl("X Scale", "X", 0, scaleRange, scl.x, 0.1, v => {
192
+ scl = scObj.getScaleAt(intersection.instanceId);
193
+ scl.x = v;
194
+ scObj.setScaleAt(intersection.instanceId, scl);
195
+ }));
196
+ container.append(this.rangeControl("Y Scale", "Y", 0, scaleRange, scl.y, 0.1, v => {
197
+ scl = scObj.getScaleAt(intersection.instanceId);
198
+ scl.y = v;
199
+ scObj.setScaleAt(intersection.instanceId, scl);
200
+ }));
201
+ container.append(this.rangeControl("Z Scale", "Z", 0, scaleRange, scl.z, 0.1, v => {
202
+ scl = scObj.getScaleAt(intersection.instanceId);
203
+ scl.z = v;
204
+ scObj.setScaleAt(intersection.instanceId, scl);
205
+ }));
206
+ }
207
+ else if (isTransformable(target)) {
208
+ const parent = target;
209
+ container.append(this.separator("Position"));
210
+ let pos = parent.getPosition();
211
+ container.append(this.rangeControl("X Position", "X", -posRange, posRange, pos.x, 1, v => {
212
+ pos = parent.getPosition();
213
+ pos.x = v;
214
+ parent.setPosition(pos);
215
+ }));
216
+ container.append(this.rangeControl("Y Position", "Y", -posRange, posRange, pos.y, 1, v => {
217
+ pos = parent.getPosition();
218
+ pos.y = v;
219
+ parent.setPosition(pos);
220
+ }));
221
+ container.append(this.rangeControl("Z Position", "Z", -posRange, posRange, pos.z, 1, v => {
222
+ pos = parent.getPosition();
223
+ pos.z = v;
224
+ parent.setPosition(pos);
225
+ }));
226
+ container.append(this.separator("Rotation"));
227
+ let rot = parent.getRotation();
228
+ container.append(this.rangeControl("X Rotation", "X", 0, rotRange, Math.round(toDegrees(rot.x)), 1, v => {
229
+ rot = parent.getRotation();
230
+ rot.x = toRadians(v);
231
+ parent.setRotation(rot);
232
+ }));
233
+ container.append(this.rangeControl("Y Rotation", "Y", 0, rotRange, Math.round(toDegrees(rot.y)), 1, v => {
234
+ rot = parent.getRotation();
235
+ rot.y = toRadians(v);
236
+ parent.setRotation(rot);
237
+ }));
238
+ container.append(this.rangeControl("Z Rotation", "Z", 0, rotRange, Math.round(toDegrees(rot.z)), 1, v => {
239
+ rot = parent.getRotation();
240
+ rot.z = toRadians(v);
241
+ parent.setRotation(rot);
242
+ }));
243
+ container.append(this.separator("Scale"));
244
+ let scl = parent.getScale();
245
+ container.append(this.rangeControl("X Scale", "X", 0, scaleRange, scl.x, 0.1, v => {
246
+ scl = parent.getScale();
247
+ scl.x = v;
248
+ parent.setScale(scl);
249
+ }));
250
+ container.append(this.rangeControl("Y Scale", "Y", 0, scaleRange, scl.y, 0.1, v => {
251
+ scl = parent.getScale();
252
+ scl.y = v;
253
+ parent.setScale(scl);
254
+ }));
255
+ container.append(this.rangeControl("Z Scale", "Z", 0, scaleRange, scl.z, 0.1, v => {
256
+ scl = parent.getScale();
257
+ scl.z = v;
258
+ parent.setScale(scl);
259
+ }));
260
+ }
261
+ else {
262
+ container.append(this.separator("Position"));
263
+ container.append(this.rangeControl("X Position", "X", -posRange, posRange, target.position.x, 1, v => target.position.setX(v)));
264
+ container.append(this.rangeControl("Y Position", "Y", -posRange, posRange, target.position.y, 1, v => target.position.setY(v)));
265
+ container.append(this.rangeControl("Z Position", "Z", -posRange, posRange, target.position.z, 1, v => target.position.setZ(v)));
266
+ container.append(this.separator("Rotation"));
267
+ container.append(this.rangeControl("X Rotation", "X", 0, rotRange, toDegrees(target.rotation.x), 1, v => target.rotation.x = toRadians(v)));
268
+ container.append(this.rangeControl("Y Rotation", "Y", 0, rotRange, toDegrees(target.rotation.y), 1, v => target.rotation.y = toRadians(v)));
269
+ container.append(this.rangeControl("Z Rotation", "Z", 0, rotRange, toDegrees(target.rotation.z), 1, v => target.rotation.z = toRadians(v)));
270
+ container.append(this.separator("Scale"));
271
+ container.append(this.rangeControl("X Scale", "X", 0, scaleRange, target.scale.x, 0.1, v => target.scale.x = v));
272
+ container.append(this.rangeControl("Y Scale", "Y", 0, scaleRange, target.scale.y, 0.1, v => target.scale.y = v));
273
+ container.append(this.rangeControl("Z Scale", "Z", 0, scaleRange, target.scale.z, 0.1, v => target.scale.z = v));
274
+ }
275
+ }
276
+ buttonControl(name, id, click) {
277
+ const button = document.createElement("button");
278
+ button.innerText = id;
279
+ button.setAttribute("title", name);
280
+ button.addEventListener("click", click);
281
+ return button;
282
+ }
283
+ selectControl(name, id, options, change) {
284
+ const label = document.createElement("label");
285
+ label.innerText = id;
286
+ label.setAttribute("title", name);
287
+ const select = document.createElement("select");
288
+ options.forEach(o => {
289
+ const opt = document.createElement("option");
290
+ opt.value = o;
291
+ opt.innerText = o;
292
+ select.append(opt);
293
+ });
294
+ select.addEventListener("change", e => {
295
+ change(options[select.selectedIndex]);
296
+ });
297
+ select.selectedIndex = 0;
298
+ label.append(select);
299
+ label.append(document.createElement("br"));
300
+ return label;
301
+ }
302
+ toggleControl(name, id, val, change) {
303
+ const label = document.createElement("label");
304
+ label.innerText = id;
305
+ label.setAttribute("title", name);
306
+ const toggle = document.createElement("input");
307
+ toggle.setAttribute("type", "checkbox");
308
+ toggle.checked = val; //TODO: instance
309
+ toggle.addEventListener("change", e => {
310
+ change(toggle.checked);
311
+ });
312
+ label.append(toggle);
313
+ label.append(document.createElement("br"));
314
+ return label;
315
+ }
316
+ rangeControl(name, id, min, max, val, step, change) {
317
+ const label = document.createElement("label");
318
+ const labelText = document.createElement("span");
319
+ label.append(labelText);
320
+ label.setAttribute("title", name);
321
+ labelText.style.width = "18%";
322
+ labelText.style.display = "inline-block";
323
+ labelText.innerText = `${id} (${val})`;
324
+ const range = document.createElement("input");
325
+ range.setAttribute("type", "range");
326
+ range.style.width = "80%";
327
+ range.max = `${max}`;
328
+ range.min = `${min}`;
329
+ range.step = `${step}`;
330
+ range.value = `${val}`;
331
+ const onChange = () => {
332
+ change(parseFloat(range.value));
333
+ labelText.innerText = `${id} (${range.value})`;
334
+ };
335
+ // range.addEventListener("change", onChange);
336
+ range.addEventListener("input", onChange);
337
+ range.addEventListener("wheel", e => {
338
+ e.preventDefault();
339
+ if (e.deltaY < 0) {
340
+ range.value = `${parseFloat(range.value) + step}`;
341
+ onChange();
342
+ }
343
+ else if (e.deltaY > 0) {
344
+ range.value = `${parseFloat(range.value) - step}`;
345
+ onChange();
346
+ }
347
+ });
348
+ label.append(range);
349
+ label.append(document.createElement("br"));
350
+ return label;
351
+ }
352
+ separator(name) {
353
+ const span = document.createElement("span");
354
+ if (name) {
355
+ span.innerText = name;
356
+ }
357
+ span.prepend(document.createElement("br"));
358
+ span.append(document.createElement("br"));
359
+ return span;
360
+ }
361
+ }
362
362
  //# sourceMappingURL=SceneInspector.js.map