 			return
 		}
 		
+		// $ chunk request needs to be regionId + lod level, everything else is derivable from that
 		for regionId in frameChunkRequests {
 			let chunkName = chunkLodName(regionId, atLod: wantedLodLevel)
 			let runtimeLodKey = regionHashLodKey(regionId.hashed, atLod: wantedLodLevel)

		if let found = geometryCache[key] {
			return found.tessellation
		} else if streamIfMissing {
			_ = streamMissingPrimitive(for: regionHash)
		}
		return nil
	}
	
	func streamPrimitive(for regionId: RegionId) {
		let runtimeLodKey = regionHashLodKey(regionId.hashed, atLod: wantedLodLevel)
		if pendingChunks.contains(ChunkRequest(runtimeLodKey)) {
			return
		}
		
		frameChunkRequests.append(regionId)
	}
	
	func updateStreaming() {

	
	func renderPrimitive(for regionHash: RegionHash) -> IndexedRenderPrimitive<Vertex>? {
		if primitiveHasWantedLod(for: regionHash) == false {
			streamMissingPrimitive(for: regionHash)
		}
		
		let actualRegionHash = regionHashLodKey(regionHash, atLod: actualLodLevel)
		return geometryCache[actualRegionHash]?.primitive
	}
	
	func tessellation(for regionHash: RegionHash, atLod lod: Int, streamIfMissing: Bool = false) -> GeoTessellation? {
