BabylonJS/Babylon.js · error
Nothing else parsed so far
Error message
Nothing else parsed so far
What it means
When loading a .env (environment/DDSTI) cube texture in the native engine, the parsed header must contain a specular section (radiance/LOD data). If info.specular is missing after parsing, the loader throws 'Nothing else parsed so far' because the file contains only the spherical harmonics part and no specular mip chain.
Source
Thrown at packages/dev/core/src/Engines/Native/Extensions/nativeEngine.cubeTexture.pure.ts:69
texture._files = files;
texture._buffer = buffer;
}
const lastDot = rootUrl.lastIndexOf(".");
const extension = forcedExtension ? forcedExtension : lastDot > -1 ? rootUrl.substring(lastDot).toLowerCase() : "";
// TODO: use texture loader to load env files?
if (extension === ".env") {
const onloaddata = (data: ArrayBufferView) => {
const info = GetEnvInfo(data)!;
texture.width = info.width;
texture.height = info.width;
UploadEnvSpherical(texture, info);
const specularInfo = info.specular;
if (!specularInfo) {
throw new Error(`Nothing else parsed so far`);
}
texture._lodGenerationScale = specularInfo.lodGenerationScale;
const imageData = CreateRadianceImageDataArrayBufferViews(data, info);
texture.format = Constants.TEXTUREFORMAT_RGBA;
texture.type = Constants.TEXTURETYPE_UNSIGNED_BYTE;
texture.generateMipMaps = true;
texture.getEngine().updateTextureSamplingMode(Texture.TRILINEAR_SAMPLINGMODE, texture);
texture._isRGBD = true;
texture.invertY = true;
this._engine.loadCubeTextureWithMips(
texture._hardwareTexture!.underlyingResource,
imageData,
false,
texture._useSRGBBuffer,
() => {
View on GitHub (pinned to 0592b347b8)
Solutions
- Re-export the .env file with prefiltered radiance/specular data enabled (full IBL export, not spherical-harmonics-only)
- Verify the file is complete (check size/hash vs. source; re-download if truncated)
- Inspect the env JSON: it must contain a 'specular' object with lodGenerationScale and mip data — regenerate with Babylon's env exporter (https://sandbox.babylonjs.com) if missing
- If only diffuse lighting is needed, use a different loader path or upgrade the runtime so it can handle specular-less env files
Example fix
// before
scene.environmentTexture = new EnvironmentTexture('/assets/old-sphere.env'); // missing specular data
// after
// Re-export with prefiltered mips, then verify before use:
const buffer = await fetch('/assets/new-sphere.env').then(r => r.arrayBuffer());
const info = JSON.parse(new TextDecoder().decode(new Uint8Array(buffer, 0, headerLen)));
if (!info.specular) throw new Error('env file lacks specular data; re-export'); Defensive patterns
Strategy: validation
Validate before calling
async function validateEnvFile(url: string): Promise<void> {
const buf = new Uint8Array(await (await fetch(url)).arrayBuffer());
const jsonLen = new DataView(buf.buffer).getUint32(0, true);
const info = JSON.parse(new TextDecoder().decode(buf.subarray(4, 4 + jsonLen)));
if (!info.specular) throw new Error(`env file ${url} has no specular data; re-export with prefiltered mips`);
} Try / catch
try {
const tex = engine.createCubeTexture('/assets/sky.env', scene, [], false);
} catch (e) {
if (String(e.message).includes('Nothing else parsed so far')) {
// fall back to a plain cube texture or a known-good env file
} else { throw e; }
} Prevention
- Always export .env files with prefiltered radiance (specular) data enabled
- Checksum-verify env assets in CI to catch truncated downloads
- Spot-parse the env JSON header at load time before handing it to the engine
- Pin exporter and runtime versions so env format expectations match
When it happens
Trigger: Calling NativeEngine's createCubeTexture / loadCubeTexture with an .env file (or buffer) whose parsed info has no specular block — i.e. a prefiltered-less env file, a truncated/corrupt file, or a JSON payload where the specular data was stripped.
Common situations: Env files exported without prefiltered/specular mips (e.g. minimal IBL exports from older tooling); files truncated in transit or partially downloaded; hand-crafted env JSON missing the 'specular' key; version mismatch between the exporter and the native loader expectations.
Related errors
- Could not load a native cube texture.
- Multi-file loading not allowed on env files.
- Unable to get 2d context
- Unsupported stencil OpFail mode: ${opFail}.
- Unsupported stencil depthFail mode: ${depthFail}.
AI-assisted analysis of BabylonJS/Babylon.js@0592b347b8 (2026-08-30).
Data as JSON: /api/errors/1249520c19291268.
Report an issue: GitHub.