From be0993a00bc02ea7e6833538147cc74e73df876f Mon Sep 17 00:00:00 2001 From: Vitaly Turovsky Date: Sun, 20 Jul 2025 10:02:21 +0300 Subject: [PATCH] up all --- renderer/viewer/lib/mesher/models.ts | 2 +- renderer/viewer/three/chunkMeshManager.ts | 8 ++++---- renderer/viewer/three/worldrendererThree.ts | 2 +- src/optionsGuiScheme.tsx | 18 ++++++++++-------- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/renderer/viewer/lib/mesher/models.ts b/renderer/viewer/lib/mesher/models.ts index 6a01bf2e..d38bcbee 100644 --- a/renderer/viewer/lib/mesher/models.ts +++ b/renderer/viewer/lib/mesher/models.ts @@ -674,7 +674,7 @@ export function getSectionGeometry (sx: number, sy: number, sz: number, world: W } if (block.name !== 'water' && block.name !== 'lava' && !INVISIBLE_BLOCKS.has(block.name)) { // Check if this block can use instanced rendering - if ((enableInstancedRendering && isBlockInstanceable(world, block)) || forceInstancedOnly) { + if ((enableInstancedRendering && isBlockInstanceable(world, block))/* || forceInstancedOnly */) { // Check if block should be culled (all faces hidden by neighbors) // TODO validate this if (shouldCullInstancedBlock(world, cursor, block)) { diff --git a/renderer/viewer/three/chunkMeshManager.ts b/renderer/viewer/three/chunkMeshManager.ts index a5ac58a6..ef2738dd 100644 --- a/renderer/viewer/three/chunkMeshManager.ts +++ b/renderer/viewer/three/chunkMeshManager.ts @@ -61,7 +61,7 @@ export class ChunkMeshManager { constructor ( public worldRenderer: WorldRendererThree, - public scene: THREE.Scene, + public scene: THREE.Group, public material: THREE.Material, public worldHeight: number, viewDistance = 3, @@ -674,7 +674,7 @@ class SignHeadsRenderer { } renderSign (position: Vec3, rotation: number, isWall: boolean, isHanging: boolean, blockEntity) { - const tex = this.getSignTexture(position, blockEntity) + const tex = this.getSignTexture(position, blockEntity, isHanging) if (!tex) return @@ -715,7 +715,7 @@ class SignHeadsRenderer { return group } - getSignTexture (position: Vec3, blockEntity, backSide = false) { + getSignTexture (position: Vec3, blockEntity, isHanging, backSide = false) { const chunk = chunkPos(position) let textures = this.chunkTextures.get(`${chunk[0]},${chunk[1]}`) if (!textures) { @@ -727,7 +727,7 @@ class SignHeadsRenderer { if (textures[texturekey]) return textures[texturekey] const PrismarineChat = PrismarineChatLoader(this.worldRendererThree.version) - const canvas = renderSign(blockEntity, PrismarineChat) + const canvas = renderSign(blockEntity, isHanging, PrismarineChat) if (!canvas) return const tex = new THREE.Texture(canvas) tex.magFilter = THREE.NearestFilter diff --git a/renderer/viewer/three/worldrendererThree.ts b/renderer/viewer/three/worldrendererThree.ts index ceb48735..c066a1e8 100644 --- a/renderer/viewer/three/worldrendererThree.ts +++ b/renderer/viewer/three/worldrendererThree.ts @@ -102,7 +102,7 @@ export class WorldRendererThree extends WorldRendererCommon { this.cameraShake = new CameraShake(this, this.onRender) this.media = new ThreeJsMedia(this) this.instancedRenderer = new InstancedRenderer(this) - this.chunkMeshManager = new ChunkMeshManager(this, this.realScene, this.material, this.worldSizeParams.worldHeight, this.viewDistance) + this.chunkMeshManager = new ChunkMeshManager(this, this.scene, this.material, this.worldSizeParams.worldHeight, this.viewDistance) // Enable bypass pooling for debugging if URL param is present if (new URLSearchParams(location.search).get('bypassMeshPooling') === 'true') { diff --git a/src/optionsGuiScheme.tsx b/src/optionsGuiScheme.tsx index 1beadb07..84cebb49 100644 --- a/src/optionsGuiScheme.tsx +++ b/src/optionsGuiScheme.tsx @@ -6,7 +6,7 @@ import { versionToNumber } from 'mc-assets/dist/utils' import { gameAdditionalState, miscUiState, openOptionsMenu, showModal } from './globalState' import { AppOptions, getChangedSettings, options, resetOptions } from './optionsStorage' import Button from './react/Button' -import { OptionMeta, OptionSlider } from './react/OptionsItems' +import { OptionButton, OptionMeta, OptionSlider } from './react/OptionsItems' import Slider from './react/Slider' import { getScreenRefreshRate } from './utils' import { setLoadingScreenStatus } from './appStatus' @@ -127,7 +127,14 @@ export const guiOptionsScheme: { } } - return + /> }, }, {