leaflet-city-mapper 0.0.9 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1246) hide show
  1. package/README.md +6 -46
  2. package/dist/README.md +18 -0
  3. package/dist/leaflet-city-mapper-src.js +279 -110
  4. package/dist/leaflet-city-mapper-src.js.map +4 -4
  5. package/dist/leaflet-city-mapper-worker-src.js.map +2 -2
  6. package/dist/leaflet-city-mapper-worker.js.map +2 -2
  7. package/dist/leaflet-city-mapper.js +5 -5
  8. package/dist/leaflet-city-mapper.js.map +4 -4
  9. package/libs/README.md +18 -0
  10. package/libs/leaflet-lens.js +151 -151
  11. package/libs/leaflet.js +3 -3
  12. package/libs/openlayers-bindings.js +1129 -1129
  13. package/libs/openlayers-bindings.min.js.map +1 -1
  14. package/package.json +2 -4
  15. package/src/README.md +148 -0
  16. package/src/animations/README.md +30 -0
  17. package/src/animations/cancelCameraAnimation.js +13 -11
  18. package/src/animations/cancelGridFade.js +5 -3
  19. package/src/animations/endZoom.js +0 -5
  20. package/src/animations/mapAnimateCamera.js +13 -3
  21. package/src/animations/mapStopPitchBearingAnimation.js +8 -1
  22. package/src/animations/onZoomAnim.js +5 -4
  23. package/src/animations/renderPendingZoomAnimation.js +1 -4
  24. package/src/animations/runCameraAnimations.js +7 -4
  25. package/src/animations/runGridFades.js +1 -4
  26. package/src/animations/runMarkerPanFrame.js +1 -1
  27. package/src/animations/scheduleCameraAnimation.js +10 -8
  28. package/src/animations/scheduleGridFade.js +5 -4
  29. package/src/animations/scheduleMarkerPan.js +10 -6
  30. package/src/animations/startZoom.js +0 -3
  31. package/src/animations/synchronizeZoomView.js +6 -1
  32. package/src/animations/updateZoomCamera.js +21 -17
  33. package/src/archives/README.md +28 -0
  34. package/src/archives/decodeDirectory.js +13 -2
  35. package/src/archives/decodeHeader.js +9 -2
  36. package/src/archives/decompress.js +10 -0
  37. package/src/archives/findDirectoryEntry.js +17 -9
  38. package/src/archives/findTile.js +45 -31
  39. package/src/archives/getDirectoryEntries.js +28 -17
  40. package/src/archives/getHeader.js +7 -2
  41. package/src/archives/getTileData.js +26 -13
  42. package/src/archives/getZxy.js +11 -3
  43. package/src/archives/loadDirectory.js +10 -0
  44. package/src/archives/loadSource.js +12 -3
  45. package/src/archives/readArchiveRange.js +45 -31
  46. package/src/archives/readVarint.js +11 -2
  47. package/src/archives/tileId.js +11 -2
  48. package/src/astronomy/README.md +25 -0
  49. package/src/astronomy/horizontalPosition.js +11 -0
  50. package/src/astronomy/moonPosition.js +9 -2
  51. package/src/astronomy/solarPosition.js +9 -2
  52. package/src/astronomy/solarTime.js +21 -11
  53. package/src/camera/README.md +30 -0
  54. package/src/camera/cameraMapReady.js +6 -8
  55. package/src/camera/cleanupCameraMap.js +8 -10
  56. package/src/camera/constrainCameraToBounds.js +3 -2
  57. package/src/camera/createSceneCamera.js +25 -21
  58. package/src/camera/fitCameraBounds.js +9 -1
  59. package/src/camera/getBearing.js +10 -5
  60. package/src/camera/getPitch.js +10 -5
  61. package/src/camera/initializeCameraMap.js +1 -3
  62. package/src/camera/mapCamera.js +0 -2
  63. package/src/camera/mapContainerPointToLayerPoint.js +7 -2
  64. package/src/camera/mapGetBearing.js +7 -2
  65. package/src/camera/mapGetBounds.js +5 -2
  66. package/src/camera/mapGetBoundsCenterZoom.js +9 -2
  67. package/src/camera/mapGetBoundsZoom.js +9 -2
  68. package/src/camera/mapGetCenterLayerPoint.js +5 -1
  69. package/src/camera/mapGetPitch.js +7 -2
  70. package/src/camera/mapLayerPointToContainerPoint.js +7 -1
  71. package/src/camera/mapLimitCenter.js +9 -2
  72. package/src/camera/mapLimitOffset.js +12 -6
  73. package/src/camera/mapPanBy.js +10 -3
  74. package/src/camera/mapPanInside.js +8 -2
  75. package/src/camera/mapResetNorth.js +8 -0
  76. package/src/camera/mapResetNorthPitch.js +8 -0
  77. package/src/camera/mapSetBearing.js +10 -0
  78. package/src/camera/mapSetPitch.js +10 -0
  79. package/src/camera/mapSetPitchAndBearing.js +12 -3
  80. package/src/camera/mapSetZoomAround.js +9 -1
  81. package/src/camera/mapTryAnimatedPan.js +8 -1
  82. package/src/camera/mapUpdateCameraOverlays.js +6 -0
  83. package/src/camera/setBearing.js +13 -5
  84. package/src/camera/setPitch.js +13 -5
  85. package/src/camera/updateMapCamera.js +6 -4
  86. package/src/camera/updateSceneCamera.js +7 -1
  87. package/src/camera/updateSky.js +1 -3
  88. package/src/cog/README.md +29 -0
  89. package/src/cog/decodeCogTile.js +37 -24
  90. package/src/cog/finiteCogValues.js +12 -5
  91. package/src/cog/getCogAssetEntry.js +26 -15
  92. package/src/cog/getCogBase.js +22 -10
  93. package/src/cog/getCogHeader.js +10 -3
  94. package/src/cog/getCogProfile.js +25 -16
  95. package/src/cog/getCogTile.js +25 -12
  96. package/src/cog/getColorTile.js +38 -25
  97. package/src/cog/getElevationTile.js +29 -16
  98. package/src/cog/hasCogProjection.js +16 -9
  99. package/src/cog/initCog.js +13 -7
  100. package/src/cog/invalidCogFullResponse.js +10 -3
  101. package/src/cog/openCog.js +40 -30
  102. package/src/cog/openCogAsset.js +22 -14
  103. package/src/cog/readCog.js +39 -25
  104. package/src/cog/readCogBlock.js +19 -8
  105. package/src/cog/readCogBody.js +30 -20
  106. package/src/cog/readCogDirectories.js +32 -20
  107. package/src/cog/readCogDirectory.js +34 -21
  108. package/src/cog/readCogLevel.js +36 -27
  109. package/src/cog/readCogTag.js +28 -15
  110. package/src/cog/validCogDimensions.js +15 -6
  111. package/src/cog/validCogEncoding.js +18 -5
  112. package/src/cog/validCogGeoArrays.js +17 -8
  113. package/src/cog/validCogGrid.js +22 -9
  114. package/src/cog/validCogTileCoordinates.js +13 -4
  115. package/src/cog/validateCogContainer.js +17 -9
  116. package/src/cog/validateCogContentRange.js +18 -8
  117. package/src/cog/validateCogOffsets.js +19 -10
  118. package/src/cog/validateCogRange.js +16 -7
  119. package/src/cog/validateCogResponse.js +26 -15
  120. package/src/collision/README.md +28 -0
  121. package/src/collision/advanceFeature.js +13 -0
  122. package/src/collision/boxNormal.js +29 -0
  123. package/src/collision/cachedCollider.js +18 -0
  124. package/src/collision/collectIntersections.js +41 -16
  125. package/src/collision/collectMeshes.js +6 -0
  126. package/src/collision/collideTrip.js +56 -0
  127. package/src/collision/collider.js +28 -18
  128. package/src/collision/countCrossings.js +35 -15
  129. package/src/collision/enclosesOrigin.js +13 -0
  130. package/src/collision/flipsNormal.js +15 -0
  131. package/src/collision/hiddenLightHit.js +19 -8
  132. package/src/collision/horizontalRay.js +13 -1
  133. package/src/collision/indexTriangle.js +18 -11
  134. package/src/collision/insideMesh.js +47 -33
  135. package/src/collision/insideWalker.js +52 -46
  136. package/src/collision/intersectMeshes.js +40 -32
  137. package/src/collision/localRay.js +31 -21
  138. package/src/collision/mergeHits.js +19 -11
  139. package/src/collision/missesBox.js +13 -0
  140. package/src/collision/rayBounds.js +28 -19
  141. package/src/collision/readTriangle.js +32 -23
  142. package/src/collision/slabDistance.js +14 -0
  143. package/src/collision/slabMiss.js +14 -0
  144. package/src/collision/sortCrossings.js +17 -0
  145. package/src/collision/sortHits.js +9 -1
  146. package/src/collision/trafficBounds.js +24 -0
  147. package/src/collision/trafficCollision.js +30 -55
  148. package/src/collision/trafficRay.js +21 -0
  149. package/src/collision/transformTriangle.js +18 -9
  150. package/src/collision/transformVertices.js +18 -0
  151. package/src/collision/triangleDistance.js +34 -21
  152. package/src/collision/vertexCount.js +11 -3
  153. package/src/collision/worldHit.js +30 -18
  154. package/src/colors/README.md +25 -0
  155. package/src/colors/formatRGB.js +7 -0
  156. package/src/colors/hslChannel.js +10 -0
  157. package/src/colors/mixColor.js +10 -0
  158. package/src/colors/parseColor.js +4 -1
  159. package/src/colors/toSRGB.js +7 -0
  160. package/src/controls/README.md +26 -0
  161. package/src/controls/acceptPitchDrag.js +10 -3
  162. package/src/controls/acceptRotateDrag.js +9 -2
  163. package/src/controls/addCameraHandler.js +18 -11
  164. package/src/controls/adjustCameraDrag.js +8 -10
  165. package/src/controls/cameraControls.js +5 -4
  166. package/src/controls/cameraDragClick.js +5 -1
  167. package/src/controls/cameraDragContextMenu.js +10 -6
  168. package/src/controls/cameraDragDown.js +5 -2
  169. package/src/controls/cameraDragEnd.js +7 -3
  170. package/src/controls/cameraDragMove.js +24 -20
  171. package/src/controls/changeCameraTouch.js +12 -14
  172. package/src/controls/cleanupCameraTouch.js +1 -4
  173. package/src/controls/compassAddHooks.js +1 -0
  174. package/src/controls/compassOrientation.js +11 -5
  175. package/src/controls/compassRemoveHooks.js +3 -2
  176. package/src/controls/containerResizeAddHooks.js +1 -0
  177. package/src/controls/containerResizeRemoveHooks.js +3 -2
  178. package/src/controls/dragCamera.js +11 -2
  179. package/src/controls/endAllCameraDrags.js +1 -2
  180. package/src/controls/endAllCameraTouches.js +1 -2
  181. package/src/controls/endCameraTouch.js +18 -12
  182. package/src/controls/endCameraTouchEvent.js +5 -2
  183. package/src/controls/failCompassPermission.js +10 -4
  184. package/src/controls/finishCameraDrag.js +14 -8
  185. package/src/controls/finishCompassPermission.js +24 -17
  186. package/src/controls/isEditableTarget.js +9 -2
  187. package/src/controls/loadCameraControls.js +18 -9
  188. package/src/controls/moveCameraTouch.js +30 -27
  189. package/src/controls/notifyCameraTouchChange.js +1 -0
  190. package/src/controls/pitchDragAddHooks.js +1 -1
  191. package/src/controls/pitchDragRemoveHooks.js +1 -0
  192. package/src/controls/refreshRotateControl.js +2 -0
  193. package/src/controls/refreshRotateFocus.js +3 -2
  194. package/src/controls/removeCameraDrag.js +18 -15
  195. package/src/controls/resizeMap.js +7 -2
  196. package/src/controls/rotateButtonClick.js +15 -10
  197. package/src/controls/rotateButtonKeydown.js +16 -10
  198. package/src/controls/rotateControl.js +11 -3
  199. package/src/controls/rotateOnAdd.js +7 -1
  200. package/src/controls/rotateOnRemove.js +5 -0
  201. package/src/controls/shiftRotateAddHooks.js +1 -1
  202. package/src/controls/shiftRotateRemoveHooks.js +3 -2
  203. package/src/controls/shiftRotateWheel.js +11 -6
  204. package/src/controls/startCameraTouch.js +5 -2
  205. package/src/core/README.md +28 -0
  206. package/src/core/adjustCameraMarkerPan.js +7 -2
  207. package/src/core/cameraCircleBounds.js +5 -1
  208. package/src/core/cameraMarkerDrag.js +1 -2
  209. package/src/core/cameraMarkerOnDrag.js +13 -10
  210. package/src/core/closestCameraLayerPoint.js +7 -1
  211. package/src/core/constructLayer.js +16 -9
  212. package/src/core/extendLeafletClass.js +12 -5
  213. package/src/core/extendTerrainPixelBounds.js +41 -31
  214. package/src/core/fireRasterLoad.js +1 -1
  215. package/src/core/gridlayerGetEvents.js +5 -2
  216. package/src/core/gridlayerGetTiledPixelBounds.js +7 -1
  217. package/src/core/initializeGridContainer.js +1 -1
  218. package/src/core/initializeNativeLayer.js +1 -4
  219. package/src/core/layerAddInitHook.js +12 -7
  220. package/src/core/layerCallInitHooks.js +1 -2
  221. package/src/core/layerMergeOptions.js +14 -7
  222. package/src/core/markerGetEvents.js +5 -2
  223. package/src/core/markerInitInteraction.js +7 -4
  224. package/src/core/markerSetIcon.js +10 -5
  225. package/src/core/markerSetPos.js +5 -2
  226. package/src/core/markerSetRotation.js +19 -9
  227. package/src/core/markerUpdateZIndex.js +6 -4
  228. package/src/core/popupAdjustPan.js +5 -2
  229. package/src/core/popupGetEvents.js +5 -1
  230. package/src/core/popupUpdatePosition.js +1 -2
  231. package/src/core/projectNativePath.js +30 -23
  232. package/src/core/redrawPath.js +11 -6
  233. package/src/core/removeLayer.js +23 -20
  234. package/src/core/setRotation.js +12 -5
  235. package/src/core/tooltipGetEvents.js +5 -1
  236. package/src/core/tooltipSetPosition.js +5 -2
  237. package/src/core/updateGridOpacity.js +2 -1
  238. package/src/core/whenReady.js +11 -8
  239. package/src/geometry/README.md +29 -0
  240. package/src/geometry/addBridges.js +30 -28
  241. package/src/geometry/addGeneratedTriangle.js +7 -3
  242. package/src/geometry/appendAreaTriangle.js +32 -17
  243. package/src/geometry/appendNativeTriangle.js +17 -3
  244. package/src/geometry/appendRouteDash.js +33 -15
  245. package/src/geometry/appendRouteSegment.js +28 -15
  246. package/src/geometry/assembleAreaGeometry.js +48 -41
  247. package/src/geometry/boundsQuad.js +8 -0
  248. package/src/geometry/box.js +10 -0
  249. package/src/geometry/bridgeEdge.js +18 -11
  250. package/src/geometry/bridgeElevation.js +8 -1
  251. package/src/geometry/bridgeFaces.js +22 -15
  252. package/src/geometry/bridgePaths.js +19 -11
  253. package/src/geometry/bridgePolygon.js +37 -31
  254. package/src/geometry/bridgeSides.js +18 -11
  255. package/src/geometry/buildGeometryParts.js +7 -0
  256. package/src/geometry/buildProjectedPoint.js +32 -21
  257. package/src/geometry/buildProjectedPolygon.js +34 -25
  258. package/src/geometry/circleAt.js +18 -5
  259. package/src/geometry/circleGeometry.js +41 -35
  260. package/src/geometry/clipLine.js +8 -1
  261. package/src/geometry/clipSegment.js +9 -0
  262. package/src/geometry/computeBounds.js +5 -2
  263. package/src/geometry/conformModelToTerrain.js +6 -3
  264. package/src/geometry/createLampRing.js +8 -0
  265. package/src/geometry/createModelGeometry.js +44 -34
  266. package/src/geometry/createRasterQuadGeometry.js +7 -1
  267. package/src/geometry/createTreeRing.js +8 -1
  268. package/src/geometry/crossVector.js +15 -7
  269. package/src/geometry/dashValues.js +23 -14
  270. package/src/geometry/dashedSegment.js +33 -21
  271. package/src/geometry/disk.js +9 -0
  272. package/src/geometry/diskAt.js +16 -4
  273. package/src/geometry/emitter.js +18 -8
  274. package/src/geometry/fillNativePolygon.js +28 -20
  275. package/src/geometry/generateTreeGeometry.js +15 -9
  276. package/src/geometry/indexBridge.js +34 -28
  277. package/src/geometry/instanceAreaGeometry.js +37 -31
  278. package/src/geometry/interpolateRoute.js +10 -2
  279. package/src/geometry/lampPostGeometry.js +9 -2
  280. package/src/geometry/lightGeometry.js +9 -2
  281. package/src/geometry/line.js +28 -21
  282. package/src/geometry/lineJoin.js +35 -26
  283. package/src/geometry/markerImageBounds.js +20 -11
  284. package/src/geometry/markerQuadCorners.js +9 -3
  285. package/src/geometry/meshShadowBounds.js +33 -24
  286. package/src/geometry/nativeGeometry.js +9 -1
  287. package/src/geometry/offsetBelowGround.js +10 -3
  288. package/src/geometry/polygon.js +7 -0
  289. package/src/geometry/quad.js +23 -9
  290. package/src/geometry/restoreGeometry.js +29 -23
  291. package/src/geometry/roofCoverage.js +29 -22
  292. package/src/geometry/roofFootprint.js +36 -28
  293. package/src/geometry/routeGeometry.js +7 -2
  294. package/src/geometry/samePoint.js +11 -3
  295. package/src/geometry/segment.js +32 -23
  296. package/src/geometry/setVertexColor.js +1 -1
  297. package/src/geometry/shadowBounds.js +8 -0
  298. package/src/geometry/subtractRoofTile.js +28 -19
  299. package/src/geometry/subtractVector.js +8 -0
  300. package/src/geometry/surface.js +11 -1
  301. package/src/geometry/terrainBuffers.js +33 -26
  302. package/src/geometry/terrainGrid.js +7 -2
  303. package/src/geometry/terrainTileGeometry.js +24 -15
  304. package/src/geometry/treeGeometry.js +7 -4
  305. package/src/geometry/triangle.js +11 -0
  306. package/src/geometry/validateTree.js +19 -7
  307. package/src/geometry/vertexNormals.js +8 -2
  308. package/src/geometry/visitNativeCoordinates.js +7 -0
  309. package/src/globals/CELL.js +6 -2
  310. package/src/globals/Compass.js +5 -0
  311. package/src/globals/ContainerResize.js +5 -0
  312. package/src/globals/HEIGHT.js +5 -0
  313. package/src/globals/L.js +6 -1
  314. package/src/globals/PitchDrag.js +5 -0
  315. package/src/globals/README.md +28 -0
  316. package/src/globals/ShiftRotate.js +5 -0
  317. package/src/globals/TILE_RADIUS.js +5 -0
  318. package/src/globals/TILE_SIZE.js +5 -0
  319. package/src/globals/TouchMode.js +5 -0
  320. package/src/globals/alphaBlend.js +5 -0
  321. package/src/globals/archiveDecoder.js +5 -0
  322. package/src/globals/archiveNorthWest.js +5 -0
  323. package/src/globals/archiveSouthEast.js +5 -0
  324. package/src/globals/atmosphereColor.js +5 -0
  325. package/src/globals/atmosphereStops.js +5 -0
  326. package/src/globals/blobParts.js +5 -0
  327. package/src/globals/cameraAngles.js +5 -0
  328. package/src/globals/cameraAnimatedOptions.js +5 -0
  329. package/src/globals/cameraAnimationFrame.js +5 -0
  330. package/src/globals/cameraAnimations.js +5 -0
  331. package/src/globals/cameraBearingSensitivity.js +5 -0
  332. package/src/globals/cameraDragSensitivity.js +5 -0
  333. package/src/globals/cameraDrags.js +5 -0
  334. package/src/globals/cameraEmptyOptions.js +5 -0
  335. package/src/globals/cameraFocusOptions.js +5 -0
  336. package/src/globals/cameraFov.js +8 -3
  337. package/src/globals/cameraListenerOptions.js +5 -0
  338. package/src/globals/cameraTouchStates.js +5 -0
  339. package/src/globals/cameraZeroPadding.js +5 -0
  340. package/src/globals/cogTags.js +6 -1
  341. package/src/globals/colorLayout.js +5 -0
  342. package/src/globals/colorTexture.js +11 -6
  343. package/src/globals/coreEventTypes.js +5 -0
  344. package/src/globals/coreMatrixKeys.js +5 -0
  345. package/src/globals/coreQuadIndices.js +5 -0
  346. package/src/globals/coreQuadUV.js +5 -0
  347. package/src/globals/coreSampler.js +5 -0
  348. package/src/globals/coreWhite.js +5 -0
  349. package/src/globals/cosObliquity.js +8 -3
  350. package/src/globals/coverageTiles.js +5 -0
  351. package/src/globals/dark.js +5 -0
  352. package/src/globals/defaultMaterial.js +5 -0
  353. package/src/globals/degrees.js +6 -1
  354. package/src/globals/demBuffer.js +5 -0
  355. package/src/globals/demLayout.js +5 -0
  356. package/src/globals/demSize.js +5 -0
  357. package/src/globals/demTarget.js +5 -0
  358. package/src/globals/demTexture.js +5 -0
  359. package/src/globals/depthBindGroup.js +5 -0
  360. package/src/globals/depthTexture.js +5 -0
  361. package/src/globals/directoryReader.js +5 -0
  362. package/src/globals/disabledShadow.js +5 -0
  363. package/src/globals/drawEntries.js +5 -0
  364. package/src/globals/drawFrameEntry.js +5 -0
  365. package/src/globals/drawMeshEntry.js +5 -0
  366. package/src/globals/drawSamplerEntries.js +5 -0
  367. package/src/globals/drawTerrainEntry.js +5 -0
  368. package/src/globals/drawTextureEntries.js +5 -0
  369. package/src/globals/earthCirc.js +6 -1
  370. package/src/globals/elevationWGSL.js +2 -0
  371. package/src/globals/fragmentShader.js +5 -0
  372. package/src/globals/frameBuffer.js +5 -0
  373. package/src/globals/frameCommands.js +5 -0
  374. package/src/globals/frameLayoutEntry.js +5 -0
  375. package/src/globals/geometryDecoder.js +5 -0
  376. package/src/globals/geometryEmpty.js +5 -0
  377. package/src/globals/geometryImageOptions.js +5 -0
  378. package/src/globals/geometryPixelStates.js +5 -0
  379. package/src/globals/geometryQuaternion.js +5 -0
  380. package/src/globals/geometryScale.js +5 -0
  381. package/src/globals/geometrySemantics.js +5 -0
  382. package/src/globals/geometryTranslation.js +5 -0
  383. package/src/globals/geometryWorkerUrl.js +8 -3
  384. package/src/globals/glass.js +5 -0
  385. package/src/globals/gridEvents.js +5 -0
  386. package/src/globals/gridFadeFrame.js +5 -0
  387. package/src/globals/halfRadians.js +6 -1
  388. package/src/globals/headerBounds.js +5 -0
  389. package/src/globals/headerFlags.js +5 -0
  390. package/src/globals/headerOffsets.js +5 -0
  391. package/src/globals/headlight.js +5 -0
  392. package/src/globals/hull.js +5 -0
  393. package/src/globals/instanceLayout.js +5 -0
  394. package/src/globals/lampDirections.js +13 -8
  395. package/src/globals/layerControlAddItem.js +8 -3
  396. package/src/globals/layerProto.js +5 -0
  397. package/src/globals/leafletLayer.js +8 -3
  398. package/src/globals/lightScale.js +6 -1
  399. package/src/globals/limbs.js +5 -1
  400. package/src/globals/loading.js +5 -0
  401. package/src/globals/mapMethods.js +5 -0
  402. package/src/globals/markerMethods.js +5 -0
  403. package/src/globals/markerPanFrame.js +5 -0
  404. package/src/globals/meshBindGroup.js +5 -0
  405. package/src/globals/meshBuffer.js +5 -0
  406. package/src/globals/meshCopySize.js +5 -0
  407. package/src/globals/meshImage.js +5 -0
  408. package/src/globals/meshLayoutEntry.js +5 -0
  409. package/src/globals/meshOffsets.js +5 -0
  410. package/src/globals/meshPipeline.js +5 -0
  411. package/src/globals/meshStack.js +5 -0
  412. package/src/globals/meshTarget.js +5 -0
  413. package/src/globals/moves.js +5 -1
  414. package/src/globals/mvtTextDecoder.js +6 -1
  415. package/src/globals/nativeMethodHandlers.js +5 -0
  416. package/src/globals/nativeScalableStyleKeys.js +6 -1
  417. package/src/globals/nextId.js +5 -0
  418. package/src/globals/normalLayout.js +5 -0
  419. package/src/globals/paints.js +5 -0
  420. package/src/globals/parts.js +5 -0
  421. package/src/globals/pendingGridFades.js +5 -0
  422. package/src/globals/pendingInitializations.js +5 -0
  423. package/src/globals/pendingMapChanges.js +5 -0
  424. package/src/globals/pendingMarkerPan.js +5 -0
  425. package/src/globals/pendingPlacements.js +5 -0
  426. package/src/globals/pendingRasterLoads.js +5 -0
  427. package/src/globals/pendingUpdates.js +5 -0
  428. package/src/globals/pendingZoomAnimations.js +5 -0
  429. package/src/globals/pipelineLayout.js +5 -0
  430. package/src/globals/popupEvents.js +5 -0
  431. package/src/globals/popupPan.js +5 -0
  432. package/src/globals/popupPosition.js +5 -0
  433. package/src/globals/positionLayout.js +5 -0
  434. package/src/globals/programEntries.js +5 -0
  435. package/src/globals/programLayout.js +5 -0
  436. package/src/globals/radians.js +5 -0
  437. package/src/globals/rasterBuffer.js +5 -0
  438. package/src/globals/rasterIndices.js +5 -0
  439. package/src/globals/rasterNormals.js +5 -0
  440. package/src/globals/rasterPoint.js +5 -0
  441. package/src/globals/rasterPositions.js +5 -0
  442. package/src/globals/rasterSampler.js +5 -0
  443. package/src/globals/rasterTexture.js +5 -0
  444. package/src/globals/rasterUVs.js +5 -0
  445. package/src/globals/removeLayer.js +5 -0
  446. package/src/globals/renderEmpty.js +5 -0
  447. package/src/globals/ringDirections.js +5 -0
  448. package/src/globals/roofBindGroup.js +5 -0
  449. package/src/globals/roofBlitSampler.js +5 -0
  450. package/src/globals/roofBuffer.js +5 -0
  451. package/src/globals/roofCommands.js +5 -0
  452. package/src/globals/roofCopySize.js +5 -0
  453. package/src/globals/roofImage.js +5 -0
  454. package/src/globals/roofMin.js +5 -0
  455. package/src/globals/roofOpacities.js +5 -0
  456. package/src/globals/roofPass.js +5 -0
  457. package/src/globals/roofPipeline.js +5 -0
  458. package/src/globals/roofSampler.js +5 -0
  459. package/src/globals/roofShader.js +5 -0
  460. package/src/globals/roofSignatures.js +5 -0
  461. package/src/globals/roofSize.js +5 -0
  462. package/src/globals/roofTarget.js +5 -0
  463. package/src/globals/roofTexture.js +5 -0
  464. package/src/globals/roofTiles.js +5 -0
  465. package/src/globals/roundProfile.js +5 -0
  466. package/src/globals/samplerLayoutEntries.js +5 -0
  467. package/src/globals/sceneCleanupFields.js +5 -0
  468. package/src/globals/sceneEmptyOptions.js +5 -0
  469. package/src/globals/scenePass.js +5 -0
  470. package/src/globals/sceneSunlightUniforms.js +5 -0
  471. package/src/globals/sceneTransferFields.js +5 -0
  472. package/src/globals/sceneWalkHandlers.js +5 -0
  473. package/src/globals/shadowBindGroup.js +5 -0
  474. package/src/globals/shadowBounds.js +5 -0
  475. package/src/globals/shadowCamera.js +5 -0
  476. package/src/globals/shadowDepthLayout.js +5 -0
  477. package/src/globals/shadowHigh.js +5 -0
  478. package/src/globals/shadowInstanceLayouts.js +5 -0
  479. package/src/globals/shadowLayouts.js +5 -0
  480. package/src/globals/shadowLow.js +5 -0
  481. package/src/globals/shadowMeshLayout.js +5 -0
  482. package/src/globals/shadowOffsets.js +5 -0
  483. package/src/globals/shadowPass.js +5 -0
  484. package/src/globals/shadowPipeline.js +5 -0
  485. package/src/globals/shadowPipelineLayout.js +5 -0
  486. package/src/globals/shadowShader.js +5 -0
  487. package/src/globals/shadowTexture.js +5 -0
  488. package/src/globals/shadowValues.js +5 -0
  489. package/src/globals/shirt.js +5 -0
  490. package/src/globals/sinObliquity.js +8 -3
  491. package/src/globals/sizes.js +5 -0
  492. package/src/globals/skin.js +5 -0
  493. package/src/globals/speed.js +5 -1
  494. package/src/globals/sunBindGroup.js +5 -0
  495. package/src/globals/taillight.js +5 -0
  496. package/src/globals/tau.js +6 -1
  497. package/src/globals/terrainLayoutEntry.js +5 -0
  498. package/src/globals/textureLayoutEntries.js +5 -0
  499. package/src/globals/tiledBounds.js +5 -0
  500. package/src/globals/tooltipEvents.js +5 -0
  501. package/src/globals/tooltipPosition.js +5 -0
  502. package/src/globals/trafficClocks.js +5 -0
  503. package/src/globals/trafficEmptyList.js +5 -0
  504. package/src/globals/trafficEmptyOptions.js +5 -0
  505. package/src/globals/trafficRouteMaterial.js +5 -0
  506. package/src/globals/trafficShader.js +5 -1
  507. package/src/globals/triangleContexts.js +5 -0
  508. package/src/globals/trousers.js +5 -0
  509. package/src/globals/types.js +5 -0
  510. package/src/globals/tyre.js +5 -0
  511. package/src/globals/uVLayout.js +5 -0
  512. package/src/globals/vectorStyleNamedColors.js +13 -8
  513. package/src/globals/vectorTileEvents.js +6 -1
  514. package/src/globals/vehicles.js +2 -0
  515. package/src/globals/vertexShader.js +5 -0
  516. package/src/globals/wantedTiles.js +5 -0
  517. package/src/globals/white.js +5 -0
  518. package/src/globals/workerCogSource.js +6 -1
  519. package/src/gpu/README.md +29 -0
  520. package/src/gpu/initializeRendererResources.js +39 -34
  521. package/src/gpu/initializeSharedRenderer.js +51 -44
  522. package/src/gpu/mountRenderer.js +25 -19
  523. package/src/gpu/releaseRenderer.js +8 -0
  524. package/src/gpu/rendererDeviceError.js +5 -3
  525. package/src/gpu/rendererDeviceLost.js +5 -3
  526. package/src/gpu/reportShaderCompilation.js +8 -0
  527. package/src/gpu/requestAdapter.js +8 -0
  528. package/src/gpu/requestDevice.js +9 -0
  529. package/src/gpu/showWebGPUWarning.js +5 -0
  530. package/src/index.js +0 -2
  531. package/src/layer-controls/README.md +25 -0
  532. package/src/layer-controls/layerControlInputId.js +18 -11
  533. package/src/layer-controls/layerCountTitle.js +16 -6
  534. package/src/layer-controls/placeEntry.js +9 -0
  535. package/src/layer-controls/placeEntryElement.js +29 -22
  536. package/src/layer-controls/placeUnderEntry.js +7 -0
  537. package/src/layer-controls/removeEntry.js +1 -0
  538. package/src/layer-controls/renderLayerCount.js +28 -20
  539. package/src/layer-controls/replaceEntry.js +1 -2
  540. package/src/layer-controls/runPlacements.js +1 -2
  541. package/src/layer-controls/underEntry.js +6 -2
  542. package/src/layer-controls/updateLayerCount.js +5 -1
  543. package/src/lighting/README.md +28 -0
  544. package/src/lighting/cacheLightGrid.js +9 -1
  545. package/src/lighting/collectLightMeshes.js +7 -1
  546. package/src/lighting/lightGrid.js +10 -1
  547. package/src/lighting/updatePointLights.js +7 -3
  548. package/src/lighting/visitLightCells.js +26 -13
  549. package/src/lighting/visitLightGridCells.js +11 -0
  550. package/src/lighting/worldLights.js +8 -1
  551. package/src/lighting/writeLightCell.js +14 -5
  552. package/src/materials/README.md +28 -0
  553. package/src/materials/createProgram.js +8 -4
  554. package/src/materials/createProgramLayout.js +44 -36
  555. package/src/materials/createProgramUniforms.js +25 -18
  556. package/src/materials/modelMaterialFor.js +29 -21
  557. package/src/materials/prepareMeshCutout.js +21 -12
  558. package/src/materials/terrainRasterProgram.js +57 -50
  559. package/src/materials/validateRoofMaterial.js +17 -10
  560. package/src/models/README.md +27 -0
  561. package/src/models/applyModelTransform.js +16 -12
  562. package/src/models/buildModelNodes.js +24 -14
  563. package/src/models/createModelContext.js +24 -15
  564. package/src/models/decodeModel.js +13 -2
  565. package/src/models/hasUnsupportedPrimitives.js +7 -0
  566. package/src/models/loadBuffer.js +16 -6
  567. package/src/models/loadModel.js +10 -7
  568. package/src/models/loadModelResources.js +22 -14
  569. package/src/models/modelNode.js +11 -1
  570. package/src/models/normalizeAccessor.js +21 -11
  571. package/src/models/prepareModel.js +29 -19
  572. package/src/models/prepareModelGeometry.js +35 -25
  573. package/src/models/prepareModelPrimitive.js +25 -17
  574. package/src/models/readAccessor.js +10 -4
  575. package/src/models/readAccessorValue.js +16 -7
  576. package/src/models/readAccessorValues.js +17 -0
  577. package/src/models/readModelAttributes.js +32 -20
  578. package/src/models/readModelIndices.js +28 -16
  579. package/src/models/readSparseAccessor.js +31 -19
  580. package/src/models/releaseModelResources.js +15 -10
  581. package/src/mvt/README.md +28 -0
  582. package/src/mvt/addMvtCrossings.js +23 -17
  583. package/src/mvt/appendMvtBandTriangles.js +42 -31
  584. package/src/mvt/appendMvtCoordinates.js +20 -11
  585. package/src/mvt/appendMvtPolygonTriangles.js +29 -19
  586. package/src/mvt/beginMvtPath.js +19 -9
  587. package/src/mvt/closeMvtPath.js +16 -7
  588. package/src/mvt/collectMvtEdges.js +29 -19
  589. package/src/mvt/createMvtReader.js +14 -7
  590. package/src/mvt/decodeVectorTile.js +39 -32
  591. package/src/mvt/expectMvtWire.js +11 -3
  592. package/src/mvt/finishMvtPath.js +14 -5
  593. package/src/mvt/finiteMvtCoordinate.js +14 -7
  594. package/src/mvt/groupMvtPolygons.js +35 -25
  595. package/src/mvt/isMvtFallbackError.js +13 -6
  596. package/src/mvt/mergeMvtActiveEdges.js +18 -9
  597. package/src/mvt/mvtEdgeX.js +12 -4
  598. package/src/mvt/mvtPathsVertices.js +15 -8
  599. package/src/mvt/mvtPolygonPaths.js +19 -12
  600. package/src/mvt/numericMvtValue.js +11 -4
  601. package/src/mvt/readMvtFeature.js +46 -34
  602. package/src/mvt/readMvtField.js +17 -8
  603. package/src/mvt/readMvtGeometry.js +42 -29
  604. package/src/mvt/readMvtInteger.js +22 -12
  605. package/src/mvt/readMvtKnownValue.js +30 -21
  606. package/src/mvt/readMvtLayer.js +40 -31
  607. package/src/mvt/readMvtMessage.js +18 -10
  608. package/src/mvt/readMvtNumber.js +18 -9
  609. package/src/mvt/readMvtNumbers.js +18 -11
  610. package/src/mvt/readMvtString.js +14 -6
  611. package/src/mvt/readMvtValue.js +29 -19
  612. package/src/mvt/skipMvtField.js +22 -14
  613. package/src/mvt/sortMvtActiveEdges.js +20 -15
  614. package/src/mvt/sortedMvtLevels.js +29 -22
  615. package/src/mvt/takeMvtBytes.js +18 -8
  616. package/src/mvt/tessellateVectorRings.js +26 -19
  617. package/src/mvt/triangulateVectorRings.js +23 -19
  618. package/src/native/README.md +27 -0
  619. package/src/native/beforeNativeRender.js +21 -16
  620. package/src/native/bypassNativeEvent.js +21 -11
  621. package/src/native/canScaleNativeStyle.js +26 -17
  622. package/src/native/compareNativeHits.js +10 -2
  623. package/src/native/createNativeMesh.js +46 -31
  624. package/src/native/disposeNativeLayer.js +3 -2
  625. package/src/native/forwardNativeError.js +8 -3
  626. package/src/native/getGridTerrainTile.js +47 -34
  627. package/src/native/gridTerrainElevation.js +34 -26
  628. package/src/native/handleNativeMapEvent.js +9 -4
  629. package/src/native/hideTargets.js +6 -0
  630. package/src/native/initNativeGPU.js +6 -3
  631. package/src/native/isCurrentNativeLayer.js +9 -4
  632. package/src/native/loadGridTerrain.js +36 -26
  633. package/src/native/nativeAddLatLng.js +7 -0
  634. package/src/native/nativeBringToBack.js +7 -0
  635. package/src/native/nativeBringToFront.js +7 -0
  636. package/src/native/nativeEventSource.js +27 -18
  637. package/src/native/nativeEvents.js +5 -4
  638. package/src/native/nativeLayer.js +10 -6
  639. package/src/native/nativeLayerMethod.js +9 -2
  640. package/src/native/nativeProgram.js +28 -20
  641. package/src/native/nativeRedraw.js +7 -0
  642. package/src/native/nativeSetBounds.js +7 -0
  643. package/src/native/nativeSetIcon.js +7 -0
  644. package/src/native/nativeSetLatLng.js +7 -0
  645. package/src/native/nativeSetLatLngs.js +7 -0
  646. package/src/native/nativeSetOpacity.js +7 -0
  647. package/src/native/nativeSetRadius.js +7 -0
  648. package/src/native/nativeSetStyle.js +7 -0
  649. package/src/native/nativeSetUrl.js +7 -0
  650. package/src/native/nativeSetZIndex.js +7 -0
  651. package/src/native/nativeSetZIndexOffset.js +7 -0
  652. package/src/native/nativeTerrainElevation.js +27 -16
  653. package/src/native/nativeVectorGeometry.js +30 -23
  654. package/src/native/orderNativeGridLayer.js +20 -14
  655. package/src/native/prepareGridTerrainRequests.js +23 -16
  656. package/src/native/pruneNativeResources.js +25 -20
  657. package/src/native/putNativeMesh.js +14 -0
  658. package/src/native/quadNativeMesh.js +11 -1
  659. package/src/native/readyNativeGPU.js +10 -6
  660. package/src/native/refreshNativeEvent.js +5 -0
  661. package/src/native/refreshNativeLayer.js +5 -3
  662. package/src/native/refreshNativeLayerContract.js +5 -2
  663. package/src/native/rejectNativeReady.js +7 -2
  664. package/src/native/removeNativeEvents.js +18 -14
  665. package/src/native/removeTargets.js +5 -2
  666. package/src/native/reorderNativeLayer.js +5 -3
  667. package/src/native/resolveNativeReady.js +5 -2
  668. package/src/native/restoreNativeEvents.js +8 -5
  669. package/src/native/retainGridTerrain.js +15 -10
  670. package/src/native/styleNativeMesh.js +17 -11
  671. package/src/native/syncGridLayer.js +5 -1
  672. package/src/native/syncGridTile.js +28 -18
  673. package/src/native/syncImageOverlay.js +10 -5
  674. package/src/native/syncMarker.js +5 -0
  675. package/src/native/syncNativeStrokeAnchors.js +18 -12
  676. package/src/native/syncNativeStrokeZoom.js +34 -29
  677. package/src/native/syncTerrainGridTile.js +38 -28
  678. package/src/native/syncVectorLayer.js +5 -0
  679. package/src/native/synchronizeNativeLayer.js +5 -3
  680. package/src/native/terrainGridMesh.js +47 -34
  681. package/src/native/updateNativeHover.js +15 -7
  682. package/src/native/updateNativeLayerView.js +3 -3
  683. package/src/native/updateNativeStrokeRadius.js +14 -9
  684. package/src/picking/README.md +29 -0
  685. package/src/picking/collectVisibleMesh.js +8 -0
  686. package/src/picking/findFeature.js +4 -4
  687. package/src/picking/hit.js +14 -7
  688. package/src/picking/hitColliderCell.js +29 -19
  689. package/src/picking/hitMesh.js +8 -2
  690. package/src/picking/onClick.js +6 -5
  691. package/src/picking/onPointerLeave.js +5 -5
  692. package/src/picking/onPointerMove.js +6 -5
  693. package/src/picking/pointerClick.js +5 -0
  694. package/src/picking/pointerLeave.js +1 -0
  695. package/src/picking/pointerMove.js +5 -0
  696. package/src/picking/raycast.js +2 -4
  697. package/src/picking/setHighlight.js +6 -5
  698. package/src/picking/shouldSkipOther.js +8 -2
  699. package/src/picking/showFeature.js +7 -4
  700. package/src/picking/validateCameraInverse.js +15 -8
  701. package/src/projections/README.md +28 -0
  702. package/src/projections/cameraAngles.js +8 -1
  703. package/src/projections/displayContainerPoint.js +32 -23
  704. package/src/projections/groundBounds.js +9 -1
  705. package/src/projections/localPixel.js +8 -0
  706. package/src/projections/localPixelForGeometry.js +8 -1
  707. package/src/projections/localPosition.js +8 -2
  708. package/src/projections/markerCameraIconPoint.js +9 -1
  709. package/src/projections/projectBridgePoint.js +16 -4
  710. package/src/projections/projectCameraPoint.js +11 -1
  711. package/src/projections/projectCelestialBody.js +11 -2
  712. package/src/projections/projectRing.js +11 -1
  713. package/src/projections/projectTreePoint.js +9 -1
  714. package/src/projections/toPoint.js +12 -4
  715. package/src/projections/transformZoomAnimationPoint.js +16 -9
  716. package/src/projections/verticalGroundY.js +14 -3
  717. package/src/projections/walkerLocalPosition.js +7 -0
  718. package/src/raster/README.md +28 -0
  719. package/src/raster/addRasterTile.js +10 -2
  720. package/src/raster/comparePendingTiles.js +8 -0
  721. package/src/raster/createRasterMesh.js +6 -5
  722. package/src/raster/finishRasterAttachment.js +9 -4
  723. package/src/raster/finishRasterTile.js +11 -2
  724. package/src/raster/getRasterEvents.js +7 -0
  725. package/src/raster/getRasterTileSize.js +5 -1
  726. package/src/raster/initRaster.js +6 -3
  727. package/src/raster/isRasterLoading.js +7 -3
  728. package/src/raster/loadRasterTile.js +8 -3
  729. package/src/raster/onPMTileAdd.js +6 -3
  730. package/src/raster/onPMTileRemove.js +6 -3
  731. package/src/raster/pruneRasterTiles.js +7 -3
  732. package/src/raster/pumpRasterTiles.js +5 -4
  733. package/src/raster/rasterTileRange.js +32 -23
  734. package/src/raster/readyRaster.js +8 -3
  735. package/src/raster/registerTerrainTile.js +9 -3
  736. package/src/raster/releaseRasterTile.js +6 -3
  737. package/src/raster/releaseRasterTiles.js +5 -3
  738. package/src/raster/removeRasterTile.js +6 -3
  739. package/src/raster/reportRasterError.js +8 -0
  740. package/src/raster/retainRasterTiles.js +19 -14
  741. package/src/raster/setPMTileOpacity.js +8 -0
  742. package/src/raster/setPMTileZIndex.js +8 -0
  743. package/src/raster/setRasterOpacity.js +6 -3
  744. package/src/raster/setRasterTerrain.js +6 -3
  745. package/src/raster/setRasterZIndex.js +6 -3
  746. package/src/raster/updateAttachedTiles.js +9 -3
  747. package/src/raster/updateRasterTiles.js +5 -5
  748. package/src/rendering/README.md +32 -0
  749. package/src/rendering/collectFrameMeshes.js +7 -3
  750. package/src/rendering/collectMeshes.js +11 -0
  751. package/src/rendering/collectVisibleMesh.js +48 -39
  752. package/src/rendering/compareMeshDepth.js +14 -6
  753. package/src/rendering/compareMeshes.js +10 -1
  754. package/src/rendering/createMesh.js +8 -5
  755. package/src/rendering/disposeMesh.js +6 -0
  756. package/src/rendering/drawGeometry.js +9 -2
  757. package/src/rendering/drawPipeline.js +44 -34
  758. package/src/rendering/drawSceneMeshes.js +9 -3
  759. package/src/rendering/nativeStrokeExpansion.js +11 -4
  760. package/src/rendering/prepareFrameBuffer.js +22 -16
  761. package/src/rendering/prepareFrameMeshes.js +10 -3
  762. package/src/rendering/prepareFrameUniforms.js +8 -3
  763. package/src/rendering/prepareMeshUniforms.js +36 -27
  764. package/src/rendering/render.js +2 -5
  765. package/src/rendering/resizeRenderer.js +6 -3
  766. package/src/rendering/revealRoofMesh.js +43 -34
  767. package/src/scene/README.md +36 -0
  768. package/src/scene/addRegisteredLayer.js +5 -4
  769. package/src/scene/addSceneLayer.js +22 -16
  770. package/src/scene/attachLayer.js +8 -3
  771. package/src/scene/attachSharedScene.js +6 -1
  772. package/src/scene/callLayer.js +31 -25
  773. package/src/scene/cancelUpdate.js +5 -3
  774. package/src/scene/createLayer.js +12 -6
  775. package/src/scene/createSceneNode.js +5 -1
  776. package/src/scene/emptyEvents.js +5 -0
  777. package/src/scene/failAttachment.js +9 -3
  778. package/src/scene/get3DEvents.js +7 -3
  779. package/src/scene/getLocation.js +10 -6
  780. package/src/scene/init3D.js +6 -3
  781. package/src/scene/initializeLayer.js +9 -2
  782. package/src/scene/initializerFor.js +8 -0
  783. package/src/scene/isNativeLayer.js +17 -11
  784. package/src/scene/layerInitialize.js +7 -4
  785. package/src/scene/onAdd3DLayer.js +6 -4
  786. package/src/scene/onMapChange.js +0 -5
  787. package/src/scene/onRemove3DLayer.js +6 -5
  788. package/src/scene/ready3D.js +9 -3
  789. package/src/scene/releaseSharedScene.js +6 -2
  790. package/src/scene/removeLayerEvents.js +1 -3
  791. package/src/scene/removeSceneLayer.js +20 -14
  792. package/src/scene/renderPendingMapChange.js +1 -4
  793. package/src/scene/renderPendingUpdates.js +5 -4
  794. package/src/scene/reportLayerError.js +9 -3
  795. package/src/scene/resolveNextInitialization.js +5 -2
  796. package/src/scene/restoreObject.js +6 -3
  797. package/src/scene/scheduleSceneUpdate.js +7 -6
  798. package/src/scene/setParent.js +6 -2
  799. package/src/scene/traverse.js +7 -2
  800. package/src/shaders/README.md +29 -0
  801. package/src/shaders/materialBaseShader.js +26 -17
  802. package/src/shaders/materialShaders.js +9 -1
  803. package/src/shaders/materialSurfaceShader.js +60 -47
  804. package/src/shaders/materialVertexShader.js +89 -77
  805. package/src/shaders/nativeStrokeShader.js +13 -6
  806. package/src/shaders/roofVertexShader.js +16 -9
  807. package/src/shadows/README.md +28 -0
  808. package/src/shadows/bindSunlight.js +5 -3
  809. package/src/shadows/drawShadowMeshes.js +7 -2
  810. package/src/shadows/ensureShadowPipeline.js +7 -0
  811. package/src/shadows/renderSunlight.js +8 -4
  812. package/src/shadows/resizeSunlight.js +6 -3
  813. package/src/shadows/shadowCacheMatches.js +11 -1
  814. package/src/shadows/shadowMatrix.js +8 -1
  815. package/src/shadows/shadowMeshMatches.js +19 -11
  816. package/src/sources/README.md +33 -0
  817. package/src/sources/attachAreaMesh.js +5 -4
  818. package/src/sources/buildArea.js +13 -2
  819. package/src/sources/buildAreaFeature.js +7 -1
  820. package/src/sources/buildAreaFeatures.js +23 -14
  821. package/src/sources/compareAreaDistance.js +8 -0
  822. package/src/sources/extrusionStyle.js +21 -10
  823. package/src/sources/featureAnchor.js +21 -9
  824. package/src/sources/groundOffset.js +9 -2
  825. package/src/sources/initVectorTiles.js +21 -15
  826. package/src/sources/initializeGeoJSON.js +6 -3
  827. package/src/sources/isVectorTileSource.js +11 -4
  828. package/src/sources/matchesAreaTile.js +17 -7
  829. package/src/sources/pendingSourceAreas.js +26 -19
  830. package/src/sources/prepareAreaGeometryJob.js +34 -24
  831. package/src/sources/projectAreaPolygons.js +25 -15
  832. package/src/sources/pumpSourceAreas.js +6 -6
  833. package/src/sources/readyVectorTiles.js +17 -10
  834. package/src/sources/releaseArea.js +6 -4
  835. package/src/sources/setGeoJSONData.js +8 -3
  836. package/src/sources/setGeoJSONLayerData.js +7 -0
  837. package/src/sources/sourceAreaContext.js +9 -2
  838. package/src/sources/updateArea.js +5 -5
  839. package/src/sources/updateSourceStatus.js +6 -3
  840. package/src/sunlight/README.md +28 -0
  841. package/src/sunlight/addTimeControlToMap.js +17 -10
  842. package/src/sunlight/addTimeLayer.js +10 -5
  843. package/src/sunlight/atmosphere.js +9 -2
  844. package/src/sunlight/createSun.js +7 -0
  845. package/src/sunlight/initSunlight.js +5 -0
  846. package/src/sunlight/initializeTimeControl.js +15 -13
  847. package/src/sunlight/onAddSun.js +35 -26
  848. package/src/sunlight/onAddTimeControl.js +12 -5
  849. package/src/sunlight/onRemoveSun.js +10 -10
  850. package/src/sunlight/removeSun.js +22 -20
  851. package/src/sunlight/removeTimeControl.js +13 -7
  852. package/src/sunlight/removeTimeLayer.js +8 -5
  853. package/src/sunlight/requestSunlightRender.js +10 -7
  854. package/src/sunlight/styleTimeControl.js +13 -7
  855. package/src/sunlight/tickSun.js +10 -5
  856. package/src/sunlight/updateCelestialDisc.js +23 -12
  857. package/src/sunlight/updateSky.js +5 -3
  858. package/src/sunlight/updateSun.js +42 -40
  859. package/src/sunlight/useLiveTime.js +11 -6
  860. package/src/sunlight/useSelectedTime.js +24 -22
  861. package/src/terrain/README.md +30 -0
  862. package/src/terrain/applyTerrain.js +26 -20
  863. package/src/terrain/clearLayerTerrain.js +5 -3
  864. package/src/terrain/copyTerrainTile.js +20 -12
  865. package/src/terrain/getElevation.js +8 -5
  866. package/src/terrain/initTerrain.js +5 -3
  867. package/src/terrain/loadReadyTerrain.js +6 -5
  868. package/src/terrain/loadTerrain.js +10 -2
  869. package/src/terrain/loadTerrainTiles.js +10 -3
  870. package/src/terrain/mapElevationOf.js +19 -11
  871. package/src/terrain/onTerrainAdd.js +8 -4
  872. package/src/terrain/onTerrainChange.js +5 -5
  873. package/src/terrain/onTerrainRemove.js +6 -3
  874. package/src/terrain/readBridges.js +13 -4
  875. package/src/terrain/readyTerrainOf.js +14 -7
  876. package/src/terrain/sampleTerrainTile.js +16 -7
  877. package/src/terrain/setLayerTerrain.js +5 -3
  878. package/src/terrain/setTerrainHeight.js +5 -4
  879. package/src/terrain/terrainAtlas.js +8 -2
  880. package/src/terrain/terrainElevation.js +8 -2
  881. package/src/terrain/terrainTileQueue.js +31 -24
  882. package/src/textures/README.md +29 -0
  883. package/src/textures/addImageState.js +12 -7
  884. package/src/textures/attachRasterImage.js +1 -2
  885. package/src/textures/bindMeshTextures.js +57 -50
  886. package/src/textures/collectRoofTiles.js +21 -14
  887. package/src/textures/compareRoofTiles.js +8 -0
  888. package/src/textures/composeRoofAtlas.js +11 -3
  889. package/src/textures/destroyTexture.js +6 -4
  890. package/src/textures/destroyTextureAfterSubmission.js +9 -0
  891. package/src/textures/ensureRoofBlit.js +5 -0
  892. package/src/textures/loadModelImage.js +28 -18
  893. package/src/textures/modelTextureFor.js +45 -37
  894. package/src/textures/modelTextureSampler.js +7 -2
  895. package/src/textures/nativeImageError.js +5 -1
  896. package/src/textures/nativeImageRefresh.js +5 -2
  897. package/src/textures/nativeTextureFor.js +11 -3
  898. package/src/textures/prepareMeshTextures.js +31 -23
  899. package/src/textures/rebuildRoofAtlas.js +8 -3
  900. package/src/textures/removeImageState.js +11 -6
  901. package/src/textures/resizeRoofTexture.js +30 -23
  902. package/src/textures/restoreMaterialTextures.js +22 -16
  903. package/src/textures/textureBinding.js +9 -0
  904. package/src/textures/updateRoofAtlas.js +25 -19
  905. package/src/textures/updateRoofRaster.js +8 -0
  906. package/src/textures/uploadCanvasTexture.js +15 -0
  907. package/src/textures/uploadMeshTexture.js +32 -26
  908. package/src/textures/uploadNativeImage.js +26 -13
  909. package/src/textures/uploadRoofTile.js +29 -23
  910. package/src/traffic/README.md +30 -0
  911. package/src/traffic/addTraffic.js +5 -2
  912. package/src/traffic/clockMinutes.js +7 -0
  913. package/src/traffic/compareDepartures.js +8 -0
  914. package/src/traffic/createTrafficMesh.js +15 -4
  915. package/src/traffic/destroyTrafficGpu.js +5 -0
  916. package/src/traffic/disposeTrafficObject.js +14 -11
  917. package/src/traffic/drawTrafficRoute.js +5 -1
  918. package/src/traffic/failTraffic.js +12 -6
  919. package/src/traffic/failedTrafficLoad.js +9 -2
  920. package/src/traffic/featuresToTrafficLanes.js +8 -0
  921. package/src/traffic/fetchTrafficLanes.js +21 -10
  922. package/src/traffic/groundTraffic.js +5 -1
  923. package/src/traffic/initTraffic.js +17 -15
  924. package/src/traffic/loadTraffic.js +5 -0
  925. package/src/traffic/loadedTrafficLanes.js +19 -12
  926. package/src/traffic/locateTraffic.js +20 -11
  927. package/src/traffic/moveTraffic.js +21 -15
  928. package/src/traffic/placeTraffic.js +5 -0
  929. package/src/traffic/prepareTraffic.js +5 -3
  930. package/src/traffic/readyTraffic.js +8 -3
  931. package/src/traffic/rebaseTraffic.js +5 -3
  932. package/src/traffic/rebuildTrafficMesh.js +5 -1
  933. package/src/traffic/refreshTrafficTrips.js +42 -32
  934. package/src/traffic/removeTraffic.js +5 -2
  935. package/src/traffic/routeColor.js +13 -6
  936. package/src/traffic/scheduledTrips.js +5 -2
  937. package/src/traffic/startTraffic.js +10 -5
  938. package/src/traffic/tickTraffic.js +5 -3
  939. package/src/traffic/trafficBounds.js +5 -0
  940. package/src/traffic/trafficNow.js +14 -9
  941. package/src/traffic/trafficStatusText.js +13 -5
  942. package/src/traffic/trafficStorage.js +13 -5
  943. package/src/traffic/trafficTooltip.js +7 -0
  944. package/src/traffic/tripsAt.js +9 -2
  945. package/src/traffic/updateTraffic.js +11 -8
  946. package/src/traffic/updateTrafficLights.js +23 -18
  947. package/src/traffic/updateTrafficPose.js +15 -8
  948. package/src/traffic/updateTrafficTerrain.js +12 -7
  949. package/src/traffic/uploadTrafficLanes.js +27 -21
  950. package/src/traffic/vehicleOffsets.js +9 -3
  951. package/src/transforms/README.md +27 -0
  952. package/src/transforms/composeLocalTransform.js +23 -16
  953. package/src/transforms/modelNodeMatrix.js +7 -2
  954. package/src/transforms/transformNativePoint.js +19 -7
  955. package/src/transforms/updateWorldMatrix.js +5 -2
  956. package/src/transforms/worldMatrixChanged.js +26 -18
  957. package/src/triangulation/README.md +26 -0
  958. package/src/triangulation/area.js +7 -0
  959. package/src/triangulation/clean.js +9 -0
  960. package/src/triangulation/clipEars.js +32 -23
  961. package/src/triangulation/connectHole.js +30 -18
  962. package/src/triangulation/containsVertex.js +10 -0
  963. package/src/triangulation/cross.js +12 -3
  964. package/src/triangulation/crossesBoundary.js +10 -0
  965. package/src/triangulation/crossesRing.js +9 -0
  966. package/src/triangulation/equal.js +11 -3
  967. package/src/triangulation/inside.js +8 -0
  968. package/src/triangulation/insideHole.js +8 -0
  969. package/src/triangulation/intersects.js +21 -11
  970. package/src/triangulation/isClockWise.js +4 -1
  971. package/src/triangulation/mergeHoles.js +19 -11
  972. package/src/triangulation/minimumX.js +7 -0
  973. package/src/triangulation/on.js +13 -4
  974. package/src/triangulation/polygonRings.js +22 -14
  975. package/src/triangulation/sortHoles.js +7 -0
  976. package/src/triangulation/triangulate.js +3 -2
  977. package/src/triangulation/validateArea.js +19 -10
  978. package/src/utils/README.md +16 -0
  979. package/src/utils/compareDistance.js +11 -3
  980. package/src/utils/noOperation.js +1 -0
  981. package/src/utils/wrap.js +7 -0
  982. package/src/utils/yieldTask.js +12 -5
  983. package/src/vector-style/README.md +27 -0
  984. package/src/vector-style/appendQuotedStyleCharacter.js +30 -22
  985. package/src/vector-style/arrayContainsRange.js +18 -8
  986. package/src/vector-style/evaluateBoolean.js +31 -18
  987. package/src/vector-style/evaluateCoalesceOrCase.js +34 -21
  988. package/src/vector-style/evaluateComparison.js +29 -16
  989. package/src/vector-style/evaluateIExpression.js +21 -8
  990. package/src/vector-style/evaluateInput.js +16 -6
  991. package/src/vector-style/evaluateInterpolate.js +36 -27
  992. package/src/vector-style/evaluateMatch.js +21 -12
  993. package/src/vector-style/evaluateMath.js +26 -14
  994. package/src/vector-style/evaluateMembership.js +29 -18
  995. package/src/vector-style/evaluateNegation.js +26 -13
  996. package/src/vector-style/evaluatePrimitive.js +21 -9
  997. package/src/vector-style/evaluateStep.js +20 -11
  998. package/src/vector-style/evaluateStyle.js +43 -33
  999. package/src/vector-style/evaluateToExpression.js +27 -14
  1000. package/src/vector-style/fillVectorPaint.js +26 -17
  1001. package/src/vector-style/lineVectorPaint.js +31 -21
  1002. package/src/vector-style/parseFunctionalColor.js +23 -14
  1003. package/src/vector-style/parseHexColor.js +20 -13
  1004. package/src/vector-style/parseVectorStyle.js +20 -13
  1005. package/src/vector-style/readPaintValue.js +17 -6
  1006. package/src/vector-style/removeTrailingCommas.js +19 -12
  1007. package/src/vector-style/scaleDashArray.js +25 -13
  1008. package/src/vector-style/skipStyleComment.js +20 -9
  1009. package/src/vector-style/stripStyleComments.js +28 -21
  1010. package/src/vector-style/styleColor.js +18 -11
  1011. package/src/vector-style/validateVectorLayers.js +18 -10
  1012. package/src/vector-style/vectorPaint.js +17 -8
  1013. package/src/vector-style/visibleStyle.js +16 -7
  1014. package/src/vector-tiles/README.md +30 -0
  1015. package/src/vector-tiles/appendVectorBatch.js +34 -22
  1016. package/src/vector-tiles/attachVectorTileBatch.js +25 -17
  1017. package/src/vector-tiles/attachVectorTileBatches.js +26 -15
  1018. package/src/vector-tiles/compareVectorLabelPriority.js +11 -3
  1019. package/src/vector-tiles/compareVectorTileDistance.js +11 -3
  1020. package/src/vector-tiles/configureVectorTileLayer.js +8 -0
  1021. package/src/vector-tiles/createVectorLabel.js +37 -22
  1022. package/src/vector-tiles/forwardVectorTileError.js +10 -5
  1023. package/src/vector-tiles/loadVectorSprite.js +14 -5
  1024. package/src/vector-tiles/loadVectorTile.js +45 -36
  1025. package/src/vector-tiles/onVectorTileAdd.js +44 -39
  1026. package/src/vector-tiles/onVectorTileMessage.js +15 -10
  1027. package/src/vector-tiles/onVectorTileRemove.js +25 -20
  1028. package/src/vector-tiles/onVectorTileWorkerError.js +16 -11
  1029. package/src/vector-tiles/paintVectorTileBatch.js +18 -12
  1030. package/src/vector-tiles/prepareVectorLabel.js +34 -25
  1031. package/src/vector-tiles/prepareVectorStyleLayer.js +38 -30
  1032. package/src/vector-tiles/prepareVectorTile.js +29 -16
  1033. package/src/vector-tiles/projectVectorPaths.js +25 -15
  1034. package/src/vector-tiles/projectVectorPoint.js +15 -6
  1035. package/src/vector-tiles/projectVectorTriangles.js +28 -18
  1036. package/src/vector-tiles/pruneVectorTiles.js +14 -11
  1037. package/src/vector-tiles/pumpVectorTiles.js +21 -18
  1038. package/src/vector-tiles/readTileJSON.js +27 -17
  1039. package/src/vector-tiles/readVectorStyle.js +28 -17
  1040. package/src/vector-tiles/refreshVectorTiles.js +8 -5
  1041. package/src/vector-tiles/reserveVectorLabelCells.js +14 -6
  1042. package/src/vector-tiles/retireVectorTileGroup.js +20 -13
  1043. package/src/vector-tiles/revokeVectorWorkerUrl.js +14 -9
  1044. package/src/vector-tiles/rotateVectorLabel.js +19 -12
  1045. package/src/vector-tiles/rotateVectorLabels.js +9 -6
  1046. package/src/vector-tiles/simplifyVectorPath.js +29 -21
  1047. package/src/vector-tiles/updateVectorLabelMarker.js +36 -27
  1048. package/src/vector-tiles/updateVectorLabelStyle.js +14 -8
  1049. package/src/vector-tiles/updateVectorTileLabels.js +33 -28
  1050. package/src/vector-tiles/updateVectorTilePaint.js +25 -20
  1051. package/src/vector-tiles/updateVectorTiles.js +32 -29
  1052. package/src/vector-tiles/validateVectorTileZooms.js +15 -6
  1053. package/src/vector-tiles/vectorFeaturePaint.js +25 -15
  1054. package/src/vector-tiles/vectorFeaturePaths.js +26 -16
  1055. package/src/vector-tiles/vectorFeatureZoom.js +18 -8
  1056. package/src/vector-tiles/vectorLabelAnchors.js +31 -24
  1057. package/src/vector-tiles/vectorLabelCandidates.js +18 -11
  1058. package/src/vector-tiles/vectorLabelCells.js +32 -23
  1059. package/src/vector-tiles/vectorLabelIcon.js +38 -30
  1060. package/src/vector-tiles/vectorLabelProperty.js +12 -3
  1061. package/src/vector-tiles/vectorLabelText.js +19 -10
  1062. package/src/vector-tiles/vectorSpriteIcon.js +19 -11
  1063. package/src/vector-tiles/vectorStraightRun.js +23 -14
  1064. package/src/vector-tiles/vectorStyleDependencies.js +22 -15
  1065. package/src/vector-tiles/vectorStyleValue.js +16 -5
  1066. package/src/vector-tiles/vectorStyleZoom.js +12 -6
  1067. package/src/vector-tiles/vectorTileAwaited.js +17 -9
  1068. package/src/vector-tiles/vectorTileOverlaps.js +12 -4
  1069. package/src/vector-tiles/vectorTilePaint.js +18 -10
  1070. package/src/vector-tiles/vectorTileSettings.js +27 -17
  1071. package/src/vector-tiles/vectorTilesIdle.js +11 -3
  1072. package/src/vector-tiles/vectorTolerance.js +11 -4
  1073. package/src/vector-tiles/wrapVectorLabel.js +17 -11
  1074. package/src/vehicles/README.md +27 -0
  1075. package/src/vehicles/bicycleModel.js +7 -1
  1076. package/src/vehicles/boatBenches.js +5 -0
  1077. package/src/vehicles/boatModel.js +32 -32
  1078. package/src/vehicles/buildCarriage.js +9 -1
  1079. package/src/vehicles/busModel.js +10 -2
  1080. package/src/vehicles/carModel.js +34 -33
  1081. package/src/vehicles/metroModel.js +8 -0
  1082. package/src/vehicles/mirrorVehiclePart.js +11 -0
  1083. package/src/vehicles/pedestrianModel.js +7 -1
  1084. package/src/vehicles/tramModel.js +8 -0
  1085. package/src/walk/README.md +30 -0
  1086. package/src/walk/animateWalker.js +5 -4
  1087. package/src/walk/createWalk.js +6 -3
  1088. package/src/walk/initWalk.js +5 -0
  1089. package/src/walk/initializeWalkControl.js +11 -6
  1090. package/src/walk/isWalkBlocked.js +15 -6
  1091. package/src/walk/landWalker.js +35 -31
  1092. package/src/walk/moveWalker.js +35 -22
  1093. package/src/walk/onAddWalkControl.js +40 -31
  1094. package/src/walk/onRemoveWalkControl.js +17 -12
  1095. package/src/walk/onWalkBlur.js +3 -2
  1096. package/src/walk/onWalkKey.js +5 -2
  1097. package/src/walk/onWalkPointer.js +6 -0
  1098. package/src/walk/onWalkTerrain.js +3 -2
  1099. package/src/walk/placeWalker.js +1 -2
  1100. package/src/walk/resolveWalkerPosition.js +33 -28
  1101. package/src/walk/startWalking.js +1 -1
  1102. package/src/walk/stepWalkerHeight.js +18 -11
  1103. package/src/walk/stopWalking.js +1 -0
  1104. package/src/walk/toggleWalking.js +3 -2
  1105. package/src/walk/updateWalkerFrame.js +29 -19
  1106. package/src/walk/updateWalkerView.js +31 -22
  1107. package/src/weakmaps/README.md +33 -0
  1108. package/src/weakmaps/addedByLayer.js +5 -0
  1109. package/src/weakmaps/archiveHeaderByLayer.js +5 -0
  1110. package/src/weakmaps/areasByLayer.js +5 -0
  1111. package/src/weakmaps/boundsMethods.js +5 -0
  1112. package/src/weakmaps/bridgeMeshByLayer.js +5 -0
  1113. package/src/weakmaps/bridgesByLayer.js +5 -0
  1114. package/src/weakmaps/cameraAnimationByMap.js +5 -0
  1115. package/src/weakmaps/cameraBearingByMap.js +5 -0
  1116. package/src/weakmaps/cameraByLayer.js +5 -0
  1117. package/src/weakmaps/cameraDraggableByMap.js +5 -0
  1118. package/src/weakmaps/cameraFields.js +5 -0
  1119. package/src/weakmaps/cameraFrameByMap.js +5 -0
  1120. package/src/weakmaps/cameraHandlersByMap.js +6 -1
  1121. package/src/weakmaps/cameraMaps.js +5 -0
  1122. package/src/weakmaps/cameraPitchByMap.js +5 -0
  1123. package/src/weakmaps/cameraReadyByMap.js +5 -0
  1124. package/src/weakmaps/cameraTouchStateByMap.js +5 -0
  1125. package/src/weakmaps/cameraViewByMap.js +5 -0
  1126. package/src/weakmaps/cameraZIndexOffsetByLayer.js +5 -0
  1127. package/src/weakmaps/closestMethods.js +5 -0
  1128. package/src/weakmaps/colliders.js +5 -0
  1129. package/src/weakmaps/containerByLayer.js +5 -0
  1130. package/src/weakmaps/controlByLayer.js +5 -0
  1131. package/src/weakmaps/countStatusByLayer.js +5 -0
  1132. package/src/weakmaps/cursorByLayer.js +5 -0
  1133. package/src/weakmaps/demByLayer.js +5 -0
  1134. package/src/weakmaps/directoriesByLayer.js +5 -0
  1135. package/src/weakmaps/dragByHandler.js +5 -0
  1136. package/src/weakmaps/dragStates.js +5 -0
  1137. package/src/weakmaps/etagByLayer.js +5 -0
  1138. package/src/weakmaps/eventMapByLayer.js +5 -0
  1139. package/src/weakmaps/eventsByLayer.js +5 -0
  1140. package/src/weakmaps/fadeFrameByLayer.js +5 -0
  1141. package/src/weakmaps/fadeVersionByLayer.js +5 -0
  1142. package/src/weakmaps/frameByLayer.js +5 -0
  1143. package/src/weakmaps/geojsonByLayer.js +5 -0
  1144. package/src/weakmaps/geometryWorkersByMap.js +6 -1
  1145. package/src/weakmaps/gridInitializers.js +5 -0
  1146. package/src/weakmaps/groupByLayer.js +5 -0
  1147. package/src/weakmaps/headerByLayer.js +5 -0
  1148. package/src/weakmaps/highlightedFeatureByLayer.js +5 -0
  1149. package/src/weakmaps/hoveredFeatureByLayer.js +5 -0
  1150. package/src/weakmaps/imageStates.js +5 -0
  1151. package/src/weakmaps/inflightByLayer.js +5 -0
  1152. package/src/weakmaps/kindByLayer.js +5 -0
  1153. package/src/weakmaps/layersByLayer.js +5 -0
  1154. package/src/weakmaps/loadingTilesByLayer.js +5 -0
  1155. package/src/weakmaps/locationByLayer.js +5 -0
  1156. package/src/weakmaps/modelByLayer.js +5 -0
  1157. package/src/weakmaps/modelUrlByLayer.js +5 -0
  1158. package/src/weakmaps/nativeEventMaps.js +5 -0
  1159. package/src/weakmaps/nativeGPUBackByMap.js +5 -0
  1160. package/src/weakmaps/nativeGPUByLayer.js +5 -0
  1161. package/src/weakmaps/nativeGPUOrderByMap.js +5 -0
  1162. package/src/weakmaps/nativeProgramsByRenderer.js +6 -1
  1163. package/src/weakmaps/nativeRenderByLayer.js +5 -0
  1164. package/src/weakmaps/pathProjectionByMap.js +6 -1
  1165. package/src/weakmaps/pitchSkyByMap.js +5 -0
  1166. package/src/weakmaps/pointerEventsByLayer.js +5 -0
  1167. package/src/weakmaps/pruneAfterByLayer.js +5 -0
  1168. package/src/weakmaps/pruneVersionByLayer.js +5 -0
  1169. package/src/weakmaps/pruneWantedByLayer.js +5 -0
  1170. package/src/weakmaps/queuedByLayer.js +5 -0
  1171. package/src/weakmaps/rasterGeometryByLayer.js +5 -0
  1172. package/src/weakmaps/rasterProgramByLayer.js +5 -0
  1173. package/src/weakmaps/rasterTilesByLayer.js +5 -0
  1174. package/src/weakmaps/rasterVersionByLayer.js +5 -0
  1175. package/src/weakmaps/raycasterByLayer.js +5 -0
  1176. package/src/weakmaps/readyByLayer.js +5 -0
  1177. package/src/weakmaps/rendererByLayer.js +5 -0
  1178. package/src/weakmaps/rendererDevices.js +5 -0
  1179. package/src/weakmaps/rendererReadyByLayer.js +5 -0
  1180. package/src/weakmaps/renderers.js +5 -0
  1181. package/src/weakmaps/roofRasterByLayer.js +5 -0
  1182. package/src/weakmaps/roofRastersByLayer.js +5 -0
  1183. package/src/weakmaps/rootByLayer.js +5 -0
  1184. package/src/weakmaps/rotateControlByMap.js +5 -0
  1185. package/src/weakmaps/sceneByLayer.js +5 -0
  1186. package/src/weakmaps/sceneFields.js +5 -0
  1187. package/src/weakmaps/sceneLayers.js +5 -0
  1188. package/src/weakmaps/sceneOriginByLayer.js +5 -0
  1189. package/src/weakmaps/shadowMeshesByLayer.js +5 -0
  1190. package/src/weakmaps/sharedByLayer.js +5 -0
  1191. package/src/weakmaps/sizeByLayer.js +5 -0
  1192. package/src/weakmaps/state3dByLayer.js +5 -0
  1193. package/src/weakmaps/streamTerrainByLayer.js +6 -1
  1194. package/src/weakmaps/streamTerrainByMap.js +6 -1
  1195. package/src/weakmaps/sunByMap.js +6 -1
  1196. package/src/weakmaps/sunlightByControl.js +5 -0
  1197. package/src/weakmaps/sunlightByMap.js +5 -0
  1198. package/src/weakmaps/terrain3DByLayer.js +5 -0
  1199. package/src/weakmaps/terrain3DByMap.js +5 -0
  1200. package/src/weakmaps/terrainArchiveByLayer.js +5 -0
  1201. package/src/weakmaps/terrainBaseYByLayer.js +5 -0
  1202. package/src/weakmaps/terrainBoundsByLayer.js +5 -0
  1203. package/src/weakmaps/terrainControllerByLayer.js +5 -0
  1204. package/src/weakmaps/terrainGridsByLayer.js +5 -0
  1205. package/src/weakmaps/terrainLoadingByLayer.js +5 -0
  1206. package/src/weakmaps/terrainOriginElevationByLayer.js +5 -0
  1207. package/src/weakmaps/terrainPromiseByLayer.js +5 -0
  1208. package/src/weakmaps/terrainReadyByLayer.js +5 -0
  1209. package/src/weakmaps/terrainRequestByLayer.js +5 -0
  1210. package/src/weakmaps/terrainSourceByLayer.js +5 -0
  1211. package/src/weakmaps/terrainTilesByLayer.js +5 -0
  1212. package/src/weakmaps/terrainZoomByLayer.js +5 -0
  1213. package/src/weakmaps/tileZoomByLayer.js +5 -0
  1214. package/src/weakmaps/timeControlByMap.js +5 -0
  1215. package/src/weakmaps/tooltipByLayer.js +5 -0
  1216. package/src/weakmaps/touchByContainer.js +5 -0
  1217. package/src/weakmaps/touchPitchByMap.js +5 -0
  1218. package/src/weakmaps/touchRotateByMap.js +5 -0
  1219. package/src/weakmaps/trafficByLayer.js +5 -0
  1220. package/src/weakmaps/typeByLayer.js +5 -0
  1221. package/src/weakmaps/urlByLayer.js +5 -0
  1222. package/src/weakmaps/vectorTileOptionsByLayer.js +6 -1
  1223. package/src/weakmaps/vectorWorkerByLayer.js +6 -1
  1224. package/src/weakmaps/visibleMeshesByLayer.js +5 -0
  1225. package/src/weakmaps/walkByMap.js +6 -1
  1226. package/src/weakmaps/walkerByLayer.js +5 -0
  1227. package/src/weakmaps/wantedRasterTilesByLayer.js +5 -0
  1228. package/src/weakmaps/workerMapByLayer.js +6 -1
  1229. package/src/weakmaps/zoomLevelByLayer.js +5 -0
  1230. package/src/weakmaps/zoomTransitionsByLayer.js +5 -0
  1231. package/src/weakmaps/zoomViewByLayer.js +5 -0
  1232. package/src/workers/README.md +33 -0
  1233. package/src/workers/acquireGeometryWorker.js +39 -29
  1234. package/src/workers/buildAreaInWorker.js +24 -16
  1235. package/src/workers/closeGeometryWorkers.js +16 -11
  1236. package/src/workers/cogWorker.js +27 -20
  1237. package/src/workers/createGeometryWorker.js +30 -20
  1238. package/src/workers/geometryWorker.js +34 -29
  1239. package/src/workers/getCogInWorker.js +18 -7
  1240. package/src/workers/modelWorker.js +17 -10
  1241. package/src/workers/openCogInWorker.js +22 -14
  1242. package/src/workers/runSourceWorker.js +44 -32
  1243. package/src/workers/settleGeometryWorker.js +16 -10
  1244. package/src/workers/startGeometryWorker.js +23 -16
  1245. package/src/workers/vectorTileWorker.js +15 -10
  1246. package/src/collision/setTrafficNormal.js +0 -9
