Back to Devlog
    v0.8.10
    RendererJanuary 5, 2026Release notes

    One Mesh, One Lightmap

    Mesh grouping rebuilt around texture-plus-lightmap pairs, autosprite and autosprite2 billboards, and thirteen render variables you can type.

    The Grouping Bug

    Meshes were grouped by texture alone, which meant one mesh could be carrying several lightmaps at once. Grouping is now by (texture, lightmap) pair, so each mesh has exactly one lightmap, and applyTextures changed from find() to filter() to match.

    That one-word change is the fix.

    Billboards, Two Kinds

    deformVertexes autosprite and autosprite2 are parsed:

    • autosprite — a full billboard.
    • autosprite2 — cylindrical, Y-axis only, like Warsow light halos.

    Faces are split into individual meshes with vertices reconstructed each frame.

    Thirteen Render Variables

    text
    r_normalmap r_glossmap r_lightmap r_ambient r_emissive
    r_anisotropy r_wireframe r_bloom r_exposure r_contrast
    r_lightintensity r_showtris

    All persisted to localStorage, with r_list, r_reset, r_export and r_apply. Documented in docs/RENDER_VARS.md.

    Also Here

    text
    Log history size (100-50000 lines, default 5000)

    Persistent in-memory history, plus a find command with wildcards — find *error* 100 — and shader info to inspect whatever surface is under the crosshair, with shader aim 1 to highlight it.

    That last pair is the most-used debug feature in the renderer and it arrived here, in a release whose headline is about lightmaps.

    Known Issues: none stated.