Back to Devlog
    v0.8.12
    BuildJanuary 6, 2026Release notes

    Half the Engine Thrown Away

    Granular Babylon.js imports cut the bundle by 5.8MB, plus a dedicated shader material for Quake's filter blend decals.

    58%

    Migrated from import { Scene, Vector3 } from "@babylonjs/core" to granular ES6 imports, and deduplicated the resulting duplicate Babylon packages.

    text
    Bundle reduced by ~5.8MB (58% reduction in the Babylon.js portion)

    Documented in docs/research/BABYLONJS_TREE_SHAKING_MIGRATION.md. Also added cli:game and cli:bsp scripts — the console-only entry points that would later carry most of the QA work.

    Filter Blend Decals

    A new FilterBlendShaderMaterial.ts for Q3 blendFunc filter decals, which use GL_DST_COLOR, GL_ZERO. Alpha is derived from inverse luminance, so white is transparent and coloured areas are visible. Parameters: alphaThreshold, alphaPower, colorDarken, alphaMultiplier.

    This is the third release in a row to touch decal rendering, and the fourth in six weeks to carry a decal caveat. The pattern holds all the way to v0.8.10, and the z-fighting survives until v0.9.21's renderer pass.

    Known Issues: none stated.**