@@ -1 +1,6 @@
1
+ /**
2
+ * Animated camera view overrides keyed by map.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const cameraViewByMap = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Camera-dependent marker z-index offsets keyed by source layer.
3
+ *
4
+ * @type {WeakMap<Object, number>}
5
+ */
1
6
  export const cameraZIndexOffsetByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Original closestLayerPoint methods saved for native layers.
3
+ *
4
+ * @type {WeakMap<Object, Function>}
5
+ */
1
6
  export const closestMethods = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Cached collision geometry keyed by mesh.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const colliders = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Map containers used for layer pointer events and tooltips, keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, HTMLElement|null>}
5
+ */
1
6
  export const containerByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Time controls associated with sunlight layers.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const controlByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Layer control elements displaying source loading and feature counts.
3
+ *
4
+ * @type {WeakMap<Object, HTMLElement>}
5
+ */
1
6
  export const countStatusByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Saved container cursor styles for feature hover, keyed by shared layer.
3
+ *
4
+ * @type {WeakMap<Object, string>}
5
+ */
1
6
  export const cursorByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Elevation texture and range used by the terrain material, keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, Object|null>}
5
+ */
1
6
  export const demByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Cached archive directory entries keyed by source layer.
3
+ *
4
+ * @type {WeakMap<Object, Map>}
5
+ */
1
6
  export const directoriesByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Saved original marker drag methods keyed by drag handler.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const dragByHandler = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Mutable holder for camera drag state keyed by interactive element.
