minecraft-renderer 0.1.49 → 0.1.50
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/dist/mesherWasm.js +32 -32
- package/dist/minecraft-renderer.js +50 -50
- package/dist/minecraft-renderer.js.meta.json +1 -1
- package/dist/threeWorker.js +332 -332
- package/package.json +1 -1
- package/src/graphicsBackend/rendererOptionsSync.ts +2 -0
- package/src/three/menuBackground/defaultOptions.ts +34 -1
- package/src/three/menuBackground/index.ts +5 -1
- package/src/wasm-mesher/bridge/shaderCubeBridge.ts +6 -3
package/package.json
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { subscribe } from 'valtio/vanilla'
|
|
8
8
|
import type { AppViewer } from './appViewer'
|
|
9
9
|
import type { RendererStorageOptions } from '../three/menuBackground/defaultOptions'
|
|
10
|
+
import { rendererShaderCubeDebugModeToValue } from '../three/menuBackground/defaultOptions'
|
|
10
11
|
import type { MenuBackgroundOptions } from '../three/menuBackground/types'
|
|
11
12
|
import type { MenuBackgroundRenderer } from '../three/menuBackground/renderer'
|
|
12
13
|
import { menuBackgroundSpeedToMultiplier } from '../three/menuBackground/config'
|
|
@@ -171,6 +172,7 @@ export function applyRendererOptions(
|
|
|
171
172
|
cfg.starfield = o.starfieldRendering
|
|
172
173
|
cfg.defaultSkybox = o.defaultSkybox
|
|
173
174
|
cfg.fov = o.fov
|
|
175
|
+
cfg.shaderCubeDebugMode = rendererShaderCubeDebugModeToValue(o.rendererShaderCubeDebugMode)
|
|
174
176
|
}
|
|
175
177
|
|
|
176
178
|
/** World-view + hand/camera options (call when WorldView is ready). */
|
|
@@ -26,6 +26,26 @@ export type RendererMesherPipeline = 'wasm' | 'legacy-js'
|
|
|
26
26
|
|
|
27
27
|
export type RendererGpuPreference = 'default' | 'high-performance' | 'low-power'
|
|
28
28
|
|
|
29
|
+
export type RendererShaderCubeDebugMode =
|
|
30
|
+
| 'off'
|
|
31
|
+
| 'holes'
|
|
32
|
+
| 'texIndex'
|
|
33
|
+
| 'faces'
|
|
34
|
+
| 'atlasAlpha'
|
|
35
|
+
|
|
36
|
+
const SHADER_CUBE_DEBUG_MODE_TO_VALUE: Record<RendererShaderCubeDebugMode, number> = {
|
|
37
|
+
off: 0,
|
|
38
|
+
holes: 1,
|
|
39
|
+
texIndex: 2,
|
|
40
|
+
faces: 3,
|
|
41
|
+
atlasAlpha: 4,
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** Maps stored option → `inWorldRenderingConfig.shaderCubeDebugMode` (0–4). */
|
|
45
|
+
export function rendererShaderCubeDebugModeToValue(mode: RendererShaderCubeDebugMode): number {
|
|
46
|
+
return SHADER_CUBE_DEBUG_MODE_TO_VALUE[mode]
|
|
47
|
+
}
|
|
48
|
+
|
|
29
49
|
/** Maps stored `gpuPreference` to WebGL `powerPreference` (undefined = browser default). */
|
|
30
50
|
export function gpuPreferenceToWebGLPowerPreference(
|
|
31
51
|
preference: RendererGpuPreference
|
|
@@ -54,6 +74,7 @@ export const RENDERER_DEFAULT_OPTIONS = {
|
|
|
54
74
|
rendererPerfDebugOverlay: false as boolean,
|
|
55
75
|
disableBlockEntityTextures: false as boolean,
|
|
56
76
|
rendererMesher: 'wasm' as RendererMesherPipeline,
|
|
77
|
+
rendererShaderCubeDebugMode: 'off' as RendererShaderCubeDebugMode,
|
|
57
78
|
showChunkBorders: false as boolean,
|
|
58
79
|
renderEntities: true as boolean,
|
|
59
80
|
renderDebug: 'basic' as 'none' | 'basic' | 'advanced',
|
|
@@ -166,6 +187,17 @@ export const RENDERER_OPTIONS_META: Partial<Record<RendererDefaultOptionKey, Ren
|
|
|
166
187
|
tooltip: 'WASM is faster. Use JS if WASM is not working. Requires reload.',
|
|
167
188
|
requiresRestart: true
|
|
168
189
|
},
|
|
190
|
+
rendererShaderCubeDebugMode: {
|
|
191
|
+
text: 'Shader cube debug',
|
|
192
|
+
tooltip: 'Instanced cube path visualization (requires shader cubes enabled).',
|
|
193
|
+
possibleValues: [
|
|
194
|
+
['off', 'Off'],
|
|
195
|
+
['holes', 'Hole test (red)'],
|
|
196
|
+
['texIndex', 'Tile index colors'],
|
|
197
|
+
['faces', 'Face id colors'],
|
|
198
|
+
['atlasAlpha', 'Atlas alpha'],
|
|
199
|
+
],
|
|
200
|
+
},
|
|
169
201
|
showChunkBorders: {
|
|
170
202
|
text: 'Chunk borders'
|
|
171
203
|
},
|
|
@@ -301,7 +333,8 @@ export const RENDERER_RENDER_GUI_SECTIONS: ReadonlyArray<{
|
|
|
301
333
|
title: 'Renderer debug',
|
|
302
334
|
keys: [
|
|
303
335
|
'rendererFuturisticReveal',
|
|
304
|
-
'rendererPerfDebugOverlay'
|
|
336
|
+
'rendererPerfDebugOverlay',
|
|
337
|
+
'rendererShaderCubeDebugMode',
|
|
305
338
|
]
|
|
306
339
|
}
|
|
307
340
|
]
|
|
@@ -38,7 +38,11 @@ export type {
|
|
|
38
38
|
RendererDefaultOptionKey,
|
|
39
39
|
RendererGpuPreference,
|
|
40
40
|
RendererMesherPipeline,
|
|
41
|
+
RendererShaderCubeDebugMode,
|
|
41
42
|
RendererOptionMeta,
|
|
42
43
|
RendererStorageOptions
|
|
43
44
|
} from './defaultOptions'
|
|
44
|
-
export {
|
|
45
|
+
export {
|
|
46
|
+
gpuPreferenceToWebGLPowerPreference,
|
|
47
|
+
rendererShaderCubeDebugModeToValue
|
|
48
|
+
} from './defaultOptions'
|
|
@@ -121,10 +121,13 @@ export function resolveFaceTileIndex(
|
|
|
121
121
|
return texMapping.tileIndexFromTextureEntry(entry)
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
/**
|
|
124
|
+
/** Main thread + worker: use `loadedData` set by the app / mesher (see mesherWasm). */
|
|
125
125
|
function getTintsJson(): Record<string, any> {
|
|
126
|
-
const
|
|
127
|
-
|
|
126
|
+
const tints = (globalThis as any).loadedData?.tints
|
|
127
|
+
if (!tints) {
|
|
128
|
+
throw new Error('shaderCubeBridge: globalThis.loadedData.tints is not available yet')
|
|
129
|
+
}
|
|
130
|
+
return tints
|
|
128
131
|
}
|
|
129
132
|
|
|
130
133
|
export function getShaderCubeResources(): {
|