loadColladaKmz

fun loadColladaKmz(kmz: File, fallbackPosition: Position = Position.fromDegrees(0.0, 0.0, 0.0), altitudeOffset: Double = 0.0): ColladaScene

Loads a .kmz (zipped COLLADA) on JVM/Android directly from the archive — no extraction to disk. The .dae is stream-parsed straight from its zip entry (low peak memory) and textures are decoded lazily from their entries (downsampled to ColladaScene.textureMaxDimension, evicted by the render resource cache, re-decoded on demand). The model is anchored at the doc.kml <Model> placement (position, orientation, scale), falling back to fallbackPosition when the KML lacks a location.

altitudeOffset (metres) is added to the anchor altitude, correcting photogrammetry models whose KML altitude is off relative to the terrain (interpreted per the KML ColladaScene.altitudeMode).

The archive is kept open for the scene's lifetime to back lazy texture decodes; the caller MUST call ColladaScene.close when discarding the scene to release the ZipFile. iOS/JS callers must read the archive themselves (no in-repo zip) and use parseStream plus their own texture sources.