3
+ *
4
+ * @type {{value: WeakMap<Element, Object>}}
5
+ */
1
6
  export const dragStates = { value: new WeakMap() };
@@ -1 +1,6 @@
1
+ /**
2
+ * Archive response ETags used to detect changes across range requests.
3
+ *
4
+ * @type {WeakMap<Object, string>}
5
+ */
1
6
  export const etagByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Maps on which layer event handlers are registered.
3
+ *
4
+ * @type {WeakMap<Object, Object|null>}
5
+ */
1
6
  export const eventMapByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Registered map event handler dictionaries keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, Object|null>}
5
+ */
1
6
  export const eventsByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Scheduled grid fade animation frames keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, number|null>}
5
+ */
1
6
  export const fadeFrameByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Grid fade revisions keyed by layer to distinguish scheduled updates.
3
+ *
4
+ * @type {WeakMap<Object, number>}
5
+ */
1
6
  export const fadeVersionByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Scheduled scene render frame identifiers keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, number|null>}
5
+ */
1
6
  export const frameByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Flags identifying layers backed by GeoJSON data.
3
+ *
4
+ * @type {WeakMap<Object, boolean>}
5
+ */
1
6
  export const geojsonByLayer = new WeakMap();
@@ -1 +1,6 @@
1
- export const geometryWorkersByMap = new WeakMap();
1
+ /**
2
+ * Geometry worker pools shared by layers on each map.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
6
+ export const geometryWorkersByMap = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Original grid container initialization methods saved for native layers.
3
+ *
4
+ * @type {WeakMap<Object, Function>}
5
+ */
1
6
  export const gridInitializers = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Scene groups exposed by layers.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const groupByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Loaded source headers used for bounds and tile selection, keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const headerByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Currently highlighted feature and mesh information keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, Object|null>}
