minerender 2.0.0-alpha.1 → 2.0.0-alpha.2

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 (284) hide show
  1. package/package.json +3 -2
  2. package/dist/bundle.js +0 -106338
  3. package/dist/esm/AnimatorFunction.d.ts +0 -3
  4. package/dist/esm/AnimatorFunction.js +0 -2
  5. package/dist/esm/AnimatorFunction.js.map +0 -1
  6. package/dist/esm/Axis.d.ts +0 -8
  7. package/dist/esm/Axis.js +0 -19
  8. package/dist/esm/Axis.js.map +0 -1
  9. package/dist/esm/CubeFace.d.ts +0 -17
  10. package/dist/esm/CubeFace.js +0 -20
  11. package/dist/esm/CubeFace.js.map +0 -1
  12. package/dist/esm/Disposable.d.ts +0 -4
  13. package/dist/esm/Disposable.js +0 -4
  14. package/dist/esm/Disposable.js.map +0 -1
  15. package/dist/esm/Env.d.ts +0 -2
  16. package/dist/esm/Env.js +0 -3
  17. package/dist/esm/Env.js.map +0 -1
  18. package/dist/esm/ExtractableImageData.d.ts +0 -5
  19. package/dist/esm/ExtractableImageData.js +0 -2
  20. package/dist/esm/ExtractableImageData.js.map +0 -1
  21. package/dist/esm/Geometries.d.ts +0 -6
  22. package/dist/esm/Geometries.js +0 -88
  23. package/dist/esm/Geometries.js.map +0 -1
  24. package/dist/esm/ListAsset.d.ts +0 -5
  25. package/dist/esm/ListAsset.js +0 -2
  26. package/dist/esm/ListAsset.js.map +0 -1
  27. package/dist/esm/Materials.d.ts +0 -9
  28. package/dist/esm/Materials.js +0 -147
  29. package/dist/esm/Materials.js.map +0 -1
  30. package/dist/esm/Meshes.d.ts +0 -6
  31. package/dist/esm/Meshes.js +0 -17
  32. package/dist/esm/Meshes.js.map +0 -1
  33. package/dist/esm/MinecraftAsset.d.ts +0 -7
  34. package/dist/esm/MinecraftAsset.js +0 -2
  35. package/dist/esm/MinecraftAsset.js.map +0 -1
  36. package/dist/esm/MinecraftCubeTexture.d.ts +0 -26
  37. package/dist/esm/MinecraftCubeTexture.js +0 -100
  38. package/dist/esm/MinecraftCubeTexture.js.map +0 -1
  39. package/dist/esm/MinecraftTextureMeta.d.ts +0 -15
  40. package/dist/esm/MinecraftTextureMeta.js +0 -2
  41. package/dist/esm/MinecraftTextureMeta.js.map +0 -1
  42. package/dist/esm/SceneStats.d.ts +0 -5
  43. package/dist/esm/SceneStats.js +0 -8
  44. package/dist/esm/SceneStats.js.map +0 -1
  45. package/dist/esm/Serializable.d.ts +0 -3
  46. package/dist/esm/Serializable.js +0 -2
  47. package/dist/esm/Serializable.js.map +0 -1
  48. package/dist/esm/Ticker.d.ts +0 -20
  49. package/dist/esm/Ticker.js +0 -51
  50. package/dist/esm/Ticker.js.map +0 -1
  51. package/dist/esm/TintColors.d.ts +0 -1
  52. package/dist/esm/TintColors.js +0 -2
  53. package/dist/esm/TintColors.js.map +0 -1
  54. package/dist/esm/Transformable.d.ts +0 -11
  55. package/dist/esm/Transformable.js +0 -4
  56. package/dist/esm/Transformable.js.map +0 -1
  57. package/dist/esm/UVMapper.d.ts +0 -40
  58. package/dist/esm/UVMapper.js +0 -429
  59. package/dist/esm/UVMapper.js.map +0 -1
  60. package/dist/esm/WrappedImage.d.ts +0 -17
  61. package/dist/esm/WrappedImage.js +0 -46
  62. package/dist/esm/WrappedImage.js.map +0 -1
  63. package/dist/esm/_model/Cube.d.ts +0 -10
  64. package/dist/esm/_model/Cube.js +0 -2
  65. package/dist/esm/_model/Cube.js.map +0 -1
  66. package/dist/esm/_model/Element.d.ts +0 -9
  67. package/dist/esm/_model/Element.js +0 -2
  68. package/dist/esm/_model/Element.js.map +0 -1
  69. package/dist/esm/_model/Face.d.ts +0 -6
  70. package/dist/esm/_model/Face.js +0 -2
  71. package/dist/esm/_model/Face.js.map +0 -1
  72. package/dist/esm/_model/Model.d.ts +0 -4
  73. package/dist/esm/_model/Model.js +0 -2
  74. package/dist/esm/_model/Model.js.map +0 -1
  75. package/dist/esm/assets/AssetKey.d.ts +0 -26
  76. package/dist/esm/assets/AssetKey.js +0 -76
  77. package/dist/esm/assets/AssetKey.js.map +0 -1
  78. package/dist/esm/assets/AssetLoader.d.ts +0 -26
  79. package/dist/esm/assets/AssetLoader.js +0 -149
  80. package/dist/esm/assets/AssetLoader.js.map +0 -1
  81. package/dist/esm/assets/Assets.d.ts +0 -14
  82. package/dist/esm/assets/Assets.js +0 -33
  83. package/dist/esm/assets/Assets.js.map +0 -1
  84. package/dist/esm/assets/BlockStates.d.ts +0 -11
  85. package/dist/esm/assets/BlockStates.js +0 -68
  86. package/dist/esm/assets/BlockStates.js.map +0 -1
  87. package/dist/esm/assets/Entities.d.ts +0 -8
  88. package/dist/esm/assets/Entities.js +0 -50
  89. package/dist/esm/assets/Entities.js.map +0 -1
  90. package/dist/esm/assets/ModelTextures.d.ts +0 -12
  91. package/dist/esm/assets/ModelTextures.js +0 -62
  92. package/dist/esm/assets/ModelTextures.js.map +0 -1
  93. package/dist/esm/assets/Models.d.ts +0 -12
  94. package/dist/esm/assets/Models.js +0 -91
  95. package/dist/esm/assets/Models.js.map +0 -1
  96. package/dist/esm/bedrock/BedrockEntityDescription.d.ts +0 -19
  97. package/dist/esm/bedrock/BedrockEntityDescription.js +0 -2
  98. package/dist/esm/bedrock/BedrockEntityDescription.js.map +0 -1
  99. package/dist/esm/bedrock/BedrockEntityFile.d.ts +0 -7
  100. package/dist/esm/bedrock/BedrockEntityFile.js +0 -2
  101. package/dist/esm/bedrock/BedrockEntityFile.js.map +0 -1
  102. package/dist/esm/bedrock/BedrockGeometry.d.ts +0 -27
  103. package/dist/esm/bedrock/BedrockGeometry.js +0 -2
  104. package/dist/esm/bedrock/BedrockGeometry.js.map +0 -1
  105. package/dist/esm/bedrock/BedrockGeometryFile.d.ts +0 -5
  106. package/dist/esm/bedrock/BedrockGeometryFile.js +0 -2
  107. package/dist/esm/bedrock/BedrockGeometryFile.js.map +0 -1
  108. package/dist/esm/cache/CacheKey.d.ts +0 -28
  109. package/dist/esm/cache/CacheKey.js +0 -19
  110. package/dist/esm/cache/CacheKey.js.map +0 -1
  111. package/dist/esm/cache/Caching.d.ts +0 -29
  112. package/dist/esm/cache/Caching.js +0 -89
  113. package/dist/esm/cache/Caching.js.map +0 -1
  114. package/dist/esm/cache/PersistentCache.d.ts +0 -15
  115. package/dist/esm/cache/PersistentCache.js +0 -105
  116. package/dist/esm/cache/PersistentCache.js.map +0 -1
  117. package/dist/esm/canvas/CanvasCompat.d.ts +0 -5
  118. package/dist/esm/canvas/CanvasCompat.js +0 -29
  119. package/dist/esm/canvas/CanvasCompat.js.map +0 -1
  120. package/dist/esm/canvas/CanvasImage.d.ts +0 -18
  121. package/dist/esm/canvas/CanvasImage.js +0 -41
  122. package/dist/esm/canvas/CanvasImage.js.map +0 -1
  123. package/dist/esm/entity/EntityModel.d.ts +0 -7
  124. package/dist/esm/entity/EntityModel.js +0 -2
  125. package/dist/esm/entity/EntityModel.js.map +0 -1
  126. package/dist/esm/entity/blockEntityModels.json +0 -1401
  127. package/dist/esm/entity/entityModels.json +0 -20623
  128. package/dist/esm/entity/scene/EntityObject.d.ts +0 -20
  129. package/dist/esm/entity/scene/EntityObject.js +0 -104
  130. package/dist/esm/entity/scene/EntityObject.js.map +0 -1
  131. package/dist/esm/error/MineRenderError.d.ts +0 -4
  132. package/dist/esm/error/MineRenderError.js +0 -11
  133. package/dist/esm/error/MineRenderError.js.map +0 -1
  134. package/dist/esm/gui/scene/GuiObject.d.ts +0 -6
  135. package/dist/esm/gui/scene/GuiObject.js +0 -4
  136. package/dist/esm/gui/scene/GuiObject.js.map +0 -1
  137. package/dist/esm/image/ImageLoader.d.ts +0 -28
  138. package/dist/esm/image/ImageLoader.js +0 -159
  139. package/dist/esm/image/ImageLoader.js.map +0 -1
  140. package/dist/esm/index.d.ts +0 -28
  141. package/dist/esm/index.js +0 -31
  142. package/dist/esm/index.js.map +0 -1
  143. package/dist/esm/inspector/SceneInspector.d.ts +0 -27
  144. package/dist/esm/inspector/SceneInspector.js +0 -362
  145. package/dist/esm/inspector/SceneInspector.js.map +0 -1
  146. package/dist/esm/inspector/SceneStats.d.ts +0 -22
  147. package/dist/esm/inspector/SceneStats.js +0 -49
  148. package/dist/esm/inspector/SceneStats.js.map +0 -1
  149. package/dist/esm/instance/InstanceManager.d.ts +0 -14
  150. package/dist/esm/instance/InstanceManager.js +0 -53
  151. package/dist/esm/instance/InstanceManager.js.map +0 -1
  152. package/dist/esm/instance/InstanceReference.d.ts +0 -21
  153. package/dist/esm/instance/InstanceReference.js +0 -44
  154. package/dist/esm/instance/InstanceReference.js.map +0 -1
  155. package/dist/esm/instance/Instanceable.d.ts +0 -16
  156. package/dist/esm/instance/Instanceable.js +0 -4
  157. package/dist/esm/instance/Instanceable.js.map +0 -1
  158. package/dist/esm/lib/OrbitControls.d.ts +0 -64
  159. package/dist/esm/lib/OrbitControls.js +0 -636
  160. package/dist/esm/lib/OrbitControls.js.map +0 -1
  161. package/dist/esm/model/DisplayPosition.d.ts +0 -11
  162. package/dist/esm/model/DisplayPosition.js +0 -13
  163. package/dist/esm/model/DisplayPosition.js.map +0 -1
  164. package/dist/esm/model/ElementFace.d.ts +0 -9
  165. package/dist/esm/model/ElementFace.js +0 -2
  166. package/dist/esm/model/ElementFace.js.map +0 -1
  167. package/dist/esm/model/GuiLight.d.ts +0 -4
  168. package/dist/esm/model/GuiLight.js +0 -6
  169. package/dist/esm/model/GuiLight.js.map +0 -1
  170. package/dist/esm/model/Model.d.ts +0 -46
  171. package/dist/esm/model/Model.js +0 -14
  172. package/dist/esm/model/Model.js.map +0 -1
  173. package/dist/esm/model/ModelElement.d.ts +0 -21
  174. package/dist/esm/model/ModelElement.js +0 -2
  175. package/dist/esm/model/ModelElement.js.map +0 -1
  176. package/dist/esm/model/ModelGenerator.d.ts +0 -6
  177. package/dist/esm/model/ModelGenerator.js +0 -23
  178. package/dist/esm/model/ModelGenerator.js.map +0 -1
  179. package/dist/esm/model/ModelMerger.d.ts +0 -5
  180. package/dist/esm/model/ModelMerger.js +0 -44
  181. package/dist/esm/model/ModelMerger.js.map +0 -1
  182. package/dist/esm/model/ModelPart.d.ts +0 -23
  183. package/dist/esm/model/ModelPart.js +0 -2
  184. package/dist/esm/model/ModelPart.js.map +0 -1
  185. package/dist/esm/model/block/Block.d.ts +0 -6
  186. package/dist/esm/model/block/Block.js +0 -2
  187. package/dist/esm/model/block/Block.js.map +0 -1
  188. package/dist/esm/model/block/BlockState.d.ts +0 -23
  189. package/dist/esm/model/block/BlockState.js +0 -2
  190. package/dist/esm/model/block/BlockState.js.map +0 -1
  191. package/dist/esm/model/block/BlockStateProperties.d.ts +0 -13
  192. package/dist/esm/model/block/BlockStateProperties.js +0 -2
  193. package/dist/esm/model/block/BlockStateProperties.js.map +0 -1
  194. package/dist/esm/model/block/scene/BlockObject.d.ts +0 -46
  195. package/dist/esm/model/block/scene/BlockObject.js +0 -460
  196. package/dist/esm/model/block/scene/BlockObject.js.map +0 -1
  197. package/dist/esm/model/defaultBlockStates.json +0 -12337
  198. package/dist/esm/model/multiblock/MultiBlockStructure.d.ts +0 -9
  199. package/dist/esm/model/multiblock/MultiBlockStructure.js +0 -2
  200. package/dist/esm/model/multiblock/MultiBlockStructure.js.map +0 -1
  201. package/dist/esm/model/multiblock/SchematicParser.d.ts +0 -4
  202. package/dist/esm/model/multiblock/SchematicParser.js +0 -19
  203. package/dist/esm/model/multiblock/SchematicParser.js.map +0 -1
  204. package/dist/esm/model/multiblock/StructureParser.d.ts +0 -70
  205. package/dist/esm/model/multiblock/StructureParser.js +0 -48
  206. package/dist/esm/model/multiblock/StructureParser.js.map +0 -1
  207. package/dist/esm/model/scene/ModelObject.d.ts +0 -25
  208. package/dist/esm/model/scene/ModelObject.js +0 -155
  209. package/dist/esm/model/scene/ModelObject.js.map +0 -1
  210. package/dist/esm/nbt/NBTHelper.d.ts +0 -8
  211. package/dist/esm/nbt/NBTHelper.js +0 -19
  212. package/dist/esm/nbt/NBTHelper.js.map +0 -1
  213. package/dist/esm/renderer/MineRenderScene.d.ts +0 -35
  214. package/dist/esm/renderer/MineRenderScene.js +0 -124
  215. package/dist/esm/renderer/MineRenderScene.js.map +0 -1
  216. package/dist/esm/renderer/Renderer.d.ts +0 -83
  217. package/dist/esm/renderer/Renderer.js +0 -260
  218. package/dist/esm/renderer/Renderer.js.map +0 -1
  219. package/dist/esm/renderer/SceneObject.d.ts +0 -81
  220. package/dist/esm/renderer/SceneObject.js +0 -392
  221. package/dist/esm/renderer/SceneObject.js.map +0 -1
  222. package/dist/esm/renderer/SceneObjectOptions.d.ts +0 -6
  223. package/dist/esm/renderer/SceneObjectOptions.js +0 -2
  224. package/dist/esm/renderer/SceneObjectOptions.js.map +0 -1
  225. package/dist/esm/request/Requests.d.ts +0 -12
  226. package/dist/esm/request/Requests.js +0 -32
  227. package/dist/esm/request/Requests.js.map +0 -1
  228. package/dist/esm/skin/SkinGeometries.d.ts +0 -5
  229. package/dist/esm/skin/SkinGeometries.js +0 -33
  230. package/dist/esm/skin/SkinGeometries.js.map +0 -1
  231. package/dist/esm/skin/SkinPart.d.ts +0 -16
  232. package/dist/esm/skin/SkinPart.js +0 -18
  233. package/dist/esm/skin/SkinPart.js.map +0 -1
  234. package/dist/esm/skin/SkinTextureCoordinates.d.ts +0 -5
  235. package/dist/esm/skin/SkinTextureCoordinates.js +0 -748
  236. package/dist/esm/skin/SkinTextureCoordinates.js.map +0 -1
  237. package/dist/esm/skin/Skins.d.ts +0 -17
  238. package/dist/esm/skin/Skins.js +0 -164
  239. package/dist/esm/skin/Skins.js.map +0 -1
  240. package/dist/esm/skin/scene/SkinObject.d.ts +0 -21
  241. package/dist/esm/skin/scene/SkinObject.js +0 -112
  242. package/dist/esm/skin/scene/SkinObject.js.map +0 -1
  243. package/dist/esm/texture/TextureAtlas.d.ts +0 -29
  244. package/dist/esm/texture/TextureAtlas.js +0 -22
  245. package/dist/esm/texture/TextureAtlas.js.map +0 -1
  246. package/dist/esm/texture/TextureLoader.d.ts +0 -6
  247. package/dist/esm/texture/TextureLoader.js +0 -30
  248. package/dist/esm/texture/TextureLoader.js.map +0 -1
  249. package/dist/esm/texture/Textures.d.ts +0 -10
  250. package/dist/esm/texture/Textures.js +0 -29
  251. package/dist/esm/texture/Textures.js.map +0 -1
  252. package/dist/esm/three/BufferGeometryUtils.d.ts +0 -44
  253. package/dist/esm/three/BufferGeometryUtils.js +0 -544
  254. package/dist/esm/three/BufferGeometryUtils.js.map +0 -1
  255. package/dist/esm/three/OrbitControls.d.ts +0 -59
  256. package/dist/esm/three/OrbitControls.js +0 -786
  257. package/dist/esm/three/OrbitControls.js.map +0 -1
  258. package/dist/esm/util/BatchedExecutor.d.ts +0 -12
  259. package/dist/esm/util/BatchedExecutor.js +0 -22
  260. package/dist/esm/util/BatchedExecutor.js.map +0 -1
  261. package/dist/esm/util/log.d.ts +0 -1
  262. package/dist/esm/util/log.js +0 -28
  263. package/dist/esm/util/log.js.map +0 -1
  264. package/dist/esm/util/model.d.ts +0 -11
  265. package/dist/esm/util/model.js +0 -173
  266. package/dist/esm/util/model.js.map +0 -1
  267. package/dist/esm/util/performance.d.ts +0 -3
  268. package/dist/esm/util/performance.js +0 -13
  269. package/dist/esm/util/performance.js.map +0 -1
  270. package/dist/esm/util/three.d.ts +0 -8
  271. package/dist/esm/util/three.js +0 -19
  272. package/dist/esm/util/three.js.map +0 -1
  273. package/dist/esm/util/util.d.ts +0 -19
  274. package/dist/esm/util/util.js +0 -107
  275. package/dist/esm/util/util.js.map +0 -1
  276. package/dist/esm/world/BlockInfo.d.ts +0 -6
  277. package/dist/esm/world/BlockInfo.js +0 -2
  278. package/dist/esm/world/BlockInfo.js.map +0 -1
  279. package/dist/esm/world/Chunk.d.ts +0 -33
  280. package/dist/esm/world/Chunk.js +0 -128
  281. package/dist/esm/world/Chunk.js.map +0 -1
  282. package/dist/esm/world/MineRenderWorld.d.ts +0 -31
  283. package/dist/esm/world/MineRenderWorld.js +0 -129
  284. package/dist/esm/world/MineRenderWorld.js.map +0 -1
