minerender 1.4.11 → 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.
- package/.esdoc.json +0 -0
- package/.github/FUNDING.yml +0 -0
- package/.github/stale.yml +0 -0
- package/.github/workflows/nodejs.yml +0 -0
- package/.travis.yml +0 -0
- package/CNAME +0 -0
- package/LICENSE +0 -0
- package/README.md +0 -0
- package/build.mjs +20 -0
- package/demo/model/index.html +0 -0
- package/demo/skin/index.html +0 -0
- package/dist/bundle.js +106338 -0
- package/dist/cjs/AnimatorFunction.d.ts +3 -0
- package/dist/cjs/AnimatorFunction.js +3 -0
- package/dist/cjs/AnimatorFunction.js.map +1 -0
- package/dist/cjs/Axis.d.ts +8 -0
- package/dist/cjs/Axis.js +23 -0
- package/dist/cjs/Axis.js.map +1 -0
- package/dist/cjs/CubeFace.d.ts +17 -0
- package/dist/cjs/CubeFace.js +23 -0
- package/dist/cjs/CubeFace.js.map +1 -0
- package/dist/cjs/Disposable.d.ts +4 -0
- package/dist/cjs/Disposable.js +8 -0
- package/dist/cjs/Disposable.js.map +1 -0
- package/dist/cjs/Env.d.ts +2 -0
- package/dist/cjs/Env.js +7 -0
- package/dist/cjs/Env.js.map +1 -0
- package/dist/cjs/ExtractableImageData.d.ts +5 -0
- package/dist/cjs/ExtractableImageData.js +3 -0
- package/dist/cjs/ExtractableImageData.js.map +1 -0
- package/dist/cjs/Geometries.d.ts +6 -0
- package/dist/cjs/Geometries.js +92 -0
- package/dist/cjs/Geometries.js.map +1 -0
- package/dist/cjs/ListAsset.d.ts +5 -0
- package/dist/cjs/ListAsset.js +3 -0
- package/dist/cjs/ListAsset.js.map +1 -0
- package/dist/cjs/Materials.d.ts +9 -0
- package/dist/cjs/Materials.js +151 -0
- package/dist/cjs/Materials.js.map +1 -0
- package/dist/cjs/Meshes.d.ts +6 -0
- package/dist/cjs/Meshes.js +21 -0
- package/dist/cjs/Meshes.js.map +1 -0
- package/dist/cjs/MinecraftAsset.d.ts +7 -0
- package/dist/cjs/MinecraftAsset.js +3 -0
- package/dist/cjs/MinecraftAsset.js.map +1 -0
- package/dist/cjs/MinecraftCubeTexture.d.ts +26 -0
- package/dist/cjs/MinecraftCubeTexture.js +104 -0
- package/dist/cjs/MinecraftCubeTexture.js.map +1 -0
- package/dist/cjs/MinecraftTextureMeta.d.ts +15 -0
- package/dist/cjs/MinecraftTextureMeta.js +3 -0
- package/dist/cjs/MinecraftTextureMeta.js.map +1 -0
- package/dist/cjs/SceneStats.d.ts +5 -0
- package/dist/cjs/SceneStats.js +12 -0
- package/dist/cjs/SceneStats.js.map +1 -0
- package/dist/cjs/Serializable.d.ts +3 -0
- package/dist/cjs/Serializable.js +3 -0
- package/dist/cjs/Serializable.js.map +1 -0
- package/dist/cjs/Ticker.d.ts +20 -0
- package/dist/cjs/Ticker.js +55 -0
- package/dist/cjs/Ticker.js.map +1 -0
- package/dist/cjs/TintColors.d.ts +1 -0
- package/dist/cjs/TintColors.js +5 -0
- package/dist/cjs/TintColors.js.map +1 -0
- package/dist/cjs/Transformable.d.ts +11 -0
- package/dist/cjs/Transformable.js +8 -0
- package/dist/cjs/Transformable.js.map +1 -0
- package/dist/cjs/UVMapper.d.ts +40 -0
- package/dist/cjs/UVMapper.js +434 -0
- package/dist/cjs/UVMapper.js.map +1 -0
- package/dist/cjs/WrappedImage.d.ts +17 -0
- package/dist/cjs/WrappedImage.js +50 -0
- package/dist/cjs/WrappedImage.js.map +1 -0
- package/dist/cjs/_model/Cube.d.ts +10 -0
- package/dist/cjs/_model/Cube.js +3 -0
- package/dist/cjs/_model/Cube.js.map +1 -0
- package/dist/cjs/_model/Element.d.ts +9 -0
- package/dist/cjs/_model/Element.js +3 -0
- package/dist/cjs/_model/Element.js.map +1 -0
- package/dist/cjs/_model/Face.d.ts +6 -0
- package/dist/cjs/_model/Face.js +3 -0
- package/dist/cjs/_model/Face.js.map +1 -0
- package/dist/cjs/_model/Model.d.ts +4 -0
- package/dist/cjs/_model/Model.js +3 -0
- package/dist/cjs/_model/Model.js.map +1 -0
- package/dist/cjs/assets/AssetKey.d.ts +26 -0
- package/dist/cjs/assets/AssetKey.js +83 -0
- package/dist/cjs/assets/AssetKey.js.map +1 -0
- package/dist/cjs/assets/AssetLoader.d.ts +26 -0
- package/dist/cjs/assets/AssetLoader.js +153 -0
- package/dist/cjs/assets/AssetLoader.js.map +1 -0
- package/dist/cjs/assets/Assets.d.ts +14 -0
- package/dist/cjs/assets/Assets.js +37 -0
- package/dist/cjs/assets/Assets.js.map +1 -0
- package/dist/cjs/assets/BlockStates.d.ts +11 -0
- package/dist/cjs/assets/BlockStates.js +75 -0
- package/dist/cjs/assets/BlockStates.js.map +1 -0
- package/dist/cjs/assets/Entities.d.ts +8 -0
- package/dist/cjs/assets/Entities.js +57 -0
- package/dist/cjs/assets/Entities.js.map +1 -0
- package/dist/cjs/assets/ModelTextures.d.ts +12 -0
- package/dist/cjs/assets/ModelTextures.js +66 -0
- package/dist/cjs/assets/ModelTextures.js.map +1 -0
- package/dist/cjs/assets/Models.d.ts +12 -0
- package/dist/cjs/assets/Models.js +95 -0
- package/dist/cjs/assets/Models.js.map +1 -0
- package/dist/cjs/bedrock/BedrockEntityDescription.d.ts +19 -0
- package/dist/cjs/bedrock/BedrockEntityDescription.js +3 -0
- package/dist/cjs/bedrock/BedrockEntityDescription.js.map +1 -0
- package/dist/cjs/bedrock/BedrockEntityFile.d.ts +7 -0
- package/dist/cjs/bedrock/BedrockEntityFile.js +3 -0
- package/dist/cjs/bedrock/BedrockEntityFile.js.map +1 -0
- package/dist/cjs/bedrock/BedrockGeometry.d.ts +27 -0
- package/dist/cjs/bedrock/BedrockGeometry.js +3 -0
- package/dist/cjs/bedrock/BedrockGeometry.js.map +1 -0
- package/dist/cjs/bedrock/BedrockGeometryFile.d.ts +5 -0
- package/dist/cjs/bedrock/BedrockGeometryFile.js +3 -0
- package/dist/cjs/bedrock/BedrockGeometryFile.js.map +1 -0
- package/dist/cjs/cache/CacheKey.d.ts +28 -0
- package/dist/cjs/cache/CacheKey.js +27 -0
- package/dist/cjs/cache/CacheKey.js.map +1 -0
- package/dist/cjs/cache/Caching.d.ts +29 -0
- package/dist/cjs/cache/Caching.js +93 -0
- package/dist/cjs/cache/Caching.js.map +1 -0
- package/dist/cjs/cache/PersistentCache.d.ts +15 -0
- package/dist/cjs/cache/PersistentCache.js +112 -0
- package/dist/cjs/cache/PersistentCache.js.map +1 -0
- package/dist/cjs/canvas/CanvasCompat.d.ts +5 -0
- package/dist/cjs/canvas/CanvasCompat.js +53 -0
- package/dist/cjs/canvas/CanvasCompat.js.map +1 -0
- package/dist/cjs/canvas/CanvasImage.d.ts +18 -0
- package/dist/cjs/canvas/CanvasImage.js +45 -0
- package/dist/cjs/canvas/CanvasImage.js.map +1 -0
- package/dist/cjs/entity/EntityModel.d.ts +7 -0
- package/dist/cjs/entity/EntityModel.js +3 -0
- package/dist/cjs/entity/EntityModel.js.map +1 -0
- package/dist/cjs/entity/blockEntityModels.json +1401 -0
- package/dist/cjs/entity/entityModels.json +20623 -0
- package/dist/cjs/entity/scene/EntityObject.d.ts +20 -0
- package/dist/cjs/entity/scene/EntityObject.js +131 -0
- package/dist/cjs/entity/scene/EntityObject.js.map +1 -0
- package/dist/cjs/error/MineRenderError.d.ts +4 -0
- package/dist/cjs/error/MineRenderError.js +15 -0
- package/dist/cjs/error/MineRenderError.js.map +1 -0
- package/dist/cjs/gui/scene/GuiObject.d.ts +6 -0
- package/dist/cjs/gui/scene/GuiObject.js +8 -0
- package/dist/cjs/gui/scene/GuiObject.js.map +1 -0
- package/dist/cjs/image/ImageLoader.d.ts +28 -0
- package/dist/cjs/image/ImageLoader.js +166 -0
- package/dist/cjs/image/ImageLoader.js.map +1 -0
- package/dist/cjs/index.d.ts +28 -0
- package/dist/cjs/index.js +43 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/inspector/SceneInspector.d.ts +27 -0
- package/dist/cjs/inspector/SceneInspector.js +366 -0
- package/dist/cjs/inspector/SceneInspector.js.map +1 -0
- package/dist/cjs/inspector/SceneStats.d.ts +22 -0
- package/dist/cjs/inspector/SceneStats.js +53 -0
- package/dist/cjs/inspector/SceneStats.js.map +1 -0
- package/dist/cjs/instance/InstanceManager.d.ts +14 -0
- package/dist/cjs/instance/InstanceManager.js +58 -0
- package/dist/cjs/instance/InstanceManager.js.map +1 -0
- package/dist/cjs/instance/InstanceReference.d.ts +21 -0
- package/dist/cjs/instance/InstanceReference.js +49 -0
- package/dist/cjs/instance/InstanceReference.js.map +1 -0
- package/dist/cjs/instance/Instanceable.d.ts +16 -0
- package/dist/cjs/instance/Instanceable.js +8 -0
- package/dist/cjs/instance/Instanceable.js.map +1 -0
- package/dist/cjs/lib/OrbitControls.d.ts +64 -0
- package/dist/cjs/lib/OrbitControls.js +658 -0
- package/dist/cjs/lib/OrbitControls.js.map +1 -0
- package/dist/cjs/model/DisplayPosition.d.ts +11 -0
- package/dist/cjs/model/DisplayPosition.js +16 -0
- package/dist/cjs/model/DisplayPosition.js.map +1 -0
- package/dist/cjs/model/ElementFace.d.ts +9 -0
- package/dist/cjs/model/ElementFace.js +3 -0
- package/dist/cjs/model/ElementFace.js.map +1 -0
- package/dist/cjs/model/GuiLight.d.ts +4 -0
- package/dist/cjs/model/GuiLight.js +9 -0
- package/dist/cjs/model/GuiLight.js.map +1 -0
- package/dist/cjs/model/Model.d.ts +46 -0
- package/dist/cjs/model/Model.js +20 -0
- package/dist/cjs/model/Model.js.map +1 -0
- package/dist/cjs/model/ModelElement.d.ts +21 -0
- package/dist/cjs/model/ModelElement.js +3 -0
- package/dist/cjs/model/ModelElement.js.map +1 -0
- package/dist/cjs/model/ModelGenerator.d.ts +6 -0
- package/dist/cjs/model/ModelGenerator.js +27 -0
- package/dist/cjs/model/ModelGenerator.js.map +1 -0
- package/dist/cjs/model/ModelMerger.d.ts +5 -0
- package/dist/cjs/model/ModelMerger.js +51 -0
- package/dist/cjs/model/ModelMerger.js.map +1 -0
- package/dist/cjs/model/ModelPart.d.ts +23 -0
- package/dist/cjs/model/ModelPart.js +3 -0
- package/dist/cjs/model/ModelPart.js.map +1 -0
- package/dist/cjs/model/block/Block.d.ts +6 -0
- package/dist/cjs/model/block/Block.js +3 -0
- package/dist/cjs/model/block/Block.js.map +1 -0
- package/dist/cjs/model/block/BlockState.d.ts +23 -0
- package/dist/cjs/model/block/BlockState.js +3 -0
- package/dist/cjs/model/block/BlockState.js.map +1 -0
- package/dist/cjs/model/block/BlockStateProperties.d.ts +13 -0
- package/dist/cjs/model/block/BlockStateProperties.js +3 -0
- package/dist/cjs/model/block/BlockStateProperties.js.map +1 -0
- package/dist/cjs/model/block/scene/BlockObject.d.ts +46 -0
- package/dist/cjs/model/block/scene/BlockObject.js +468 -0
- package/dist/cjs/model/block/scene/BlockObject.js.map +1 -0
- package/dist/cjs/model/defaultBlockStates.json +12337 -0
- package/dist/cjs/model/multiblock/MultiBlockStructure.d.ts +9 -0
- package/dist/cjs/model/multiblock/MultiBlockStructure.js +3 -0
- package/dist/cjs/model/multiblock/MultiBlockStructure.js.map +1 -0
- package/dist/cjs/model/multiblock/SchematicParser.d.ts +4 -0
- package/dist/cjs/model/multiblock/SchematicParser.js +23 -0
- package/dist/cjs/model/multiblock/SchematicParser.js.map +1 -0
- package/dist/cjs/model/multiblock/StructureParser.d.ts +70 -0
- package/dist/cjs/model/multiblock/StructureParser.js +52 -0
- package/dist/cjs/model/multiblock/StructureParser.js.map +1 -0
- package/dist/cjs/model/scene/ModelObject.d.ts +25 -0
- package/dist/cjs/model/scene/ModelObject.js +163 -0
- package/dist/cjs/model/scene/ModelObject.js.map +1 -0
- package/dist/cjs/nbt/NBTHelper.d.ts +8 -0
- package/dist/cjs/nbt/NBTHelper.js +42 -0
- package/dist/cjs/nbt/NBTHelper.js.map +1 -0
- package/dist/cjs/renderer/MineRenderScene.d.ts +35 -0
- package/dist/cjs/renderer/MineRenderScene.js +132 -0
- package/dist/cjs/renderer/MineRenderScene.js.map +1 -0
- package/dist/cjs/renderer/Renderer.d.ts +83 -0
- package/dist/cjs/renderer/Renderer.js +267 -0
- package/dist/cjs/renderer/Renderer.js.map +1 -0
- package/dist/cjs/renderer/SceneObject.d.ts +81 -0
- package/dist/cjs/renderer/SceneObject.js +400 -0
- package/dist/cjs/renderer/SceneObject.js.map +1 -0
- package/dist/cjs/renderer/SceneObjectOptions.d.ts +6 -0
- package/dist/cjs/renderer/SceneObjectOptions.js +3 -0
- package/dist/cjs/renderer/SceneObjectOptions.js.map +1 -0
- package/dist/cjs/request/Requests.d.ts +12 -0
- package/dist/cjs/request/Requests.js +39 -0
- package/dist/cjs/request/Requests.js.map +1 -0
- package/dist/cjs/skin/SkinGeometries.d.ts +5 -0
- package/dist/cjs/skin/SkinGeometries.js +39 -0
- package/dist/cjs/skin/SkinGeometries.js.map +1 -0
- package/dist/cjs/skin/SkinPart.d.ts +16 -0
- package/dist/cjs/skin/SkinPart.js +21 -0
- package/dist/cjs/skin/SkinPart.js.map +1 -0
- package/dist/cjs/skin/SkinTextureCoordinates.d.ts +5 -0
- package/dist/cjs/skin/SkinTextureCoordinates.js +751 -0
- package/dist/cjs/skin/SkinTextureCoordinates.js.map +1 -0
- package/dist/cjs/skin/Skins.d.ts +17 -0
- package/dist/cjs/skin/Skins.js +168 -0
- package/dist/cjs/skin/Skins.js.map +1 -0
- package/dist/cjs/skin/scene/SkinObject.d.ts +21 -0
- package/dist/cjs/skin/scene/SkinObject.js +119 -0
- package/dist/cjs/skin/scene/SkinObject.js.map +1 -0
- package/dist/cjs/texture/TextureAtlas.d.ts +29 -0
- package/dist/cjs/texture/TextureAtlas.js +26 -0
- package/dist/cjs/texture/TextureAtlas.js.map +1 -0
- package/dist/cjs/texture/TextureLoader.d.ts +6 -0
- package/dist/cjs/texture/TextureLoader.js +34 -0
- package/dist/cjs/texture/TextureLoader.js.map +1 -0
- package/dist/cjs/texture/Textures.d.ts +10 -0
- package/dist/cjs/texture/Textures.js +52 -0
- package/dist/cjs/texture/Textures.js.map +1 -0
- package/dist/cjs/three/BufferGeometryUtils.d.ts +44 -0
- package/dist/cjs/three/BufferGeometryUtils.js +554 -0
- package/dist/cjs/three/BufferGeometryUtils.js.map +1 -0
- package/dist/cjs/three/OrbitControls.d.ts +59 -0
- package/dist/cjs/three/OrbitControls.js +790 -0
- package/dist/cjs/three/OrbitControls.js.map +1 -0
- package/dist/cjs/util/BatchedExecutor.d.ts +12 -0
- package/dist/cjs/util/BatchedExecutor.js +26 -0
- package/dist/cjs/util/BatchedExecutor.js.map +1 -0
- package/dist/cjs/util/log.d.ts +1 -0
- package/dist/cjs/util/log.js +32 -0
- package/dist/cjs/util/log.js.map +1 -0
- package/dist/cjs/util/model.d.ts +11 -0
- package/dist/cjs/util/model.js +182 -0
- package/dist/cjs/util/model.js.map +1 -0
- package/dist/cjs/util/performance.d.ts +3 -0
- package/dist/cjs/util/performance.js +19 -0
- package/dist/cjs/util/performance.js.map +1 -0
- package/dist/cjs/util/three.d.ts +8 -0
- package/dist/cjs/util/three.js +28 -0
- package/dist/cjs/util/three.js.map +1 -0
- package/dist/cjs/util/util.d.ts +19 -0
- package/dist/cjs/util/util.js +143 -0
- package/dist/cjs/util/util.js.map +1 -0
- package/dist/cjs/world/BlockInfo.d.ts +6 -0
- package/dist/cjs/world/BlockInfo.js +3 -0
- package/dist/cjs/world/BlockInfo.js.map +1 -0
- package/dist/cjs/world/Chunk.d.ts +33 -0
- package/dist/cjs/world/Chunk.js +132 -0
- package/dist/cjs/world/Chunk.js.map +1 -0
- package/dist/cjs/world/MineRenderWorld.d.ts +31 -0
- package/dist/cjs/world/MineRenderWorld.js +133 -0
- package/dist/cjs/world/MineRenderWorld.js.map +1 -0
- package/dist/esm/AnimatorFunction.d.ts +3 -0
- package/dist/esm/AnimatorFunction.js +2 -0
- package/dist/esm/AnimatorFunction.js.map +1 -0
- package/dist/esm/Axis.d.ts +8 -0
- package/dist/esm/Axis.js +19 -0
- package/dist/esm/Axis.js.map +1 -0
- package/dist/esm/CubeFace.d.ts +17 -0
- package/dist/esm/CubeFace.js +20 -0
- package/dist/esm/CubeFace.js.map +1 -0
- package/dist/esm/Disposable.d.ts +4 -0
- package/dist/esm/Disposable.js +4 -0
- package/dist/esm/Disposable.js.map +1 -0
- package/dist/esm/Env.d.ts +2 -0
- package/dist/esm/Env.js +3 -0
- package/dist/esm/Env.js.map +1 -0
- package/dist/esm/ExtractableImageData.d.ts +5 -0
- package/dist/esm/ExtractableImageData.js +2 -0
- package/dist/esm/ExtractableImageData.js.map +1 -0
- package/dist/esm/Geometries.d.ts +6 -0
- package/dist/esm/Geometries.js +88 -0
- package/dist/esm/Geometries.js.map +1 -0
- package/dist/esm/ListAsset.d.ts +5 -0
- package/dist/esm/ListAsset.js +2 -0
- package/dist/esm/ListAsset.js.map +1 -0
- package/dist/esm/Materials.d.ts +9 -0
- package/dist/esm/Materials.js +147 -0
- package/dist/esm/Materials.js.map +1 -0
- package/dist/esm/Meshes.d.ts +6 -0
- package/dist/esm/Meshes.js +17 -0
- package/dist/esm/Meshes.js.map +1 -0
- package/dist/esm/MinecraftAsset.d.ts +7 -0
- package/dist/esm/MinecraftAsset.js +2 -0
- package/dist/esm/MinecraftAsset.js.map +1 -0
- package/dist/esm/MinecraftCubeTexture.d.ts +26 -0
- package/dist/esm/MinecraftCubeTexture.js +100 -0
- package/dist/esm/MinecraftCubeTexture.js.map +1 -0
- package/dist/esm/MinecraftTextureMeta.d.ts +15 -0
- package/dist/esm/MinecraftTextureMeta.js +2 -0
- package/dist/esm/MinecraftTextureMeta.js.map +1 -0
- package/dist/esm/SceneStats.d.ts +5 -0
- package/dist/esm/SceneStats.js +8 -0
- package/dist/esm/SceneStats.js.map +1 -0
- package/dist/esm/Serializable.d.ts +3 -0
- package/dist/esm/Serializable.js +2 -0
- package/dist/esm/Serializable.js.map +1 -0
- package/dist/esm/Ticker.d.ts +20 -0
- package/dist/esm/Ticker.js +51 -0
- package/dist/esm/Ticker.js.map +1 -0
- package/dist/esm/TintColors.d.ts +1 -0
- package/dist/esm/TintColors.js +2 -0
- package/dist/esm/TintColors.js.map +1 -0
- package/dist/esm/Transformable.d.ts +11 -0
- package/dist/esm/Transformable.js +4 -0
- package/dist/esm/Transformable.js.map +1 -0
- package/dist/esm/UVMapper.d.ts +40 -0
- package/dist/esm/UVMapper.js +429 -0
- package/dist/esm/UVMapper.js.map +1 -0
- package/dist/esm/WrappedImage.d.ts +17 -0
- package/dist/esm/WrappedImage.js +46 -0
- package/dist/esm/WrappedImage.js.map +1 -0
- package/dist/esm/_model/Cube.d.ts +10 -0
- package/dist/esm/_model/Cube.js +2 -0
- package/dist/esm/_model/Cube.js.map +1 -0
- package/dist/esm/_model/Element.d.ts +9 -0
- package/dist/esm/_model/Element.js +2 -0
- package/dist/esm/_model/Element.js.map +1 -0
- package/dist/esm/_model/Face.d.ts +6 -0
- package/dist/esm/_model/Face.js +2 -0
- package/dist/esm/_model/Face.js.map +1 -0
- package/dist/esm/_model/Model.d.ts +4 -0
- package/dist/esm/_model/Model.js +2 -0
- package/dist/esm/_model/Model.js.map +1 -0
- package/dist/esm/assets/AssetKey.d.ts +26 -0
- package/dist/esm/assets/AssetKey.js +76 -0
- package/dist/esm/assets/AssetKey.js.map +1 -0
- package/dist/esm/assets/AssetLoader.d.ts +26 -0
- package/dist/esm/assets/AssetLoader.js +149 -0
- package/dist/esm/assets/AssetLoader.js.map +1 -0
- package/dist/esm/assets/Assets.d.ts +14 -0
- package/dist/esm/assets/Assets.js +33 -0
- package/dist/esm/assets/Assets.js.map +1 -0
- package/dist/esm/assets/BlockStates.d.ts +11 -0
- package/dist/esm/assets/BlockStates.js +68 -0
- package/dist/esm/assets/BlockStates.js.map +1 -0
- package/dist/esm/assets/Entities.d.ts +8 -0
- package/dist/esm/assets/Entities.js +50 -0
- package/dist/esm/assets/Entities.js.map +1 -0
- package/dist/esm/assets/ModelTextures.d.ts +12 -0
- package/dist/esm/assets/ModelTextures.js +62 -0
- package/dist/esm/assets/ModelTextures.js.map +1 -0
- package/dist/esm/assets/Models.d.ts +12 -0
- package/dist/esm/assets/Models.js +91 -0
- package/dist/esm/assets/Models.js.map +1 -0
- package/dist/esm/bedrock/BedrockEntityDescription.d.ts +19 -0
- package/dist/esm/bedrock/BedrockEntityDescription.js +2 -0
- package/dist/esm/bedrock/BedrockEntityDescription.js.map +1 -0
- package/dist/esm/bedrock/BedrockEntityFile.d.ts +7 -0
- package/dist/esm/bedrock/BedrockEntityFile.js +2 -0
- package/dist/esm/bedrock/BedrockEntityFile.js.map +1 -0
- package/dist/esm/bedrock/BedrockGeometry.d.ts +27 -0
- package/dist/esm/bedrock/BedrockGeometry.js +2 -0
- package/dist/esm/bedrock/BedrockGeometry.js.map +1 -0
- package/dist/esm/bedrock/BedrockGeometryFile.d.ts +5 -0
- package/dist/esm/bedrock/BedrockGeometryFile.js +2 -0
- package/dist/esm/bedrock/BedrockGeometryFile.js.map +1 -0
- package/dist/esm/cache/CacheKey.d.ts +28 -0
- package/dist/esm/cache/CacheKey.js +19 -0
- package/dist/esm/cache/CacheKey.js.map +1 -0
- package/dist/esm/cache/Caching.d.ts +29 -0
- package/dist/esm/cache/Caching.js +89 -0
- package/dist/esm/cache/Caching.js.map +1 -0
- package/dist/esm/cache/PersistentCache.d.ts +15 -0
- package/dist/esm/cache/PersistentCache.js +105 -0
- package/dist/esm/cache/PersistentCache.js.map +1 -0
- package/dist/esm/canvas/CanvasCompat.d.ts +5 -0
- package/dist/esm/canvas/CanvasCompat.js +29 -0
- package/dist/esm/canvas/CanvasCompat.js.map +1 -0
- package/dist/esm/canvas/CanvasImage.d.ts +18 -0
- package/dist/esm/canvas/CanvasImage.js +41 -0
- package/dist/esm/canvas/CanvasImage.js.map +1 -0
- package/dist/esm/entity/EntityModel.d.ts +7 -0
- package/dist/esm/entity/EntityModel.js +2 -0
- package/dist/esm/entity/EntityModel.js.map +1 -0
- package/dist/esm/entity/blockEntityModels.json +1401 -0
- package/dist/esm/entity/entityModels.json +20623 -0
- package/dist/esm/entity/scene/EntityObject.d.ts +20 -0
- package/dist/esm/entity/scene/EntityObject.js +104 -0
- package/dist/esm/entity/scene/EntityObject.js.map +1 -0
- package/dist/esm/error/MineRenderError.d.ts +4 -0
- package/dist/esm/error/MineRenderError.js +11 -0
- package/dist/esm/error/MineRenderError.js.map +1 -0
- package/dist/esm/gui/scene/GuiObject.d.ts +6 -0
- package/dist/esm/gui/scene/GuiObject.js +4 -0
- package/dist/esm/gui/scene/GuiObject.js.map +1 -0
- package/dist/esm/image/ImageLoader.d.ts +28 -0
- package/dist/esm/image/ImageLoader.js +159 -0
- package/dist/esm/image/ImageLoader.js.map +1 -0
- package/dist/esm/index.d.ts +28 -0
- package/dist/esm/index.js +31 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/inspector/SceneInspector.d.ts +27 -0
- package/dist/esm/inspector/SceneInspector.js +362 -0
- package/dist/esm/inspector/SceneInspector.js.map +1 -0
- package/dist/esm/inspector/SceneStats.d.ts +22 -0
- package/dist/esm/inspector/SceneStats.js +49 -0
- package/dist/esm/inspector/SceneStats.js.map +1 -0
- package/dist/esm/instance/InstanceManager.d.ts +14 -0
- package/dist/esm/instance/InstanceManager.js +53 -0
- package/dist/esm/instance/InstanceManager.js.map +1 -0
- package/dist/esm/instance/InstanceReference.d.ts +21 -0
- package/dist/esm/instance/InstanceReference.js +44 -0
- package/dist/esm/instance/InstanceReference.js.map +1 -0
- package/dist/esm/instance/Instanceable.d.ts +16 -0
- package/dist/esm/instance/Instanceable.js +4 -0
- package/dist/esm/instance/Instanceable.js.map +1 -0
- package/dist/esm/lib/OrbitControls.d.ts +64 -0
- package/dist/esm/lib/OrbitControls.js +636 -0
- package/dist/esm/lib/OrbitControls.js.map +1 -0
- package/dist/esm/model/DisplayPosition.d.ts +11 -0
- package/dist/esm/model/DisplayPosition.js +13 -0
- package/dist/esm/model/DisplayPosition.js.map +1 -0
- package/dist/esm/model/ElementFace.d.ts +9 -0
- package/dist/esm/model/ElementFace.js +2 -0
- package/dist/esm/model/ElementFace.js.map +1 -0
- package/dist/esm/model/GuiLight.d.ts +4 -0
- package/dist/esm/model/GuiLight.js +6 -0
- package/dist/esm/model/GuiLight.js.map +1 -0
- package/dist/esm/model/Model.d.ts +46 -0
- package/dist/esm/model/Model.js +14 -0
- package/dist/esm/model/Model.js.map +1 -0
- package/dist/esm/model/ModelElement.d.ts +21 -0
- package/dist/esm/model/ModelElement.js +2 -0
- package/dist/esm/model/ModelElement.js.map +1 -0
- package/dist/esm/model/ModelGenerator.d.ts +6 -0
- package/dist/esm/model/ModelGenerator.js +23 -0
- package/dist/esm/model/ModelGenerator.js.map +1 -0
- package/dist/esm/model/ModelMerger.d.ts +5 -0
- package/dist/esm/model/ModelMerger.js +44 -0
- package/dist/esm/model/ModelMerger.js.map +1 -0
- package/dist/esm/model/ModelPart.d.ts +23 -0
- package/dist/esm/model/ModelPart.js +2 -0
- package/dist/esm/model/ModelPart.js.map +1 -0
- package/dist/esm/model/block/Block.d.ts +6 -0
- package/dist/esm/model/block/Block.js +2 -0
- package/dist/esm/model/block/Block.js.map +1 -0
- package/dist/esm/model/block/BlockState.d.ts +23 -0
- package/dist/esm/model/block/BlockState.js +2 -0
- package/dist/esm/model/block/BlockState.js.map +1 -0
- package/dist/esm/model/block/BlockStateProperties.d.ts +13 -0
- package/dist/esm/model/block/BlockStateProperties.js +2 -0
- package/dist/esm/model/block/BlockStateProperties.js.map +1 -0
- package/dist/esm/model/block/scene/BlockObject.d.ts +46 -0
- package/dist/esm/model/block/scene/BlockObject.js +460 -0
- package/dist/esm/model/block/scene/BlockObject.js.map +1 -0
- package/dist/esm/model/defaultBlockStates.json +12337 -0
- package/dist/esm/model/multiblock/MultiBlockStructure.d.ts +9 -0
- package/dist/esm/model/multiblock/MultiBlockStructure.js +2 -0
- package/dist/esm/model/multiblock/MultiBlockStructure.js.map +1 -0
- package/dist/esm/model/multiblock/SchematicParser.d.ts +4 -0
- package/dist/esm/model/multiblock/SchematicParser.js +19 -0
- package/dist/esm/model/multiblock/SchematicParser.js.map +1 -0
- package/dist/esm/model/multiblock/StructureParser.d.ts +70 -0
- package/dist/esm/model/multiblock/StructureParser.js +48 -0
- package/dist/esm/model/multiblock/StructureParser.js.map +1 -0
- package/dist/esm/model/scene/ModelObject.d.ts +25 -0
- package/dist/esm/model/scene/ModelObject.js +155 -0
- package/dist/esm/model/scene/ModelObject.js.map +1 -0
- package/dist/esm/nbt/NBTHelper.d.ts +8 -0
- package/dist/esm/nbt/NBTHelper.js +19 -0
- package/dist/esm/nbt/NBTHelper.js.map +1 -0
- package/dist/esm/renderer/MineRenderScene.d.ts +35 -0
- package/dist/esm/renderer/MineRenderScene.js +124 -0
- package/dist/esm/renderer/MineRenderScene.js.map +1 -0
- package/dist/esm/renderer/Renderer.d.ts +83 -0
- package/dist/esm/renderer/Renderer.js +260 -0
- package/dist/esm/renderer/Renderer.js.map +1 -0
- package/dist/esm/renderer/SceneObject.d.ts +81 -0
- package/dist/esm/renderer/SceneObject.js +392 -0
- package/dist/esm/renderer/SceneObject.js.map +1 -0
- package/dist/esm/renderer/SceneObjectOptions.d.ts +6 -0
- package/dist/esm/renderer/SceneObjectOptions.js +2 -0
- package/dist/esm/renderer/SceneObjectOptions.js.map +1 -0
- package/dist/esm/request/Requests.d.ts +12 -0
- package/dist/esm/request/Requests.js +32 -0
- package/dist/esm/request/Requests.js.map +1 -0
- package/dist/esm/skin/SkinGeometries.d.ts +5 -0
- package/dist/esm/skin/SkinGeometries.js +33 -0
- package/dist/esm/skin/SkinGeometries.js.map +1 -0
- package/dist/esm/skin/SkinPart.d.ts +16 -0
- package/dist/esm/skin/SkinPart.js +18 -0
- package/dist/esm/skin/SkinPart.js.map +1 -0
- package/dist/esm/skin/SkinTextureCoordinates.d.ts +5 -0
- package/dist/esm/skin/SkinTextureCoordinates.js +748 -0
- package/dist/esm/skin/SkinTextureCoordinates.js.map +1 -0
- package/dist/esm/skin/Skins.d.ts +17 -0
- package/dist/esm/skin/Skins.js +164 -0
- package/dist/esm/skin/Skins.js.map +1 -0
- package/dist/esm/skin/scene/SkinObject.d.ts +21 -0
- package/dist/esm/skin/scene/SkinObject.js +112 -0
- package/dist/esm/skin/scene/SkinObject.js.map +1 -0
- package/dist/esm/texture/TextureAtlas.d.ts +29 -0
- package/dist/esm/texture/TextureAtlas.js +22 -0
- package/dist/esm/texture/TextureAtlas.js.map +1 -0
- package/dist/esm/texture/TextureLoader.d.ts +6 -0
- package/dist/esm/texture/TextureLoader.js +30 -0
- package/dist/esm/texture/TextureLoader.js.map +1 -0
- package/dist/esm/texture/Textures.d.ts +10 -0
- package/dist/esm/texture/Textures.js +29 -0
- package/dist/esm/texture/Textures.js.map +1 -0
- package/dist/esm/three/BufferGeometryUtils.d.ts +44 -0
- package/dist/esm/three/BufferGeometryUtils.js +544 -0
- package/dist/esm/three/BufferGeometryUtils.js.map +1 -0
- package/dist/esm/three/OrbitControls.d.ts +59 -0
- package/dist/esm/three/OrbitControls.js +786 -0
- package/dist/esm/three/OrbitControls.js.map +1 -0
- package/dist/esm/util/BatchedExecutor.d.ts +12 -0
- package/dist/esm/util/BatchedExecutor.js +22 -0
- package/dist/esm/util/BatchedExecutor.js.map +1 -0
- package/dist/esm/util/log.d.ts +1 -0
- package/dist/esm/util/log.js +28 -0
- package/dist/esm/util/log.js.map +1 -0
- package/dist/esm/util/model.d.ts +11 -0
- package/dist/esm/util/model.js +173 -0
- package/dist/esm/util/model.js.map +1 -0
- package/dist/esm/util/performance.d.ts +3 -0
- package/dist/esm/util/performance.js +13 -0
- package/dist/esm/util/performance.js.map +1 -0
- package/dist/esm/util/three.d.ts +8 -0
- package/dist/esm/util/three.js +19 -0
- package/dist/esm/util/three.js.map +1 -0
- package/dist/esm/util/util.d.ts +19 -0
- package/dist/esm/util/util.js +107 -0
- package/dist/esm/util/util.js.map +1 -0
- package/dist/esm/world/BlockInfo.d.ts +6 -0
- package/dist/esm/world/BlockInfo.js +2 -0
- package/dist/esm/world/BlockInfo.js.map +1 -0
- package/dist/esm/world/Chunk.d.ts +33 -0
- package/dist/esm/world/Chunk.js +128 -0
- package/dist/esm/world/Chunk.js.map +1 -0
- package/dist/esm/world/MineRenderWorld.d.ts +31 -0
- package/dist/esm/world/MineRenderWorld.js +129 -0
- package/dist/esm/world/MineRenderWorld.js.map +1 -0
- package/docs/CNAME +0 -0
- package/docs/ast/source/.external-ecmascript.js.json +0 -0
- package/docs/ast/source/combined/index.js.json +0 -0
- package/docs/ast/source/entity/index.js.json +0 -0
- package/docs/ast/source/functions.js.json +0 -0
- package/docs/ast/source/gui/guiHelper.js.json +0 -0
- package/docs/ast/source/gui/guiPositions.js.json +0 -0
- package/docs/ast/source/gui/index.js.json +0 -0
- package/docs/ast/source/lib/OrbitControls.js.json +0 -0
- package/docs/ast/source/lib/merge.js.json +0 -0
- package/docs/ast/source/model/ModelWorker.js.json +0 -0
- package/docs/ast/source/model/index.js.json +0 -0
- package/docs/ast/source/model/modelConverter.js.json +0 -0
- package/docs/ast/source/model/modelFunctions.js.json +0 -0
- package/docs/ast/source/renderBase.js.json +0 -0
- package/docs/ast/source/skin/index.js.json +0 -0
- package/docs/ast/source/skin/texturePositions.js.json +0 -0
- package/docs/badge.svg +0 -0
- package/docs/class/src/combined/index.js~CombinedRender.html +0 -0
- package/docs/class/src/entity/index.js~EntityRender.html +0 -0
- package/docs/class/src/gui/index.js~GuiRender.html +0 -0
- package/docs/class/src/model/index.js~ModelRender.html +0 -0
- package/docs/class/src/renderBase.js~Render.html +0 -0
- package/docs/class/src/skin/index.js~SkinRender.html +0 -0
- package/docs/coverage.json +0 -0
- package/docs/css/github.css +0 -0
- package/docs/css/identifiers.css +0 -0
- package/docs/css/manual.css +0 -0
- package/docs/css/prettify-tomorrow.css +0 -0
- package/docs/css/search.css +0 -0
- package/docs/css/source.css +0 -0
- package/docs/css/style.css +0 -0
- package/docs/css/test.css +0 -0
- package/docs/file/src/combined/index.js.html +0 -0
- package/docs/file/src/entity/index.js.html +0 -0
- package/docs/file/src/functions.js.html +0 -0
- package/docs/file/src/gui/guiHelper.js.html +0 -0
- package/docs/file/src/gui/guiPositions.js.html +0 -0
- package/docs/file/src/gui/index.js.html +0 -0
- package/docs/file/src/lib/OrbitControls.js.html +0 -0
- package/docs/file/src/lib/merge.js.html +0 -0
- package/docs/file/src/model/ModelWorker.js.html +0 -0
- package/docs/file/src/model/index.js.html +0 -0
- package/docs/file/src/model/modelConverter.js.html +0 -0
- package/docs/file/src/model/modelFunctions.js.html +0 -0
- package/docs/file/src/renderBase.js.html +0 -0
- package/docs/file/src/skin/index.js.html +0 -0
- package/docs/file/src/skin/texturePositions.js.html +0 -0
- package/docs/function/index.html +0 -0
- package/docs/identifiers.html +0 -0
- package/docs/image/badge.svg +0 -0
- package/docs/image/brand_logo.png +0 -0
- package/docs/image/esdoc-logo-mini-black.png +0 -0
- package/docs/image/esdoc-logo-mini.png +0 -0
- package/docs/image/github.png +0 -0
- package/docs/image/manual-badge.svg +0 -0
- package/docs/image/search.png +0 -0
- package/docs/index.html +0 -0
- package/docs/index.json +0 -0
- package/docs/lint.json +0 -0
- package/docs/script/inherited-summary.js +0 -0
- package/docs/script/inner-link.js +0 -0
- package/docs/script/manual.js +0 -0
- package/docs/script/patch-for-local.js +0 -0
- package/docs/script/prettify/Apache-License-2.0.txt +0 -0
- package/docs/script/prettify/prettify.js +0 -0
- package/docs/script/pretty-print.js +0 -0
- package/docs/script/search.js +0 -0
- package/docs/script/search_index.js +0 -0
- package/docs/script/test-summary.js +0 -0
- package/docs/source.html +0 -0
- package/docs/variable/index.html +0 -0
- package/embed/model/index.html +0 -0
- package/embed/skin/index.html +0 -0
- package/favicon.ico +0 -0
- package/gulpfile.js +77 -0
- package/img/minerender-x128.png +0 -0
- package/img/minerender-x256.png +0 -0
- package/img/minerender-x256.webp +0 -0
- package/img/minerender-x512.png +0 -0
- package/img/minerender-x64.png +0 -0
- package/img/minerender.svg +0 -0
- package/img/minerender_block_gray.png +0 -0
- package/img/minerender_steve.png +0 -0
- package/img/minerender_steve_gray.png +0 -0
- package/img/minerender_steve_gray_blur.png +0 -0
- package/img/optifine_cape.png +0 -0
- package/img/optifine_hires_cape.png +0 -0
- package/index.html +0 -0
- package/js/data.js +0 -0
- package/js/data.min.js.map +1 -0
- package/js/main.js +0 -0
- package/js/main.min.js.map +1 -0
- package/keybase.txt +0 -0
- package/manifest.json +0 -0
- package/mccolor.js +1 -0
- package/nameToUuid.php +0 -0
- package/package.json +93 -24
- package/renovate.json +0 -0
- package/res/bedrockSource.txt +2 -0
- package/res/idsToNames.json +0 -0
- package/res/mc/.htaccess +0 -0
- package/res/mc/index.php +0 -0
- package/res/models/entities/agent.json +0 -0
- package/res/models/entities/armor_stand.json +0 -0
- package/res/models/entities/bat.json +0 -0
- package/res/models/entities/bed.json +0 -0
- package/res/models/entities/blaze.json +0 -0
- package/res/models/entities/cape.json +0 -0
- package/res/models/entities/chalkboard_large.json +0 -0
- package/res/models/entities/chalkboard_medium.json +0 -0
- package/res/models/entities/chalkboard_small.json +0 -0
- package/res/models/entities/chicken.json +0 -0
- package/res/models/entities/cod.json +0 -0
- package/res/models/entities/cow.json +0 -0
- package/res/models/entities/creeper.charged.json +0 -0
- package/res/models/entities/creeper.json +0 -0
- package/res/models/entities/dolphin.json +0 -0
- package/res/models/entities/dragon.json +0 -0
- package/res/models/entities/dragon_head.json +0 -0
- package/res/models/entities/enderman.json +0 -0
- package/res/models/entities/evoker.json +0 -0
- package/res/models/entities/ghast.json +0 -0
- package/res/models/entities/guardian.json +0 -0
- package/res/models/entities/horse.json +0 -0
- package/res/models/entities/horse.v2.json +0 -0
- package/res/models/entities/humanoid.armor1.json +0 -0
- package/res/models/entities/humanoid.armor2.json +0 -0
- package/res/models/entities/humanoid.custom.json +0 -0
- package/res/models/entities/humanoid.customSlim.json +0 -0
- package/res/models/entities/humanoid.json +0 -0
- package/res/models/entities/irongolem.json +0 -0
- package/res/models/entities/lavaslime.json +0 -0
- package/res/models/entities/llama.json +0 -0
- package/res/models/entities/llamaspit.json +0 -0
- package/res/models/entities/mob_head.json +0 -0
- package/res/models/entities/mooshroom.json +0 -0
- package/res/models/entities/npc.json +0 -0
- package/res/models/entities/ocelot.json +0 -0
- package/res/models/entities/parrot.json +0 -0
- package/res/models/entities/pig.json +0 -0
- package/res/models/entities/pigzombie.baby.json +0 -0
- package/res/models/entities/pigzombie.json +0 -0
- package/res/models/entities/player_head.json +0 -0
- package/res/models/entities/polarbear.json +0 -0
- package/res/models/entities/pufferfish.large.json +0 -0
- package/res/models/entities/pufferfish.mid.json +0 -0
- package/res/models/entities/pufferfish.small.json +0 -0
- package/res/models/entities/quadruped.json +0 -0
- package/res/models/entities/rabbit.json +0 -0
- package/res/models/entities/salmon.json +0 -0
- package/res/models/entities/sheep.json +0 -0
- package/res/models/entities/sheep.sheared.json +0 -0
- package/res/models/entities/shulker.json +0 -0
- package/res/models/entities/silverfish.json +0 -0
- package/res/models/entities/skeleton.json +0 -0
- package/res/models/entities/skeleton.stray.json +0 -0
- package/res/models/entities/skeleton.wither.json +0 -0
- package/res/models/entities/slime.armor.json +0 -0
- package/res/models/entities/slime.json +0 -0
- package/res/models/entities/snowgolem.json +0 -0
- package/res/models/entities/spider.json +0 -0
- package/res/models/entities/squid.json +0 -0
- package/res/models/entities/stray.armor.json +0 -0
- package/res/models/entities/trident.json +0 -0
- package/res/models/entities/tropicalfish_a.json +0 -0
- package/res/models/entities/tropicalfish_b.json +0 -0
- package/res/models/entities/turtle.json +0 -0
- package/res/models/entities/vex.json +0 -0
- package/res/models/entities/villager.json +0 -0
- package/res/models/entities/villager.witch.json +0 -0
- package/res/models/entities/vindicator.json +0 -0
- package/res/models/entities/witherBoss.armor.json +0 -0
- package/res/models/entities/witherBoss.json +0 -0
- package/res/models/entities/wolf.json +0 -0
- package/res/models/entities/zombie.drowned.json +0 -0
- package/res/models/entities/zombie.husk.json +0 -0
- package/res/models/entities/zombie.json +0 -0
- package/res/models/entities/zombie.villager.json +0 -0
- package/res/tools/bedrock/bedrockEntityConverter.js +0 -0
- package/res/tools/bedrock/convertedMobs/agent.json +0 -0
- package/res/tools/bedrock/convertedMobs/bed.json +0 -0
- package/res/tools/bedrock/convertedMobs/cape.json +0 -0
- package/res/tools/bedrock/convertedMobs/chalkboard_large.json +0 -0
- package/res/tools/bedrock/convertedMobs/chalkboard_medium.json +0 -0
- package/res/tools/bedrock/convertedMobs/chalkboard_small.json +0 -0
- package/res/tools/bedrock/convertedMobs/dragon.json +0 -0
- package/res/tools/bedrock/convertedMobs/dragon_head.json +0 -0
- package/res/tools/bedrock/convertedMobs/elytra.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.armor.boots.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.armor.chestplate.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.armor.helmet.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.armor.leggings.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.armor1.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.armor2.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.custom.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.customSlim.json +0 -0
- package/res/tools/bedrock/convertedMobs/humanoid.json +0 -0
- package/res/tools/bedrock/convertedMobs/irongolem.json +0 -0
- package/res/tools/bedrock/convertedMobs/mob_head.json +0 -0
- package/res/tools/bedrock/convertedMobs/player_head.json +0 -0
- package/res/tools/bedrock/convertedMobs/quadruped.json +0 -0
- package/res/tools/bedrock/convertedMobs/rsion.json +0 -0
- package/res/tools/bedrock/convertedMobs/trident.json +0 -0
- package/res/tools/bedrock/mobs.json +0 -0
- package/res/tools/java/javaSourceParser.js +0 -0
- package/res/tools/java/parsedToModel.js +0 -0
- package/server/index.js +0 -0
- package/src/AnimatorFunction.d.ts +3 -0
- package/src/AnimatorFunction.js +3 -0
- package/src/AnimatorFunction.js.map +1 -0
- package/src/AnimatorFunction.ts +3 -0
- package/src/Axis.d.ts +8 -0
- package/src/Axis.js +23 -0
- package/src/Axis.js.map +1 -0
- package/src/Axis.ts +20 -0
- package/src/CubeFace.d.ts +17 -0
- package/src/CubeFace.js +23 -0
- package/src/CubeFace.js.map +1 -0
- package/src/CubeFace.ts +20 -0
- package/src/Disposable.d.ts +4 -0
- package/src/Disposable.js +8 -0
- package/src/Disposable.js.map +1 -0
- package/src/Disposable.ts +7 -0
- package/src/Env.d.ts +2 -0
- package/src/Env.js +7 -0
- package/src/Env.js.map +1 -0
- package/src/Env.ts +2 -0
- package/src/ExtractableImageData.d.ts +5 -0
- package/src/ExtractableImageData.js +3 -0
- package/src/ExtractableImageData.js.map +1 -0
- package/src/ExtractableImageData.ts +5 -0
- package/src/Geometries.d.ts +6 -0
- package/src/Geometries.js +92 -0
- package/src/Geometries.js.map +1 -0
- package/src/Geometries.ts +99 -0
- package/src/ListAsset.d.ts +5 -0
- package/src/ListAsset.js +3 -0
- package/src/ListAsset.js.map +1 -0
- package/src/ListAsset.ts +6 -0
- package/src/Materials.d.ts +8 -0
- package/src/Materials.js +38 -0
- package/src/Materials.js.map +1 -0
- package/src/Materials.ts +160 -0
- package/src/Meshes.d.ts +6 -0
- package/src/Meshes.js +21 -0
- package/src/Meshes.js.map +1 -0
- package/src/Meshes.ts +20 -0
- package/src/MinecraftAsset.d.ts +7 -0
- package/src/MinecraftAsset.js +3 -0
- package/src/MinecraftAsset.js.map +1 -0
- package/src/MinecraftAsset.ts +9 -0
- package/src/MinecraftCubeTexture.d.ts +26 -0
- package/src/MinecraftCubeTexture.js +104 -0
- package/src/MinecraftCubeTexture.js.map +1 -0
- package/src/MinecraftCubeTexture.ts +116 -0
- package/src/MinecraftTextureMeta.d.ts +15 -0
- package/src/MinecraftTextureMeta.js +3 -0
- package/src/MinecraftTextureMeta.js.map +1 -0
- package/src/MinecraftTextureMeta.ts +18 -0
- package/src/SceneStats.d.ts +5 -0
- package/src/SceneStats.js +12 -0
- package/src/SceneStats.js.map +1 -0
- package/src/SceneStats.ts +7 -0
- package/src/Serializable.d.ts +3 -0
- package/src/Serializable.js +3 -0
- package/src/Serializable.js.map +1 -0
- package/src/Serializable.ts +3 -0
- package/src/Ticker.d.ts +20 -0
- package/src/Ticker.js +55 -0
- package/src/Ticker.js.map +1 -0
- package/src/Ticker.ts +65 -0
- package/src/TintColors.ts +3 -0
- package/src/Transformable.d.ts +10 -0
- package/src/Transformable.js +8 -0
- package/src/Transformable.js.map +1 -0
- package/src/Transformable.ts +23 -0
- package/src/UVMapper.d.ts +40 -0
- package/src/UVMapper.js +421 -0
- package/src/UVMapper.js.map +1 -0
- package/src/UVMapper.ts +506 -0
- package/src/WrappedImage.d.ts +17 -0
- package/src/WrappedImage.js +50 -0
- package/src/WrappedImage.js.map +1 -0
- package/src/WrappedImage.ts +61 -0
- package/src/_model/Cube.ts +9 -0
- package/src/_model/Element.ts +10 -0
- package/src/_model/Face.ts +7 -0
- package/src/_model/Model.ts +5 -0
- package/src/assets/AssetKey.d.ts +24 -0
- package/src/assets/AssetKey.js +70 -0
- package/src/assets/AssetKey.js.map +1 -0
- package/src/assets/AssetKey.ts +98 -0
- package/src/assets/AssetLoader.d.ts +25 -0
- package/src/assets/AssetLoader.js +132 -0
- package/src/assets/AssetLoader.js.map +1 -0
- package/src/assets/AssetLoader.ts +152 -0
- package/src/assets/Assets.d.ts +14 -0
- package/src/assets/Assets.js +24 -0
- package/src/assets/Assets.js.map +1 -0
- package/src/assets/Assets.ts +28 -0
- package/src/assets/BlockStates.d.ts +9 -0
- package/src/assets/BlockStates.js +51 -0
- package/src/assets/BlockStates.js.map +1 -0
- package/src/assets/BlockStates.ts +64 -0
- package/src/assets/Entities.d.ts +8 -0
- package/src/assets/Entities.js +40 -0
- package/src/assets/Entities.js.map +1 -0
- package/src/assets/Entities.ts +40 -0
- package/src/assets/ModelTextures.d.ts +11 -0
- package/src/assets/ModelTextures.js +42 -0
- package/src/assets/ModelTextures.js.map +1 -0
- package/src/assets/ModelTextures.ts +58 -0
- package/src/assets/Models.d.ts +11 -0
- package/src/assets/Models.js +70 -0
- package/src/assets/Models.js.map +1 -0
- package/src/assets/Models.ts +81 -0
- package/src/bedrock/BedrockEntityDescription.ts +11 -0
- package/src/bedrock/BedrockEntityFile.ts +8 -0
- package/src/bedrock/BedrockGeometry.ts +28 -0
- package/src/bedrock/BedrockGeometryFile.ts +7 -0
- package/src/cache/CacheKey.d.ts +28 -0
- package/src/cache/CacheKey.js +27 -0
- package/src/cache/CacheKey.js.map +1 -0
- package/src/cache/CacheKey.ts +90 -0
- package/src/cache/Caching.d.ts +29 -0
- package/src/cache/Caching.js +93 -0
- package/src/cache/Caching.js.map +1 -0
- package/src/cache/Caching.ts +116 -0
- package/src/cache/PersistentCache.d.ts +15 -0
- package/src/cache/PersistentCache.js +101 -0
- package/src/cache/PersistentCache.js.map +1 -0
- package/src/cache/PersistentCache.ts +132 -0
- package/src/canvas/CanvasCompat.d.ts +5 -0
- package/src/canvas/CanvasCompat.js +53 -0
- package/src/canvas/CanvasCompat.js.map +1 -0
- package/src/canvas/CanvasCompat.ts +33 -0
- package/src/canvas/CanvasImage.d.ts +18 -0
- package/src/canvas/CanvasImage.js +45 -0
- package/src/canvas/CanvasImage.js.map +1 -0
- package/src/canvas/CanvasImage.ts +58 -0
- package/src/entity/EntityModel.d.ts +7 -0
- package/src/entity/EntityModel.js +3 -0
- package/src/entity/EntityModel.js.map +1 -0
- package/src/entity/EntityModel.ts +6 -0
- package/src/entity/blockEntityModels.json +1401 -0
- package/src/entity/entityModels.json +20623 -0
- package/src/entity/scene/EntityObject.d.ts +20 -0
- package/src/entity/scene/EntityObject.js +116 -0
- package/src/entity/scene/EntityObject.js.map +1 -0
- package/src/entity/scene/EntityObject.ts +138 -0
- package/src/error/MineRenderError.d.ts +4 -0
- package/src/error/MineRenderError.js +15 -0
- package/src/error/MineRenderError.js.map +1 -0
- package/src/error/MineRenderError.ts +11 -0
- package/src/gui/scene/GuiObject.ts +13 -0
- package/src/image/ImageLoader.d.ts +28 -0
- package/src/image/ImageLoader.js +134 -0
- package/src/image/ImageLoader.js.map +1 -0
- package/src/image/ImageLoader.ts +161 -0
- package/src/index.d.ts +22 -0
- package/src/index.js +36 -0
- package/src/index.js.map +1 -0
- package/src/index.ts +39 -0
- package/src/inspector/SceneInspector.d.ts +22 -0
- package/src/inspector/SceneInspector.js +334 -0
- package/src/inspector/SceneInspector.js.map +1 -0
- package/src/inspector/SceneInspector.ts +426 -0
- package/src/inspector/SceneStats.ts +68 -0
- package/src/instance/InstanceManager.ts +53 -0
- package/src/instance/InstanceReference.d.ts +20 -0
- package/src/instance/InstanceReference.js +46 -0
- package/src/instance/InstanceReference.js.map +1 -0
- package/src/instance/InstanceReference.ts +62 -0
- package/src/instance/Instanceable.d.ts +15 -0
- package/src/instance/Instanceable.js +8 -0
- package/src/instance/Instanceable.js.map +1 -0
- package/src/instance/Instanceable.ts +33 -0
- package/src/lib/OrbitControls.js +0 -0
- package/src/model/DisplayPosition.ts +12 -0
- package/src/model/ElementFace.d.ts +9 -0
- package/src/model/ElementFace.js +3 -0
- package/src/model/ElementFace.js.map +1 -0
- package/src/model/ElementFace.ts +10 -0
- package/src/model/GuiLight.ts +4 -0
- package/src/model/Model.d.ts +43 -0
- package/src/model/Model.js +8 -0
- package/src/model/Model.js.map +1 -0
- package/src/model/Model.ts +67 -0
- package/src/model/ModelElement.ts +30 -0
- package/src/model/ModelGenerator.ts +32 -0
- package/src/model/ModelMerger.ts +36 -0
- package/src/model/ModelPart.d.ts +23 -0
- package/src/model/ModelPart.js +3 -0
- package/src/model/ModelPart.js.map +1 -0
- package/src/model/ModelPart.ts +25 -0
- package/src/model/block/Block.ts +10 -0
- package/src/model/block/BlockState.ts +25 -0
- package/src/model/block/BlockStateProperties.ts +12 -0
- package/src/model/block/scene/BlockObject.ts +475 -0
- package/src/model/defaultBlockStates.json +12337 -0
- package/src/model/legacyBlockList.json +47234 -0
- package/src/model/multiblock/MultiBlockStructure.ts +14 -0
- package/src/model/multiblock/SchematicParser.ts +11 -0
- package/src/model/multiblock/StructureParser.ts +109 -0
- package/src/model/scene/ModelObject.ts +185 -0
- package/src/nbt/NBTHelper.d.ts +8 -0
- package/src/nbt/NBTHelper.js +32 -0
- package/src/nbt/NBTHelper.js.map +1 -0
- package/src/nbt/NBTHelper.ts +15 -0
- package/src/renderer/MineRenderScene.ts +132 -0
- package/src/renderer/Renderer.ts +399 -0
- package/src/renderer/SceneObject.ts +446 -0
- package/src/renderer/SceneObjectOptions.ts +6 -0
- package/src/request/Requests.ts +44 -0
- package/src/skin/SkinGeometries.d.ts +5 -0
- package/src/skin/SkinGeometries.js +39 -0
- package/src/skin/SkinGeometries.js.map +1 -0
- package/src/skin/SkinGeometries.ts +50 -0
- package/src/skin/SkinPart.d.ts +16 -0
- package/src/skin/SkinPart.js +21 -0
- package/src/skin/SkinPart.js.map +1 -0
- package/src/skin/SkinPart.ts +19 -0
- package/src/skin/SkinTextureCoordinates.d.ts +5 -0
- package/src/skin/SkinTextureCoordinates.js +753 -0
- package/src/skin/SkinTextureCoordinates.js.map +1 -0
- package/src/skin/SkinTextureCoordinates.ts +759 -0
- package/src/skin/Skins.ts +158 -0
- package/src/skin/playerModels.json +678 -0
- package/src/skin/scene/SkinObject.d.ts +20 -0
- package/src/skin/scene/SkinObject.js +102 -0
- package/src/skin/scene/SkinObject.js.map +1 -0
- package/src/skin/scene/SkinObject.ts +148 -0
- package/src/texture/TextureAtlas.d.ts +29 -0
- package/src/texture/TextureAtlas.js +26 -0
- package/src/texture/TextureAtlas.js.map +1 -0
- package/src/texture/TextureAtlas.ts +32 -0
- package/src/texture/TextureLoader.d.ts +6 -0
- package/src/texture/TextureLoader.js +34 -0
- package/src/texture/TextureLoader.js.map +1 -0
- package/src/texture/TextureLoader.ts +41 -0
- package/src/texture/Textures.d.ts +10 -0
- package/src/texture/Textures.js +52 -0
- package/src/texture/Textures.js.map +1 -0
- package/src/texture/Textures.ts +37 -0
- package/src/three/BufferGeometryUtils.d.ts +17 -0
- package/src/three/BufferGeometryUtils.js +944 -0
- package/src/three/OrbitControls.d.ts +78 -0
- package/src/three/OrbitControls.js +1297 -0
- package/src/util/BatchedExecutor.ts +37 -0
- package/src/util/log.ts +30 -0
- package/src/util/model.d.ts +11 -0
- package/src/util/model.js +182 -0
- package/src/util/model.js.map +1 -0
- package/src/util/model.ts +213 -0
- package/src/util/performance.ts +14 -0
- package/src/util/three.d.ts +6 -0
- package/src/util/three.js +20 -0
- package/src/util/three.js.map +1 -0
- package/src/util/three.ts +26 -0
- package/src/util/util.d.ts +9 -0
- package/src/util/util.js +117 -0
- package/src/util/util.js.map +1 -0
- package/src/util/util.ts +120 -0
- package/src/world/BlockInfo.ts +7 -0
- package/src/world/Chunk.ts +165 -0
- package/src/world/MineRenderWorld.ts +149 -0
- package/test/combined.html +0 -0
- package/test/entity.html +0 -0
- package/test/gui.html +0 -0
- package/test/model.html +0 -0
- package/test/serviceworker.js +50 -0
- package/test/skin.html +0 -0
- package/test/structure.html +0 -0
- package/test/v2.html +528 -0
- package/tsconfig-cjs.json +7 -0
- package/tsconfig.json +37 -0
- package/CORSpipe.php +0 -32
- package/dist/all.js +0 -2294
- package/dist/all.min.js +0 -52
- package/dist/entity.js +0 -2282
- package/dist/entity.min.js +0 -52
- package/dist/gui.js +0 -2270
- package/dist/gui.min.js +0 -52
- package/dist/model.js +0 -2234
- package/dist/model.min.js +0 -52
- package/dist/skin.js +0 -397
- package/dist/skin.min.js +0 -24
- package/src/combined/index.js +0 -83
- package/src/entity/index.js +0 -335
- package/src/functions.js +0 -262
- package/src/gui/guiHelper.js +0 -154
- package/src/gui/guiPositions.js +0 -85
- package/src/gui/index.js +0 -222
- package/src/lib/merge.js +0 -0
- package/src/model/ModelWorker.js +0 -32
- package/src/model/index.js +0 -1128
- package/src/model/modelConverter.js +0 -290
- package/src/model/modelFunctions.js +0 -463
- package/src/renderBase.js +0 -496
- package/src/skin/index.js +0 -696
- package/src/skin/texturePositions.js +0 -1050
- package/stats.json +0 -1
- package/stats.php +0 -41
- package/webpack.config.js +0 -166
|
@@ -0,0 +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
|
+
}
|
|
362
|
+
//# sourceMappingURL=SceneInspector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneInspector.js","sourceRoot":"src/","sources":["inspector/SceneInspector.ts"],"names":[],"mappings":"AACA,OAAO,EAA+C,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACxF,OAAO,EAAE,aAAa,EAAe,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAS,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEnC,MAAM,IAAI,GAAG,6CAA6C,CAAC;AAE3D,MAAM,OAAO,cAAc;IAUvB,YAAqB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAJtB,UAAK,GAAY,IAAI,OAAO,EAAE,CAAC;QAK5C,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE7D,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QAEjC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAES,IAAI;QACV,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC;QACzF,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,EAAE,4BAA4B,CAAC,CAAC;QAEjG,IAAI,CAAC,mBAAmB,CAAC,SAAS,GAAG,IAAI,CAAC;QAE1C,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACxD,OAAO,EAAE,IAAI;SAChB,CAAC,CAAA;IACN,CAAC;IAED,gBAAgB,CAAC,IAAc,EAAE,MAAc,EAAE;QAC7C,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACzB,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;gBACX,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACf;YACD,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACjC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,OAAO,CAAC,KAAK;;QACT,IAAI,CAAA,MAAc,KAAK,CAAC,MAAO,0CAAE,QAAQ,MAAK,QAAQ;YAAE,OAAO;QAC/D,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO;QAE3B,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,yBAAyB,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;YAChJ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAA;aAC1C;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ,CAAC,EAAe;QACpB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACpC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC5C,CAAC;IAES,sBAAsB,CAAC,aAA6B;QAC1D,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7B,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,EAAE;YAC/C,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC;YAE7C,IAAI,kBAAkB,GAAwB,SAAS,CAAC;YACxD,IAAI,YAAY,GAAoB,SAAS,CAAC;YAC9C,MAAM,4BAA4B,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5H,IAAI,4BAA4B,IAAI,4BAA4B,CAAC,MAAM,EAAE;gBACrE,kBAAkB,GAAG,4BAA4B,CAAC;gBAClD,YAAY,GAAG,4BAA4B,CAAC,MAAM,CAAC;aACtD;iBAAM;gBACH,8BAA8B;gBAC9B,kBAAkB,GAAG,iBAAiB,CAAC;gBACvC,YAAY,GAAG,WAAW,CAAC;aAC9B;YAED,IAAI,CAAC,kBAAkB,IAAI,CAAC,YAAY;gBAAE,OAAO;YAEjD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;SACvD;IACL,CAAC;IAEM,YAAY,CAAC,YAAsB,EAAE,kBAAiC;QACzE,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAES,MAAM,CAAC,YAAsB,EAAE,kBAAiC;QACtE,IAAI,CAAC,mBAAmB,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1C,IAAI,kBAAkB,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC/D,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;SACtE;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI,GAAG,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACvF,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,YAAY,CAAC,MAAM,EAAE;YACrB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;gBACpC,KAAK;aACR;SACJ;QAED,IAAI,CAAC,uBAAuB,CAAC,SAAS,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACvD,CAAC;IAES,WAAW,CAAC,MAAgB,EAAE,YAA2B;QAC/D,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEhD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAExD,IAAI,MAAM,CAAC,MAAM,EAAE;YACf,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;gBACxH,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAO,EAAE,YAAY,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC,CAAC;SACP;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE;gBAC/B,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;oBAC/G,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC,CAAC;aACP;SACJ;QACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAEnC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QAEjG,wCAAwC;QACxC,oFAAoF;QACpF,mBAAmB;QACnB,yBAAyB;QACzB,gDAAgD;QAChD,qBAAqB;QACrB,uBAAuB;QACvB,wCAAwC;QACxC,qBAAqB;QACrB,QAAQ;QACR,MAAM;QAGN,sBAAsB;QACtB,iDAAiD;QACjD,sEAAsE;QACtE,0CAA0C;QAC1C,IAAI;QAGJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QACxC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QACxD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAGnC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAGS,WAAW,CAAC,IAAY,EAAE,EAAU,EAAE,KAAU;QACtD,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC1C,EAAE,CAAC,SAAS,GAAG,GAAI,EAAG,KAAM,KAAM,EAAE,CAAC;QACrC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAE/B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9D,OAAO,EAAE,CAAC;IACd,CAAC;IAGS,iBAAiB,CAAC,MAAgB,EAAE,YAAiC,EAAE,SAAsB;QAEnG,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,GAAG,CAAC;QACrB,MAAM,UAAU,GAAG,CAAC,CAAC;QAErB,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,OAAO,YAAY,CAAC,UAAU,KAAK,WAAW,IAAI,aAAa,CAAC,MAAM,CAAC,IAAkB,MAAO,CAAC,WAAW,EAAE;YACrJ,MAAM,KAAK,GAAgB,MAAqB,CAAC;YAEjD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;YAE5C,IAAI,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACvD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;gBACrG,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,UAAW,CAAC,CAAC;gBACpD,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,UAAW,EAAE,GAAG,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC,CAAC;YACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;gBACrG,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,UAAW,CAAC,CAAC;gBACpD,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,UAAW,EAAE,GAAG,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC,CAAC;YACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;gBACrG,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,UAAW,CAAC,CAAC;gBACpD,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,UAAW,EAAE,GAAG,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC,CAAC;YAEJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;YAE5C,IAAI,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACvD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;gBACpG,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,UAAW,CAAC,CAAC;gBACpD,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrB,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,UAAW,EAAE,GAAG,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC,CAAC;YACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;gBACpG,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,UAAW,CAAC,CAAC;gBACpD,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrB,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,UAAW,EAAE,GAAG,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC,CAAC;YACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;gBACpG,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,UAAW,CAAC,CAAC;gBACpD,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrB,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,UAAW,EAAE,GAAG,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC,CAAC;YAEJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;YAEzC,IAAI,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;gBAC9E,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,UAAW,CAAC,CAAC;gBACjD,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,UAAW,EAAE,GAAG,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC,CAAC;YACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;gBAC9E,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,UAAW,CAAC,CAAC;gBACjD,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,UAAW,EAAE,GAAG,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC,CAAC;YACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;gBAC9E,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,UAAW,CAAC,CAAC;gBACjD,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,UAAW,EAAE,GAAG,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE;YAChC,MAAM,MAAM,GAAkB,MAAM,CAAC;YAErC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;YAE5C,IAAI,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/B,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;gBACrF,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC3B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC,CAAC,CAAC,CAAC;YACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;gBACrF,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC3B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC,CAAC,CAAC,CAAC;YACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;gBACrF,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC3B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC,CAAC,CAAC,CAAC;YAEJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;YAE5C,IAAI,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/B,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;gBACpG,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC3B,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC,CAAC;YACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;gBACpG,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC3B,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC,CAAC;YACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;gBACpG,GAAG,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC3B,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC,CAAC;YAEJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;YAEzC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC5B,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;gBAC9E,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACxB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC,CAAC;YACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;gBAC9E,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACxB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC,CAAC;YACJ,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;gBAC9E,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACxB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC,CAAC;SACP;aAAM;YACH,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;YAE5C,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEjI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;YAE5C,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7I,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7I,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7I,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;YAEzC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClH,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClH,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACrH;IACL,CAAC;IAES,aAAa,CAAC,IAAY,EAAE,EAAU,EAAE,KAAiB;QAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,aAAa,CAAC,IAAY,EAAE,EAAU,EAAE,OAAiB,EAAE,MAA2B;QAC5F,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACrB,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAChB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC7C,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;YACd,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;YAClB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;YAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;QACzB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,aAAa,CAAC,IAAY,EAAE,EAAU,EAAE,GAAY,EAAE,MAA4B;QACxF,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;QACrB,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,gBAAgB;QACtC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,YAAY,CAAC,IAAY,EAAE,EAAU,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,IAAY,EAAE,MAA2B;QAC7H,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjD,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxB,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC9B,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC;QACzC,SAAS,CAAC,SAAS,GAAG,GAAI,EAAG,KAAM,GAAI,GAAG,CAAC;QAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,KAAK,CAAC,GAAG,GAAG,GAAI,GAAI,EAAE,CAAC;QACvB,KAAK,CAAC,GAAG,GAAG,GAAI,GAAI,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,GAAG,GAAI,IAAK,EAAE,CAAC;QACzB,KAAK,CAAC,KAAK,GAAG,GAAI,GAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,GAAG,EAAE;YAClB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,SAAS,CAAC,SAAS,GAAG,GAAI,EAAG,KAAM,KAAK,CAAC,KAAM,GAAG,CAAA;QACtD,CAAC,CAAC;QACF,8CAA8C;QAC9C,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;YAChC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACd,KAAK,CAAC,KAAK,GAAG,GAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAK,EAAE,CAAC;gBACpD,QAAQ,EAAE,CAAC;aACd;iBAAM,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,KAAK,CAAC,KAAK,GAAG,GAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAK,EAAE,CAAC;gBACpD,QAAQ,EAAE,CAAC;aACd;QACL,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,SAAS,CAAC,IAAa;QAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACzB;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IAChB,CAAC;CAEJ"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Renderer } from "../renderer/Renderer";
|
|
2
|
+
export declare class SceneStats {
|
|
3
|
+
readonly renderer: Renderer;
|
|
4
|
+
readonly statsContainer: HTMLDivElement;
|
|
5
|
+
private readonly lines;
|
|
6
|
+
constructor(renderer: Renderer);
|
|
7
|
+
protected init(): void;
|
|
8
|
+
appendTo(el: HTMLElement): void;
|
|
9
|
+
add(line?: StatLine): void;
|
|
10
|
+
}
|
|
11
|
+
declare class StatLine {
|
|
12
|
+
readonly key: string;
|
|
13
|
+
readonly shortName: string;
|
|
14
|
+
readonly longName: string;
|
|
15
|
+
readonly valueProvider: () => number;
|
|
16
|
+
readonly wrapper: HTMLSpanElement;
|
|
17
|
+
readonly element: HTMLSpanElement;
|
|
18
|
+
value: number;
|
|
19
|
+
constructor(key: string, shortName: string, longName: string, valueProvider: () => number);
|
|
20
|
+
update(): void;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export class SceneStats {
|
|
2
|
+
constructor(renderer) {
|
|
3
|
+
this.renderer = renderer;
|
|
4
|
+
this.lines = [];
|
|
5
|
+
this.statsContainer = document.createElement("div");
|
|
6
|
+
this.init();
|
|
7
|
+
}
|
|
8
|
+
init() {
|
|
9
|
+
this.statsContainer.classList.add("minerender-stats");
|
|
10
|
+
setInterval(() => {
|
|
11
|
+
for (let line of this.lines) {
|
|
12
|
+
line.update();
|
|
13
|
+
}
|
|
14
|
+
}, 1000);
|
|
15
|
+
}
|
|
16
|
+
appendTo(el) {
|
|
17
|
+
el.append(this.statsContainer);
|
|
18
|
+
}
|
|
19
|
+
add(line) {
|
|
20
|
+
if (typeof line !== "undefined") {
|
|
21
|
+
this.lines.push(line);
|
|
22
|
+
this.statsContainer.append(line.wrapper);
|
|
23
|
+
}
|
|
24
|
+
this.statsContainer.append(document.createElement("br"));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
class StatLine {
|
|
28
|
+
constructor(key, shortName, longName, valueProvider) {
|
|
29
|
+
this.key = key;
|
|
30
|
+
this.shortName = shortName;
|
|
31
|
+
this.longName = longName;
|
|
32
|
+
this.valueProvider = valueProvider;
|
|
33
|
+
this.value = 0;
|
|
34
|
+
this.wrapper = document.createElement("span");
|
|
35
|
+
this.wrapper.classList.add("minerender-stat-wrapper");
|
|
36
|
+
this.wrapper.title = longName;
|
|
37
|
+
this.element = document.createElement("span");
|
|
38
|
+
this.element.classList.add("minerender-stat");
|
|
39
|
+
this.element.id = "minerender-stat-" + key;
|
|
40
|
+
this.element.dataset["stat"] = key;
|
|
41
|
+
this.wrapper.append(shortName);
|
|
42
|
+
this.wrapper.append(this.element);
|
|
43
|
+
}
|
|
44
|
+
update() {
|
|
45
|
+
this.value = this.valueProvider();
|
|
46
|
+
this.element.innerText = `${this.value}`;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=SceneStats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneStats.js","sourceRoot":"src/","sources":["inspector/SceneStats.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,UAAU;IAMnB,YAAqB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAFtB,UAAK,GAAe,EAAE,CAAC;QAGpC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEpD,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAES,IAAI;QACV,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAEtD,WAAW,CAAC,GAAG,EAAE;YACb,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;gBACzB,IAAI,CAAC,MAAM,EAAE,CAAC;aACjB;QACL,CAAC,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;IAED,QAAQ,CAAC,EAAe;QACpB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,IAAe;QACf,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;CAIJ;AAED,MAAM,QAAQ;IAOV,YAAqB,GAAW,EAAW,SAAiB,EAAW,QAAgB,EAAW,aAA2B;QAAxG,QAAG,GAAH,GAAG,CAAQ;QAAW,cAAS,GAAT,SAAS,CAAQ;QAAW,aAAQ,GAAR,QAAQ,CAAQ;QAAW,kBAAa,GAAb,aAAa,CAAc;QAF7H,UAAK,GAAW,CAAC,CAAC;QAGd,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;QAE9B,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,kBAAkB,GAAG,GAAG,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;QAEnC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,MAAM;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,GAAI,IAAI,CAAC,KAAM,EAAE,CAAC;IAC/C,CAAC;CAEJ"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { InstanceReference } from "./InstanceReference";
|
|
2
|
+
import { SceneObject } from "../renderer/SceneObject";
|
|
3
|
+
import { Maybe } from "../util/util";
|
|
4
|
+
export declare class InstanceManager {
|
|
5
|
+
readonly isInstanceManager: true;
|
|
6
|
+
protected readonly instanceCache: {
|
|
7
|
+
[key: string]: Promise<InstanceReference<SceneObject>>;
|
|
8
|
+
};
|
|
9
|
+
constructor();
|
|
10
|
+
get<T extends SceneObject>(key: string): Promise<Maybe<InstanceReference<T>>>;
|
|
11
|
+
getOrCreate<T extends SceneObject>(key: string, supplier: () => T | Promise<T>): Promise<InstanceReference<T>>;
|
|
12
|
+
reset(): void;
|
|
13
|
+
}
|
|
14
|
+
export declare function isInstanceManager(obj: any): obj is InstanceManager;
|
|
@@ -0,0 +1,53 @@
|
|
|
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 { prefix } from "../util/log";
|
|
11
|
+
const p = prefix("InstanceManager");
|
|
12
|
+
export class InstanceManager {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.isInstanceManager = true;
|
|
15
|
+
this.instanceCache = {};
|
|
16
|
+
}
|
|
17
|
+
get(key) {
|
|
18
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
if (key in this.instanceCache) {
|
|
20
|
+
console.debug(p, "key in cache", key);
|
|
21
|
+
// create next instance of existing object
|
|
22
|
+
return (yield this.instanceCache[key]).nextInstance();
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
getOrCreate(key, supplier) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
const cached = yield this.get(key);
|
|
30
|
+
if (typeof cached !== "undefined") {
|
|
31
|
+
return cached;
|
|
32
|
+
}
|
|
33
|
+
console.debug(p, "key not in cache", key);
|
|
34
|
+
const promise = new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
const obj = yield supplier();
|
|
36
|
+
const instance = obj.nextInstance();
|
|
37
|
+
this.instanceCache[key] = Promise.resolve(instance);
|
|
38
|
+
resolve(instance);
|
|
39
|
+
}));
|
|
40
|
+
this.instanceCache[key] = promise;
|
|
41
|
+
return yield promise;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
reset() {
|
|
45
|
+
for (let instanceCacheKey in this.instanceCache) {
|
|
46
|
+
delete this.instanceCache[instanceCacheKey];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export function isInstanceManager(obj) {
|
|
51
|
+
return obj.isInstanceManager;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=InstanceManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InstanceManager.js","sourceRoot":"src/","sources":["instance/InstanceManager.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAEpC,MAAM,OAAO,eAAe;IAMxB;QAJgB,sBAAiB,GAAS,IAAI,CAAC;QAE5B,kBAAa,GAAgE,EAAE,CAAC;IAGnG,CAAC;IAEY,GAAG,CAAwB,GAAW;;YAC/C,IAAI,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC3B,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,CAAA;gBACrC,0CAA0C;gBAC1C,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAA0B,CAAC;aACjF;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;KAAA;IAEY,WAAW,CAAwB,GAAW,EAAE,QAA8B;;YACvF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;YACtC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;gBAC/B,OAAO,MAAM,CAAC;aACjB;YACD,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAA;YACzC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAiC,CAAO,OAAO,EAAE,EAAE;gBAC1E,MAAM,GAAG,GAAG,MAAM,QAAQ,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;gBACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpD,OAAO,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC,CAAA,CAAC,CAAA;YACF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YAClC,OAAO,MAAM,OAA+B,CAAC;QACjD,CAAC;KAAA;IAEM,KAAK;QACR,KAAK,IAAI,gBAAgB,IAAI,IAAI,CAAC,aAAa,EAAE;YAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;SAC/C;IACL,CAAC;CAGJ;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAQ;IACtC,OAAyB,GAAI,CAAC,iBAAiB,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Instanceable } from "./Instanceable";
|
|
2
|
+
import { Euler, Matrix4, Vector3 } from "three";
|
|
3
|
+
import { Transformable } from "../Transformable";
|
|
4
|
+
import { SceneObject } from "../renderer/SceneObject";
|
|
5
|
+
export declare class InstanceReference<T extends Instanceable> implements Transformable {
|
|
6
|
+
readonly instanceable: T;
|
|
7
|
+
readonly index: number;
|
|
8
|
+
readonly isInstanceReference: true;
|
|
9
|
+
constructor(instanceable: T, index: number);
|
|
10
|
+
nextInstance(): InstanceReference<SceneObject>;
|
|
11
|
+
getMatrix(matrix?: Matrix4): Matrix4;
|
|
12
|
+
setMatrix(matrix: Matrix4): void;
|
|
13
|
+
setPositionRotationScale(position?: Vector3, rotation?: Euler, scale?: Vector3): void;
|
|
14
|
+
setPosition(position: Vector3): void;
|
|
15
|
+
getPosition(): Vector3;
|
|
16
|
+
setRotation(rotation: Euler): void;
|
|
17
|
+
getRotation(): Euler;
|
|
18
|
+
setScale(scale: Vector3): void;
|
|
19
|
+
getScale(): Vector3;
|
|
20
|
+
}
|
|
21
|
+
export declare function isInstanceReference(obj: any): obj is InstanceReference<any>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export class InstanceReference {
|
|
2
|
+
constructor(instanceable, index) {
|
|
3
|
+
this.instanceable = instanceable;
|
|
4
|
+
this.index = index;
|
|
5
|
+
this.isInstanceReference = true;
|
|
6
|
+
}
|
|
7
|
+
nextInstance() {
|
|
8
|
+
return this.instanceable.nextInstance();
|
|
9
|
+
}
|
|
10
|
+
getMatrix(matrix) {
|
|
11
|
+
return this.instanceable.getMatrixAt(this.index, matrix);
|
|
12
|
+
}
|
|
13
|
+
setMatrix(matrix) {
|
|
14
|
+
this.instanceable.setMatrixAt(this.index, matrix);
|
|
15
|
+
}
|
|
16
|
+
setPositionRotationScale(position, rotation, scale) {
|
|
17
|
+
this.instanceable.setPositionRotationScaleAt(this.index, position, rotation, scale);
|
|
18
|
+
}
|
|
19
|
+
setPosition(position) {
|
|
20
|
+
console.log("InstanceReference#setPosition", position);
|
|
21
|
+
this.instanceable.setPositionAt(this.index, position);
|
|
22
|
+
}
|
|
23
|
+
getPosition() {
|
|
24
|
+
return this.instanceable.getPositionAt(this.index);
|
|
25
|
+
}
|
|
26
|
+
setRotation(rotation) {
|
|
27
|
+
console.log("InstanceReference#setRotation", rotation);
|
|
28
|
+
this.instanceable.setRotationAt(this.index, rotation);
|
|
29
|
+
}
|
|
30
|
+
getRotation() {
|
|
31
|
+
console.log("InstanceReference#getRotation");
|
|
32
|
+
return this.instanceable.getRotationAt(this.index);
|
|
33
|
+
}
|
|
34
|
+
setScale(scale) {
|
|
35
|
+
this.instanceable.setScaleAt(this.index, scale);
|
|
36
|
+
}
|
|
37
|
+
getScale() {
|
|
38
|
+
return this.instanceable.getScaleAt(this.index);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export function isInstanceReference(obj) {
|
|
42
|
+
return obj.isInstanceReference;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=InstanceReference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InstanceReference.js","sourceRoot":"src/","sources":["instance/InstanceReference.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,iBAAiB;IAI1B,YAAqB,YAAe,EAAW,KAAa;QAAvC,iBAAY,GAAZ,YAAY,CAAG;QAAW,UAAK,GAAL,KAAK,CAAQ;QAF5C,wBAAmB,GAAS,IAAI,CAAC;IAGjD,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IAC5C,CAAC;IAED,SAAS,CAAC,MAAgB;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,SAAS,CAAC,MAAe;QACrB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,wBAAwB,CAAC,QAAkB,EAAE,QAAgB,EAAE,KAAe;QAC1E,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxF,CAAC;IAED,WAAW,CAAC,QAAiB;QACzB,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAC,QAAQ,CAAC,CAAA;QACrD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,WAAW,CAAC,QAAe;QACvB,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAC,QAAQ,CAAC,CAAA;QACrD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,WAAW;QACP,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,QAAQ,CAAC,KAAc;QACnB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;CAIJ;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAQ;IACxC,OAAgC,GAAI,CAAC,mBAAmB,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { InstanceReference } from "./InstanceReference";
|
|
2
|
+
import { Euler, Matrix4, Vector3 } from "three";
|
|
3
|
+
import { SceneObject } from "../renderer/SceneObject";
|
|
4
|
+
export interface Instanceable {
|
|
5
|
+
nextInstance(): InstanceReference<SceneObject>;
|
|
6
|
+
getMatrixAt(index: number, matrix?: Matrix4): Matrix4;
|
|
7
|
+
setMatrixAt(index: number, matrix: Matrix4): void;
|
|
8
|
+
setPositionRotationScaleAt(index: number, position?: Vector3, rotation?: Euler, scale?: Vector3): void;
|
|
9
|
+
setPositionAt(index: number, position: Vector3): void;
|
|
10
|
+
getPositionAt(index: number, vector?: Vector3): Vector3;
|
|
11
|
+
setRotationAt(index: number, rotation: Euler): void;
|
|
12
|
+
getRotationAt(index: number, euler?: Euler): Euler;
|
|
13
|
+
setScaleAt(index: number, scale: Vector3): void;
|
|
14
|
+
getScaleAt(index: number, vector?: Vector3): Vector3;
|
|
15
|
+
}
|
|
16
|
+
export declare function isInstanceable(obj: any): obj is Instanceable;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Instanceable.js","sourceRoot":"src/","sources":["instance/Instanceable.ts"],"names":[],"mappings":"AA8BA,MAAM,UAAU,cAAc,CAAC,GAAQ;IACnC,OAAO,cAAc,IAAI,GAAG,CAAC;AACjC,CAAC"}
|