5
+ */
1
6
  export const highlightedFeatureByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Currently hovered feature keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, Object|null>}
5
+ */
1
6
  export const hoveredFeatureByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Native layer states listening to each image's load and error events.
3
+ *
4
+ * @type {WeakMap<HTMLImageElement, Set>}
5
+ */
1
6
  export const imageStates = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Number of source area requests currently running for each layer.
3
+ *
4
+ * @type {WeakMap<Object, number>}
5
+ */
1
6
  export const inflightByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Internal layer kind used to route lifecycle and rendering operations.
3
+ *
4
+ * @type {WeakMap<Object, string>}
5
+ */
1
6
  export const kindByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Scene layers attached to each shared renderer owner.
3
+ *
4
+ * @type {WeakMap<Object, Set>}
5
+ */
1
6
  export const layersByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Number of raster tile requests currently loading for each layer.
3
+ *
4
+ * @type {WeakMap<Object, number>}
5
+ */
1
6
  export const loadingTilesByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Geographic origin used for a layer's local coordinates.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const locationByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Loaded model scene nodes keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const modelByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Model source URLs keyed by layer, or null for non-model sources.
3
+ *
4
+ * @type {WeakMap<Object, string|null>}
5
+ */
1
6
  export const modelUrlByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Shared native layer event dispatch contexts keyed by map.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const nativeEventMaps = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Backmost native rendering order counters keyed by map.