@@ -1,9 +0,0 @@
1
- import { TripleArray } from "../Model";
2
- import { Block } from "../block/Block";
3
- export interface MultiBlockStructure {
4
- readonly size: TripleArray;
5
- readonly blocks: MultiBlockBlock[];
6
- }
7
- export interface MultiBlockBlock extends Block {
8
- position: TripleArray;
9
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MultiBlockStructure.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiBlockStructure.js","sourceRoot":"src/","sources":["model/multiblock/MultiBlockStructure.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import { MultiBlockStructure } from "./MultiBlockStructure";
2
- export declare class SchematicParser {
3
- static parse(): Promise<MultiBlockStructure>;
4
- }
@@ -1,19 +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
- export class SchematicParser {
11
- static parse() {
12
- return __awaiter(this, void 0, void 0, function* () {
13
- //TODO
14
- // @ts-ignore
15
- return Promise.resolve({});
16
- });
17
- }
18
- }
19
- //# sourceMappingURL=SchematicParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SchematicParser.js","sourceRoot":"src/","sources":["model/multiblock/SchematicParser.ts"],"names":[],"mappings":";;;;;;;;;AAEA,MAAM,OAAO,eAAe;IAEjB,MAAM,CAAO,KAAK;;YACrB,MAAM;YACN,aAAa;YACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAI,CAAC,CAAC;QACjC,CAAC;KAAA;CAEJ"}
@@ -1,70 +0,0 @@
1
- import { MultiBlockStructure } from "./MultiBlockStructure";
2
- import { TripleArray } from "../Model";
3
- import { NBT } from "prismarine-nbt";
4
- export declare class StructureParser {
5
- static parse(_nbt: NBT, paletteIndex?: number): Promise<MultiBlockStructure>;
6
- }
7
- export interface StructureNBT {
8
- DataVersion: {
9
- type: "int";
10
- value: number;
11
- };
12
- size: {
13
- type: "list";
14
- value: {
15
- type: "int";
16
- value: TripleArray;
17
- };
18
- };
19
- palette?: Palette;
20
- palettes?: Palette[];
21
- blocks: {
22
- type: "list";
23
- value: {
24
- type: "compound";
25
- value: BlockEntry[];
26
- };
27
- };
28
- entities: {};
29
- }
30
- interface Palette {
31
- type: "list";
32
- value: {
33
- type: "compound";
34
- value: PaletteEntry[];
35
- };
36
- }
37
- interface PaletteEntry {
38
- Name: {
39
- type: "string";
40
- value: string;
41
- };
42
- Properties: {
43
- type: "compound";
44
- value: {
45
- [property: string]: PalettePropertyValue;
46
- };
47
- };
48
- }
49
- interface PalettePropertyValue {
50
- type: string;
51
- value: string;
52
- }
53
- interface BlockEntry {
54
- pos: {
55
- type: "list";
56
- value: {
57
- type: "int";
58
- value: TripleArray;
59
- };
60
- };
61
- state: {
62
- type: "int";
63
- value: number;
64
- };
65
- nbt: {
66
- type: "compound";
67
- value: any;
68
- };
69
- }
70
- export {};
@@ -1,48 +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 { MineRenderError } from "../../error/MineRenderError";
11
- export class StructureParser {
12
- static parse(_nbt, paletteIndex) {
13
- return __awaiter(this, void 0, void 0, function* () {
14
- const nbt = _nbt.value;
15
- let palette;
16
- if ("palette" in nbt) {
17
- palette = nbt.palette;
18
- }
19
- else if ("palettes" in nbt) {
20
- palette = nbt.palettes[paletteIndex !== null && paletteIndex !== void 0 ? paletteIndex : 0];
21
- }
22
- else {
23
- throw new MineRenderError("Structure does not have palette(s)");
24
- }
25
- const blocks = nbt.blocks.value.value.map(block => {
26
- var _a;
27
- const state = palette.value.value[block.state.value];
28
- if (state.Name.value === "minecraft:air")
29
- return undefined;
30
- const props = {};
31
- for (let k in (_a = state.Properties) === null || _a === void 0 ? void 0 : _a.value) {
32
- props[k] = state.Properties.value[k].value;
33
- }
34
- return {
35
- type: state.Name.value,
36
- properties: props,
37
- position: block.pos.value.value,
38
- nbt: block.nbt
39
- };
40
- }).filter(m => typeof m !== "undefined");
41
- return {
42
- blocks: blocks,
43
- size: nbt.size.value.value
44
- };
45
- });
46
- }
47
- }
48
- //# sourceMappingURL=StructureParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StructureParser.js","sourceRoot":"src/","sources":["model/multiblock/StructureParser.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,MAAM,OAAO,eAAe;IAEjB,MAAM,CAAO,KAAK,CAAC,IAAS,EAAE,YAAqB;;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAgC,CAAC;YAElD,IAAI,OAAgB,CAAC;YACrB,IAAI,SAAS,IAAI,GAAG,EAAE;gBAClB,OAAO,GAAG,GAAG,CAAC,OAAQ,CAAC;aAC1B;iBAAM,IAAI,UAAU,IAAI,GAAG,EAAE;gBAC1B,OAAO,GAAG,GAAG,CAAC,QAAS,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,CAAC,CAAC,CAAC;aAC9C;iBAAM;gBACH,MAAM,IAAI,eAAe,CAAC,oCAAoC,CAAC,CAAC;aACnE;YAED,MAAM,MAAM,GACR,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;;gBAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,eAAe;oBAAE,OAAO,SAAS,CAAC;gBAE3D,MAAM,KAAK,GAAyB,EAAE,CAAC;gBACvC,KAAK,IAAI,CAAC,IAAI,MAAA,KAAK,CAAC,UAAU,0CAAE,KAAK,EAAE;oBACnC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;iBAC9C;gBACD,OAAwB;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;oBACtB,UAAU,EAAE,KAAK;oBACjB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK;oBAC/B,GAAG,EAAE,KAAK,CAAC,GAAG;iBACjB,CAAA;YACL,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,WAAW,CAAuB,CAAE;YACpE,OAAO;gBACH,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;aAC7B,CAAA;QACL,CAAC;KAAA;CAEJ"}
@@ -1,25 +0,0 @@
1
- import { SceneObject } from "../../renderer/SceneObject";
2
- import { Model } from "../Model";
3
- import { Maybe } from "../../util/util";
4
- import { TextureAtlas } from "../../texture/TextureAtlas";
5
- import { SceneObjectOptions } from "../../renderer/SceneObjectOptions";
6
- import { BlockObject } from "../block/scene/BlockObject";
7
- export declare class ModelObject extends SceneObject {
8
- readonly originalModel: Model;
9
- readonly isModelObject: true;
10
- static readonly DEFAULT_OPTIONS: ModelObjectOptions;
11
- readonly options: ModelObjectOptions;
12
- private atlas?;
13
- blockParent: Maybe<BlockObject>;
14
- private meshesCreated;
15
- constructor(originalModel: Model, options?: Partial<ModelObjectOptions>);
16
- init(): Promise<void>;
17
- dispose(): void;
18
- get textureAtlas(): Maybe<TextureAtlas>;
19
- protected loadTextures(): Promise<void>;
20
- protected createMeshes(force?: boolean): void;
21
- protected applyTextures(): void;
22
- }
23
- export interface ModelObjectOptions extends SceneObjectOptions {
24
- }
25
- export declare function isModelObject(obj: any): obj is ModelObject;
@@ -1,155 +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 { SceneObject } from "../../renderer/SceneObject";
11
- import { Materials } from "../../Materials";
12
- import { UVMapper } from "../../UVMapper";
13
- import { BoxGeometry, Matrix4 } from "three";
14
- import { mergeBufferGeometries } from "../../three/BufferGeometryUtils";
15
- import { addBox3WireframeToObject, addWireframeToMesh, addWireframeToObject, applyElementRotation } from "../../util/model";
16
- import { Ticker } from "../../Ticker";
17
- import merge from "ts-deepmerge";
18
- import { prefix } from "../../util/log";
19
- const p = prefix("ModelObject");
20
- //TODO: might want to abstract this out into a generic model, and create a separate class for Block models
21
- export class ModelObject extends SceneObject {
22
- constructor(originalModel, options) {
23
- super();
24
- this.originalModel = originalModel;
25
- this.isModelObject = true;
26
- this.meshesCreated = false;
27
- this.options = merge({}, ModelObject.DEFAULT_OPTIONS, options !== null && options !== void 0 ? options : {});
28
- }
29
- init() {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- // load textures first so we have the updated UV coordinates from the atlas
32
- yield this.loadTextures();
33
- this.createMeshes();
34
- this.applyTextures();
35
- });
36
- }
37
- dispose() {
38
- var _a;
39
- super.dispose();
40
- (_a = this.atlas) === null || _a === void 0 ? void 0 : _a.dispose();
41
- }
42
- get textureAtlas() {
43
- return this.atlas;
44
- }
45
- //TODO: support for replacing textures
46
- loadTextures() {
47
- return __awaiter(this, void 0, void 0, function* () {
48
- this.atlas = yield UVMapper.getAtlas(this.originalModel);
49
- });
50
- }
51
- createMeshes(force = false) {
52
- var _a;
53
- if (this.meshesCreated && !force)
54
- return;
55
- const mat = Materials.MISSING_TEXTURE;
56
- let allGeos = [];
57
- if (this.atlas) {
58
- if (this.atlas.model.elements) {
59
- (_a = this.atlas.model.elements) === null || _a === void 0 ? void 0 : _a.forEach(el => {
60
- const elGeo = this._getBoxGeometryFromElement(el).clone();
61
- // elGeo.applyMatrix4(new THREE.Matrix4().makeTranslation(-8,-8,-8));
62
- elGeo.applyMatrix4(new Matrix4().makeTranslation((el.to[0] - el.from[0]) / 2, (el.to[1] - el.from[1]) / 2, (el.to[2] - el.from[2]) / 2));
63
- elGeo.applyMatrix4(new Matrix4().makeTranslation(el.from[0], el.from[1], el.from[2]));
64
- if (el.rotation) {
65
- applyElementRotation(el.rotation, elGeo);
66
- }
67
- elGeo.applyMatrix4(new Matrix4().makeTranslation(-8, -8, -8));
68
- if (this.options.mergeMeshes) {
69
- allGeos.push(elGeo);
70
- }
71
- else {
72
- const mesh = this.createAndAddMesh(undefined, undefined, elGeo, mat);
73
- if (this.options.wireframe) {
74
- addWireframeToMesh(elGeo, mesh);
75
- }
76
- }
77
- });
78
- }
79
- else {
80
- console.debug(p, this.atlas.model, "has no elements");
81
- }
82
- }
83
- else {
84
- console.debug(p, "Missing atlas for", this);
85
- }
86
- if (this.options.mergeMeshes) {
87
- let combinedGeo;
88
- if (allGeos.length > 0) {
89
- // if (this.options.wireframe) {
90
- // allGeos.push(new BoxGeometry(16, 16, 16, 1, 1, 1))
91
- // }
92
- combinedGeo = mergeBufferGeometries(allGeos);
93
- }
94
- else {
95
- combinedGeo = new BoxGeometry(16, 16, 16);
96
- }
97
- combinedGeo.computeBoundingBox();
98
- // combinedGeo.translate(-8, -8, -8);
99
- // TODO: cache the combined geometry
100
- let mesh;
101
- if (this.options.instanceMeshes) {
102
- mesh = this.createInstancedMesh(undefined, combinedGeo, mat, this.options.maxInstanceCount || 50);
103
- this.add(mesh);
104
- this._isInstanced = true;
105
- //TODO
106
- }
107
- else {
108
- mesh = this.createAndAddMesh(undefined, undefined, combinedGeo, mat);
109
- }
110
- if (this.options.wireframe) {
111
- addWireframeToMesh(combinedGeo, mesh, 0x0000ff, 4);
112
- addBox3WireframeToObject(combinedGeo.boundingBox, mesh, 0x00ffff, 3);
113
- }
114
- }
115
- if (this.options.wireframe) {
116
- addWireframeToObject(this, 0x00ff00, 3);
117
- }
118
- this.meshesCreated = true;
119
- }
120
- applyTextures() {
121
- // if (this.atlas!.model.textures) {
122
- // for (let textureKey in this.atlas!.model.textures) {
123
- // let asset = this.textureMap[textureKey];
124
- // if (asset) {
125
- //TODO: transparency
126
- if (this.atlas) {
127
- let mat = Materials.createShadedCanvasMaterial(this.atlas.image.canvas, this.atlas.hasTransparency, false /*TODO: get this from render options*/);
128
- this.iterateAllMeshes(mesh => {
129
- mesh.material = mat;
130
- });
131
- //TODO: move this somewhere else
132
- //TODO: this seems to be ticking way too fast atm
133
- if (this.atlas.hasAnimation) {
134
- if (typeof this.atlas.ticker === "undefined") { //TODO: fix missing texture update for reused atlas
135
- this.atlas.ticker = Ticker.add(() => {
136
- for (let key in this.atlas.animatorFunctions) {
137
- this.atlas.animatorFunctions[key]();
138
- }
139
- if ("map" in mat) {
140
- mat.map.needsUpdate = true;
141
- }
142
- });
143
- }
144
- }
145
- }
146
- // }
147
- // }
148
- // }
149
- }
150
- }
151
- ModelObject.DEFAULT_OPTIONS = merge({}, SceneObject.DEFAULT_OPTIONS, {});
152
- export function isModelObject(obj) {
153
- return obj.isModelObject;
154
- }
155
- //# sourceMappingURL=ModelObject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModelObject.js","sourceRoot":"src/","sources":["model/scene/ModelObject.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /// <reference types="node" />
2
- import { NBT } from "prismarine-nbt";
3
- import { MinecraftAsset } from "../MinecraftAsset";
4
- export declare class NBTHelper {
5
- static fromBuffer(buffer: Buffer): Promise<NBTAsset>;
6
- }
7
- export interface NBTAsset extends MinecraftAsset, NBT {
8
- }
@@ -1,19 +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 * as prismarineNbt from "prismarine-nbt";
11
- export class NBTHelper {
12
- static fromBuffer(buffer) {
13
- return __awaiter(this, void 0, void 0, function* () {
14
- const { parsed, type, metadata } = yield prismarineNbt.parse(buffer);
15
- return parsed;
16
- });
17
- }
18
- }
19
- //# sourceMappingURL=NBTHelper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NBTHelper.js","sourceRoot":"src/","sources":["nbt/NBTHelper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAIhD,MAAM,OAAO,SAAS;IAEX,MAAM,CAAO,UAAU,CAAC,MAAc;;YACzC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;CAEJ"}
@@ -1,35 +0,0 @@
1
- import { Object3D, Scene } from "three";
2
- import { SceneObject } from "./SceneObject";
3
- import { Model } from "../model/Model";
4
- import { ModelObject, ModelObjectOptions } from "../model/scene/ModelObject";
5
- import { InstanceReference } from "../instance/InstanceReference";
6
- import { SceneStats } from "../SceneStats";
7
- import { BasicMinecraftAsset } from "../MinecraftAsset";
8
- import { SceneObjectOptions } from "./SceneObjectOptions";
9
- import { BlockState } from "../model/block/BlockState";
10
- import { BlockObject, BlockObjectOptions } from "../model/block/scene/BlockObject";
11
- import { InstanceManager } from "../instance/InstanceManager";
12
- import { DeepPartial } from "../util/util";
13
- import { SkinObject, SkinObjectOptions } from "../skin/scene/SkinObject";
14
- import { EntityObject, EntityObjectOptions } from "../entity/scene/EntityObject";
15
- import { EntityModel } from "../entity/EntityModel";
16
- export declare class MineRenderScene extends Scene {
17
- readonly isMineRenderScene: true;
18
- static readonly DEFAULT_OPTIONS: MineRenderSceneOptions;
19
- readonly options: MineRenderSceneOptions;
20
- readonly stats: SceneStats;
21
- protected readonly instanceManager: InstanceManager;
22
- dirty: boolean;
23
- constructor(options?: DeepPartial<MineRenderSceneOptions>);
24
- add(...object: any[]): this;
25
- remove(...object: any[]): this;
26
- initAndAdd(...object: SceneObject[]): Promise<this>;
27
- addSceneObject<A extends BasicMinecraftAsset, T extends SceneObject, O extends SceneObjectOptions>(asset: A, objectSupplier: () => T | Promise<T>, options?: Partial<O>, parent?: Object3D): Promise<T | InstanceReference<T>>;
28
- addModel(model: Model, options?: Partial<ModelObjectOptions>, parent?: Object3D): Promise<ModelObject | InstanceReference<ModelObject>>;
29
- addBlock(blockState: BlockState, options?: Partial<BlockObjectOptions>, parent?: Object3D): Promise<BlockObject | InstanceReference<BlockObject>>;
30
- addSkin(skin?: string, options?: Partial<SkinObjectOptions>, parent?: Object3D): Promise<SkinObject>;
31
- addEntity(entity: EntityModel, options?: Partial<EntityObjectOptions>, parent?: Object3D): Promise<EntityObject | InstanceReference<EntityObject>>;
32
- }
33
- export interface MineRenderSceneOptions {
34
- }
35
- export declare function isMineRenderScene(obj: any): obj is MineRenderScene;
@@ -1,124 +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 { Scene } from "three";
11
- import { isSceneObject } from "../util/three";
12
- import merge from "ts-deepmerge";
13
- import { ModelObject } from "../model/scene/ModelObject";
14
- import { SceneStats } from "../SceneStats";
15
- import { BlockObject, isBlockObject } from "../model/block/scene/BlockObject";
16
- import { InstanceManager } from "../instance/InstanceManager";
17
- import { SkinObject } from "../skin/scene/SkinObject";
18
- import { EntityObject } from "../entity/scene/EntityObject";
19
- export class MineRenderScene extends Scene {
20
- constructor(options) {
21
- super();
22
- this.isMineRenderScene = true;
23
- this.stats = new SceneStats();
24
- this.instanceManager = new InstanceManager();
25
- this.dirty = true;
26
- this.options = merge({}, MineRenderScene.DEFAULT_OPTIONS, options !== null && options !== void 0 ? options : {});
27
- }
28
- add(...object) {
29
- this.dirty = true;
30
- this.stats.objectCount += object.length;
31
- for (let obj of object) {
32
- if (isSceneObject(obj)) {
33
- this.stats.sceneObjectCount++;
34
- }
35
- // obj.addEventListener('dirty',event=>{
36
- // this.dirty = true;
37
- // });
38
- obj.addEventListener('change', event => {
39
- this.dirty = true;
40
- });
41
- }
42
- return super.add(...object);
43
- }
44
- remove(...object) {
45
- this.dirty = true;
46
- return super.remove(...object);
47
- }
48
- initAndAdd(...object) {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- this.dirty = true;
51
- for (let obj of object) {
52
- yield obj.init();
53
- }
54
- return this.add(...object);
55
- });
56
- }
57
- addSceneObject(asset, objectSupplier, options, parent = this) {
58
- var _a;
59
- return __awaiter(this, void 0, void 0, function* () {
60
- console.log("addSceneObject");
61
- console.log("parent", parent);
62
- this.dirty = true;
63
- // console.log(this.instanceCache)
64
- if ((options === null || options === void 0 ? void 0 : options.instanceMeshes) && asset.key && ((_a = asset.key) === null || _a === void 0 ? void 0 : _a.assetType) === "models" /*TODO*/) {
65
- // console.log("instanceMeshes + key")
66
- // check for existing instances
67
- const key = asset.key.serialize();
68
- return this.instanceManager.getOrCreate(key, () => __awaiter(this, void 0, void 0, function* () {
69
- const obj = yield objectSupplier();
70
- obj.scene = this;
71
- yield obj.init();
72
- parent.add(obj);
73
- // await sleep(500)//TODO
74
- return obj;
75
- }));
76
- }
77
- else {
78
- // console.log("!instanceMeshes | !key")
79
- const obj = yield objectSupplier();
80
- obj.scene = this;
81
- // await this.initAndAdd(obj);
82
- yield obj.init();
83
- if (!isBlockObject(obj)) { //TODO: adding block objects slows things down (since each block has its own)
84
- parent.add(obj);
85
- }
86
- // await sleep(500)//TODO
87
- return obj;
88
- }
89
- });
90
- }
91
- addModel(model, options, parent = this) {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- return this.addSceneObject(model, () => new ModelObject(model, options), options, parent);
94
- });
95
- }
96
- addBlock(blockState, options, parent = this) {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- return this.addSceneObject(blockState, () => new BlockObject(blockState, options), options, parent);
99
- });
100
- }
101
- addSkin(skin, options, parent = this) {
102
- return __awaiter(this, void 0, void 0, function* () {
103
- this.dirty = true;
104
- const obj = new SkinObject(options);
105
- obj.scene = this;
106
- yield obj.init();
107
- if (skin) {
108
- obj.setSkinTexture(skin);
109
- }
110
- parent.add(obj);
111
- return obj;
112
- });
113
- }
114
- addEntity(entity, options, parent = this) {
115
- return __awaiter(this, void 0, void 0, function* () {
116
- return this.addSceneObject(entity, () => new EntityObject(entity, options), options, parent);
117
- });
118
- }
119
- }
120
- MineRenderScene.DEFAULT_OPTIONS = merge({}, {});
121
- export function isMineRenderScene(obj) {
122
- return obj.isMineRenderScene;
123
- }
124
- //# sourceMappingURL=MineRenderScene.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MineRenderScene.js","sourceRoot":"src/","sources":["renderer/MineRenderScene.ts"],"names":[],"mappings":"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"}
@@ -1,83 +0,0 @@
1
- /// <reference types="node" />
2
- import { Camera, EventDispatcher, Vector3, WebGLRenderer } from "three";
3
- import { MineRenderScene } from "./MineRenderScene";
4
- import Stats from "stats.js";
5
- import { DeepPartial } from "../util/util";
6
- import { EffectComposer } from "three/examples/jsm/postprocessing/EffectComposer";
7
- export declare class Renderer {
8
- static readonly DEFAULT_OPTIONS: RendererOptions;
9
- readonly options: RendererOptions;
10
- readonly element: HTMLElement;
11
- protected _scene: MineRenderScene;
12
- protected _camera: Camera;
13
- protected _renderer: WebGLRenderer;
14
- protected _composer: EffectComposer;
15
- protected _stats?: Stats;
16
- protected _dirty: boolean;
17
- protected _animationLoop: any;
18
- protected _fpsTimer: any;
19
- protected _animationTimer?: NodeJS.Timeout;
20
- protected _animationFrame?: number;
21
- protected _resizeListener?: () => void;
22
- constructor(options?: DeepPartial<RendererOptions>, element?: HTMLElement);
23
- protected createScene(): MineRenderScene;
24
- protected createCamera(): Camera;
25
- protected createRenderer(): WebGLRenderer;
26
- protected createComposer(): EffectComposer;
27
- init(): void;
28
- /**
29
- * Register an EventDispatcher which may update the scene or renderer in order to redraw the scene
30
- */
31
- registerEventDispatcher(dispatcher: EventDispatcher, changeEvent?: string): void;
32
- resize(width: number, height: number): void;
33
- get dirty(): boolean;
34
- set dirty(dirty: boolean);
35
- start(): void;
36
- stop(): void;
37
- private animate;
38
- protected get attachedToBody(): boolean;
39
- protected get viewWidth(): number;
40
- protected get viewHeight(): number;
41
- get scene(): MineRenderScene;
42
- get camera(): Camera;
43
- get renderer(): WebGLRenderer;
44
- get composer(): EffectComposer;
45
- }
46
- export interface RendererOptions {
47
- camera: CameraOptions;
48
- render: RenderOptions;
49
- composer: ComposerOptions;
50
- debug: DebugOptions;
51
- }
52
- export interface CameraOptions {
53
- type: "perspective" | "orthographic";
54
- near: number;
55
- far: number;
56
- perspective: {
57
- aspect: undefined | number;
58
- fov: number;
59
- };
60
- orthographic: {
61
- left: undefined | number;
62
- right: undefined | number;
63
- top: undefined | number;
64
- bottom: undefined | number;
65
- };
66
- position: Vector3;
67
- lookingAt: Vector3;
68
- }
69
- export interface RenderOptions {
70
- fpsLimit: number;
71
- stats: boolean;
72
- antialias: boolean;
73
- shade: boolean;
74
- autoResize: boolean;
75
- renderAlways: boolean;
76
- }
77
- export interface ComposerOptions {
78
- enabled: boolean;
79
- }
80
- export interface DebugOptions {
81
- grid: boolean;
82
- axes: boolean;
83
- }