the auto-LODs usually work just great but in my use-case I would love some finer-grained control. By tinkering with gltf-transform (which I think your build pipeline uses under the hood too?) I got some decent results.
So I wonder if we could build upon the already existing MeshCompressionSettings mechanism to further tweak compression settings. In my current use-case I’d want some more aggressive simplification for further-away LODs (or rather: for the first one loaded).
Just snooped around a bit and and the NEEDLE_mesh_compression extension already supports the most relevant properties like error, ratio and even lockBorders. Maybe it’s not too far fetched then
Needle Engine production builds automatically apply texture compression (KTX2), progressive loading, and mesh LODs. For local testing, you can enable “Preview Compression” on the Needle Engine component to simulate the full production pipeline (3).
You can control compression and LOD settings via the Compression and LOD Settings component.
Texture Settings:
Format: Automatic, ETC1S, UASTC, WebP, or specialized modes (World, Product).
Max Texture Size: Maximum resolution (default: 8192).
Per-mesh overrides: Override LOD generation for individual meshes (1).
Needle Cloud also provides similar optimization during asset upload, including creating multiple LODs for meshes and textures, and applying compression algorithms like Draco for meshes and KTX2/WebP for textures (5, 7).