3
+ *
4
+ * @type {WeakMap<Object, number>}
5
+ */
1
6
  export const nativeGPUBackByMap = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Native GPU rendering state keyed by the original Leaflet layer.
3
+ *
4
+ * @type {WeakMap<Object, Object|null>}
5
+ */
1
6
  export const nativeGPUByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Frontmost native rendering order counters keyed by map.
3
+ *
4
+ * @type {WeakMap<Object, number>}
5
+ */
1
6
  export const nativeGPUOrderByMap = new WeakMap();
@@ -1 +1,6 @@
1
- export const nativeProgramsByRenderer = new WeakMap();
1
+ /**
2
+ * Cached native material program templates keyed by renderer.
3
+ *
4
+ * @type {WeakMap<Object, Map>}
5
+ */
6
+ export const nativeProgramsByRenderer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Native rendering state keyed by its GPU backend layer.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const nativeRenderByLayer = new WeakMap();
@@ -1 +1,6 @@
1
- export const pathProjectionByMap = new WeakMap();
1
+ /**
2
+ * Cached native path projection state keyed by map.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
6
+ export const pathProjectionByMap = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Sky DOM elements displayed behind pitched map views.
3
+ *
4
+ * @type {WeakMap<Object, HTMLElement>}
5
+ */
1
6
  export const pitchSkyByMap = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Container pointer event handlers registered for each layer.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const pointerEventsByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Earliest time to revisit raster tile pruning, keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, number>}
5
+ */
1
6
  export const pruneAfterByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Raster revisions observed during the last tile pruning pass.
3
+ *
4
+ * @type {WeakMap<Object, number>}
5
+ */
1
6
  export const pruneVersionByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Wanted tile sets observed during the last raster pruning pass.
3
+ *
4
+ * @type {WeakMap<Object, Set>}
5
+ */
1
6
  export const pruneWantedByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Flags indicating whether a map change update is queued for a layer.
3
+ *
4
+ * @type {WeakMap<Object, boolean>}
5
+ */
1
6
  export const queuedByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Shared raster tile geometry keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, Object|null>}
5
+ */
1
6
  export const rasterGeometryByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Cached raster rendering programs keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, Object|null>}
5
+ */
1
6
  export const rasterProgramByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Raster or terrain tile entries and meshes keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, Map>}
5
+ */
1
6
  export const rasterTilesByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Revisions of raster tile content keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, number>}
5
+ */
1
6
  export const rasterVersionByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Reusable picking ray and mesh state keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const raycasterByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Layer initialization promises keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, Promise>}
5
+ */
1
6
  export const readyByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * GPU renderer state associated with each scene layer.
3
+ *
4
+ * @type {WeakMap<Object, Object|null>}
5
+ */
1
6
  export const rendererByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Maps owning GPU devices, used to route device errors and loss events.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const rendererDevices = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Deferred shared renderer readiness promises and resolvers keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const rendererReadyByLayer = new WeakMap();
@@ -1,2 +1,7 @@
1
1
  /** Rendering owner per map; entries are removed on the last layer removal. */
2
+ /**
3
+ * Shared renderer owner layers keyed by map.
4
+ *
5
+ * @type {WeakMap<Object, Object>}
6
+ */
2
7
  export const renderers = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Composited roof raster atlas state keyed by renderer owner.
3
+ *
4
+ * @type {WeakMap<Object, Object|null>}
5
+ */
1
6
  export const roofRasterByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Raster layers considered for the roof atlas, keyed by renderer owner.
3
+ *
4
+ * @type {WeakMap<Object, Array>}
5
+ */
1
6
  export const roofRastersByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Root scene graph nodes keyed by layer.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const rootByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Rotation controls associated with maps.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const rotateControlByMap = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Shared scene graph roots associated with each layer.
3
+ *
4
+ * @type {WeakMap<Object, Object|null>}
5
+ */
1
6
  export const sceneByLayer = new WeakMap();
@@ -77,6 +77,11 @@ import { zoomLevelByLayer } from './zoomLevelByLayer.js';
77
77
  import { zoomTransitionsByLayer } from './zoomTransitionsByLayer.js';
78
78
  import { zoomViewByLayer } from './zoomViewByLayer.js';
79
79
 
80
+ /**
81
+ * Index scene state maps by their lifecycle and compatibility field names.
82
+ *
83
+ * @type {Object<string, WeakMap>}
84
+ */
80
85
  export const sceneFields = {
81
86
  "_3d": state3dByLayer,
82
87
  "_added": addedByLayer,
@@ -1 +1,6 @@
1
+ /**
2
+ * Layers initialized with the scene layer contract.
3
+ *
4
+ * @type {WeakSet<Object>}
5
+ */
1
6
  export const sceneLayers = new WeakSet();
@@ -1 +1,6 @@
1
+ /**
2
+ * Geographic origins of shared renderer scenes keyed by their owner layer.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const sceneOriginByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Reusable lists of shadow-casting scene meshes keyed by renderer owner.
3
+ *
4
+ * @type {WeakMap<Object, Array>}
5
+ */
1
6
  export const shadowMeshesByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Shared renderer owner associated with each scene layer.
3
+ *
4
+ * @type {WeakMap<Object, Object|null>}
5
+ */
1
6
  export const sharedByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Last renderer viewport sizes keyed by owner layer.
3
+ *
4
+ * @type {WeakMap<Object, Object|null>}
5
+ */
1
6
  export const sizeByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Flags identifying layers initialized as 3D scene sources.
3
+ *
4
+ * @type {WeakMap<Object, boolean>}
5
+ */
1
6
  export const state3dByLayer = new WeakMap();
@@ -1 +1,6 @@
1
- export const streamTerrainByLayer = new WeakMap();
1
+ /**
2
+ * Flags identifying terrain layers backed by streaming tile callbacks.
3
+ *
4
+ * @type {WeakMap<Object, boolean>}
5
+ */
6
+ export const streamTerrainByLayer = new WeakMap();
@@ -1 +1,6 @@
1
- export const streamTerrainByMap = new WeakMap();
1
+ /**
2
+ * Active streamed terrain state keyed by map.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
6
+ export const streamTerrainByMap = new WeakMap();
@@ -1 +1,6 @@
1
- export const sunByMap = new WeakMap();
1
+ /**
2
+ * Shared sunlight control state keyed by map.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
6
+ export const sunByMap = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Shared sunlight state associated with each sunlight control.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const sunlightByControl = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Current sunlight parameters keyed by map.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const sunlightByMap = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Terrain layers receiving each raster layer's tiles.
3
+ *
4
+ * @type {WeakMap<Object, Object|null>}
5
+ */
1
6
  export const terrain3DByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Active 3D terrain layer keyed by map.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const terrain3DByMap = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Elevation source archives keyed by terrain layer.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const terrainArchiveByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Baseline root heights before terrain elevation is applied to each layer.
3
+ *
4
+ * @type {WeakMap<Object, number>}
5
+ */
1
6
  export const terrainBaseYByLayer = new WeakMap();
@@ -1 +1,6 @@
1
+ /**
2
+ * Tile bounds of the loaded elevation grid keyed by terrain layer.
3
+ *
4
+ * @type {WeakMap<Object, Object>}
5
+ */
1
6
  export const terrainBoundsByLayer = new WeakMap();