astro-viewer 3.3.0 → 3.7.0

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 (388) hide show
  1. package/DEPENDENCY-LICENSING.md +185 -0
  2. package/LICENSE-AGPL.md +661 -0
  3. package/LICENSE-COMMERCIAL.md +37 -0
  4. package/LICENSE.md +52 -13
  5. package/README.md +39 -16
  6. package/dist/64.astroviewer.cjs +37 -0
  7. package/dist/64.astroviewer.cjs.map +1 -0
  8. package/dist/64.astroviewer.js +41 -0
  9. package/dist/64.astroviewer.js.map +1 -0
  10. package/dist/64.astroviewer.min.js +2 -0
  11. package/dist/64.astroviewer.min.js.map +1 -0
  12. package/dist/911.astroviewer.cjs +4047 -0
  13. package/dist/911.astroviewer.cjs.map +1 -0
  14. package/dist/911.astroviewer.js +735 -0
  15. package/dist/911.astroviewer.js.map +1 -0
  16. package/dist/911.astroviewer.min.js +2 -0
  17. package/dist/911.astroviewer.min.js.map +1 -0
  18. package/dist/astroviewer.cjs +17550 -18845
  19. package/dist/astroviewer.cjs.map +1 -0
  20. package/dist/astroviewer.js +21710 -1
  21. package/dist/astroviewer.js.map +1 -0
  22. package/dist/astroviewer.min.js +2 -1
  23. package/dist/astroviewer.min.js.map +1 -0
  24. package/lib-esm/AstroSphere.d.ts +20 -2
  25. package/lib-esm/AstroSphere.d.ts.map +1 -0
  26. package/lib-esm/AstroSphere.js +81 -36
  27. package/lib-esm/AstroSphere.js.map +1 -0
  28. package/lib-esm/AstroViewer.d.ts +44 -20
  29. package/lib-esm/AstroViewer.d.ts.map +1 -0
  30. package/lib-esm/AstroViewer.js +148 -76
  31. package/lib-esm/AstroViewer.js.map +1 -0
  32. package/lib-esm/Camera.d.ts +1 -0
  33. package/lib-esm/Camera.d.ts.map +1 -0
  34. package/lib-esm/Camera.js +5 -6
  35. package/lib-esm/Camera.js.map +1 -0
  36. package/lib-esm/Config.d.ts +1 -0
  37. package/lib-esm/Config.d.ts.map +1 -0
  38. package/lib-esm/Config.js +5 -6
  39. package/lib-esm/Config.js.map +1 -0
  40. package/lib-esm/Global.d.ts +2 -1
  41. package/lib-esm/Global.d.ts.map +1 -0
  42. package/lib-esm/Global.js +6 -7
  43. package/lib-esm/Global.js.map +1 -0
  44. package/lib-esm/index.d.ts +11 -0
  45. package/lib-esm/index.d.ts.map +1 -0
  46. package/lib-esm/index.js +9 -6
  47. package/lib-esm/index.js.map +1 -0
  48. package/lib-esm/model/AbstractSkyEntity.d.ts +1 -0
  49. package/lib-esm/model/AbstractSkyEntity.d.ts.map +1 -0
  50. package/lib-esm/model/AbstractSkyEntity.js +5 -6
  51. package/lib-esm/model/AbstractSkyEntity.js.map +1 -0
  52. package/lib-esm/model/AstroGL.d.ts +1 -0
  53. package/lib-esm/model/AstroGL.d.ts.map +1 -0
  54. package/lib-esm/model/AstroGL.js +5 -6
  55. package/lib-esm/model/AstroGL.js.map +1 -0
  56. package/lib-esm/model/ColorMaps.d.ts +1 -0
  57. package/lib-esm/model/ColorMaps.d.ts.map +1 -0
  58. package/lib-esm/model/ColorMaps.js +5 -6
  59. package/lib-esm/model/ColorMaps.js.map +1 -0
  60. package/lib-esm/model/MetadataColumn.d.ts +1 -0
  61. package/lib-esm/model/MetadataColumn.d.ts.map +1 -0
  62. package/lib-esm/model/MetadataColumn.js +5 -6
  63. package/lib-esm/model/MetadataColumn.js.map +1 -0
  64. package/lib-esm/model/MetadataManager.d.ts +1 -0
  65. package/lib-esm/model/MetadataManager.d.ts.map +1 -0
  66. package/lib-esm/model/MetadataManager.js +5 -6
  67. package/lib-esm/model/MetadataManager.js.map +1 -0
  68. package/lib-esm/model/Point.d.ts +1 -0
  69. package/lib-esm/model/Point.d.ts.map +1 -0
  70. package/lib-esm/model/Point.js +5 -6
  71. package/lib-esm/model/Point.js.map +1 -0
  72. package/lib-esm/model/Point2D.d.ts +1 -0
  73. package/lib-esm/model/Point2D.d.ts.map +1 -0
  74. package/lib-esm/model/Point2D.js +5 -6
  75. package/lib-esm/model/Point2D.js.map +1 -0
  76. package/lib-esm/model/Source.d.ts +1 -0
  77. package/lib-esm/model/Source.d.ts.map +1 -0
  78. package/lib-esm/model/Source.js +6 -7
  79. package/lib-esm/model/Source.js.map +1 -0
  80. package/lib-esm/model/SphereFoV.d.ts +1 -0
  81. package/lib-esm/model/SphereFoV.d.ts.map +1 -0
  82. package/lib-esm/model/SphereFoV.js +5 -6
  83. package/lib-esm/model/SphereFoV.js.map +1 -0
  84. package/lib-esm/model/catalogues/CatalogueGL.d.ts +1 -0
  85. package/lib-esm/model/catalogues/CatalogueGL.d.ts.map +1 -0
  86. package/lib-esm/model/catalogues/CatalogueGL.js +5 -6
  87. package/lib-esm/model/catalogues/CatalogueGL.js.map +1 -0
  88. package/lib-esm/model/catalogues/CatalogueProps.d.ts +1 -0
  89. package/lib-esm/model/catalogues/CatalogueProps.d.ts.map +1 -0
  90. package/lib-esm/model/catalogues/CatalogueProps.js +5 -6
  91. package/lib-esm/model/catalogues/CatalogueProps.js.map +1 -0
  92. package/lib-esm/model/earth/WMTSAdapter.d.ts +1 -0
  93. package/lib-esm/model/earth/WMTSAdapter.d.ts.map +1 -0
  94. package/lib-esm/model/earth/WMTSAdapter.js +5 -6
  95. package/lib-esm/model/earth/WMTSAdapter.js.map +1 -0
  96. package/lib-esm/model/earth/XYZAnchestorTile.d.ts +1 -0
  97. package/lib-esm/model/earth/XYZAnchestorTile.d.ts.map +1 -0
  98. package/lib-esm/model/earth/XYZAnchestorTile.js +5 -6
  99. package/lib-esm/model/earth/XYZAnchestorTile.js.map +1 -0
  100. package/lib-esm/model/earth/XYZConfig.d.ts +1 -0
  101. package/lib-esm/model/earth/XYZConfig.d.ts.map +1 -0
  102. package/lib-esm/model/earth/XYZConfig.js +5 -6
  103. package/lib-esm/model/earth/XYZConfig.js.map +1 -0
  104. package/lib-esm/model/earth/XYZFoVHelper.d.ts +1 -0
  105. package/lib-esm/model/earth/XYZFoVHelper.d.ts.map +1 -0
  106. package/lib-esm/model/earth/XYZFoVHelper.js +5 -6
  107. package/lib-esm/model/earth/XYZFoVHelper.js.map +1 -0
  108. package/lib-esm/model/earth/XYZMap.d.ts +3 -1
  109. package/lib-esm/model/earth/XYZMap.d.ts.map +1 -0
  110. package/lib-esm/model/earth/XYZMap.js +7 -8
  111. package/lib-esm/model/earth/XYZMap.js.map +1 -0
  112. package/lib-esm/model/earth/XYZMapDescriptor.d.ts +1 -0
  113. package/lib-esm/model/earth/XYZMapDescriptor.d.ts.map +1 -0
  114. package/lib-esm/model/earth/XYZMapDescriptor.js +5 -6
  115. package/lib-esm/model/earth/XYZMapDescriptor.js.map +1 -0
  116. package/lib-esm/model/earth/XYZMeshBuilder.d.ts +1 -0
  117. package/lib-esm/model/earth/XYZMeshBuilder.d.ts.map +1 -0
  118. package/lib-esm/model/earth/XYZMeshBuilder.js +5 -6
  119. package/lib-esm/model/earth/XYZMeshBuilder.js.map +1 -0
  120. package/lib-esm/model/earth/XYZTile.d.ts +1 -0
  121. package/lib-esm/model/earth/XYZTile.d.ts.map +1 -0
  122. package/lib-esm/model/earth/XYZTile.js +5 -6
  123. package/lib-esm/model/earth/XYZTile.js.map +1 -0
  124. package/lib-esm/model/earth/XYZTileBuffer.d.ts +1 -0
  125. package/lib-esm/model/earth/XYZTileBuffer.d.ts.map +1 -0
  126. package/lib-esm/model/earth/XYZTileBuffer.js +5 -6
  127. package/lib-esm/model/earth/XYZTileBuffer.js.map +1 -0
  128. package/lib-esm/model/earth/XYZTileRequestScheduler.d.ts +1 -0
  129. package/lib-esm/model/earth/XYZTileRequestScheduler.d.ts.map +1 -0
  130. package/lib-esm/model/earth/XYZTileRequestScheduler.js +5 -6
  131. package/lib-esm/model/earth/XYZTileRequestScheduler.js.map +1 -0
  132. package/lib-esm/model/earth/XYZTypes.d.ts +1 -0
  133. package/lib-esm/model/earth/XYZTypes.d.ts.map +1 -0
  134. package/lib-esm/model/earth/XYZTypes.js +5 -6
  135. package/lib-esm/model/earth/XYZTypes.js.map +1 -0
  136. package/lib-esm/model/earth/XYZVisibleTilesManager.d.ts +1 -0
  137. package/lib-esm/model/earth/XYZVisibleTilesManager.d.ts.map +1 -0
  138. package/lib-esm/model/earth/XYZVisibleTilesManager.js +5 -6
  139. package/lib-esm/model/earth/XYZVisibleTilesManager.js.map +1 -0
  140. package/lib-esm/model/footprints/Footprint.d.ts +1 -0
  141. package/lib-esm/model/footprints/Footprint.d.ts.map +1 -0
  142. package/lib-esm/model/footprints/Footprint.js +5 -9
  143. package/lib-esm/model/footprints/Footprint.js.map +1 -0
  144. package/lib-esm/model/footprints/FootprintProps.d.ts +1 -0
  145. package/lib-esm/model/footprints/FootprintProps.d.ts.map +1 -0
  146. package/lib-esm/model/footprints/FootprintProps.js +5 -6
  147. package/lib-esm/model/footprints/FootprintProps.js.map +1 -0
  148. package/lib-esm/model/footprints/FootprintSetGL.d.ts +1 -0
  149. package/lib-esm/model/footprints/FootprintSetGL.d.ts.map +1 -0
  150. package/lib-esm/model/footprints/FootprintSetGL.js +5 -6
  151. package/lib-esm/model/footprints/FootprintSetGL.js.map +1 -0
  152. package/lib-esm/model/grid/EquatorialGrid.d.ts +3 -1
  153. package/lib-esm/model/grid/EquatorialGrid.d.ts.map +1 -0
  154. package/lib-esm/model/grid/EquatorialGrid.js +8 -8
  155. package/lib-esm/model/grid/EquatorialGrid.js.map +1 -0
  156. package/lib-esm/model/grid/GridTextHelper.d.ts +13 -4
  157. package/lib-esm/model/grid/GridTextHelper.d.ts.map +1 -0
  158. package/lib-esm/model/grid/GridTextHelper.js +72 -30
  159. package/lib-esm/model/grid/GridTextHelper.js.map +1 -0
  160. package/lib-esm/model/grid/HealpixGrid.d.ts +3 -1
  161. package/lib-esm/model/grid/HealpixGrid.d.ts.map +1 -0
  162. package/lib-esm/model/grid/HealpixGrid.js +8 -8
  163. package/lib-esm/model/grid/HealpixGrid.js.map +1 -0
  164. package/lib-esm/model/grid/LonLatGrid.d.ts +3 -1
  165. package/lib-esm/model/grid/LonLatGrid.d.ts.map +1 -0
  166. package/lib-esm/model/grid/LonLatGrid.js +8 -8
  167. package/lib-esm/model/grid/LonLatGrid.js.map +1 -0
  168. package/lib-esm/model/hips/AllSky.d.ts +8 -3
  169. package/lib-esm/model/hips/AllSky.d.ts.map +1 -0
  170. package/lib-esm/model/hips/AllSky.js +98 -34
  171. package/lib-esm/model/hips/AllSky.js.map +1 -0
  172. package/lib-esm/model/hips/AncestorTile.d.ts +8 -4
  173. package/lib-esm/model/hips/AncestorTile.d.ts.map +1 -0
  174. package/lib-esm/model/hips/AncestorTile.js +96 -58
  175. package/lib-esm/model/hips/AncestorTile.js.map +1 -0
  176. package/lib-esm/model/hips/FitsTileLoader.d.ts +9 -0
  177. package/lib-esm/model/hips/FitsTileLoader.d.ts.map +1 -0
  178. package/lib-esm/model/hips/FitsTileLoader.js +65 -0
  179. package/lib-esm/model/hips/FitsTileLoader.js.map +1 -0
  180. package/lib-esm/model/hips/FoVHelper.d.ts +1 -0
  181. package/lib-esm/model/hips/FoVHelper.d.ts.map +1 -0
  182. package/lib-esm/model/hips/FoVHelper.js +5 -6
  183. package/lib-esm/model/hips/FoVHelper.js.map +1 -0
  184. package/lib-esm/model/hips/HiPS.d.ts +10 -5
  185. package/lib-esm/model/hips/HiPS.d.ts.map +1 -0
  186. package/lib-esm/model/hips/HiPS.js +125 -78
  187. package/lib-esm/model/hips/HiPS.js.map +1 -0
  188. package/lib-esm/model/hips/HiPSConfig.d.ts +1 -0
  189. package/lib-esm/model/hips/HiPSConfig.d.ts.map +1 -0
  190. package/lib-esm/model/hips/HiPSConfig.js +1 -0
  191. package/lib-esm/model/hips/HiPSConfig.js.map +1 -0
  192. package/lib-esm/model/hips/HiPSCoverage.d.ts +15 -0
  193. package/lib-esm/model/hips/HiPSCoverage.d.ts.map +1 -0
  194. package/lib-esm/model/hips/HiPSCoverage.js +148 -0
  195. package/lib-esm/model/hips/HiPSCoverage.js.map +1 -0
  196. package/lib-esm/model/hips/HiPSDescriptor.d.ts +1 -0
  197. package/lib-esm/model/hips/HiPSDescriptor.d.ts.map +1 -0
  198. package/lib-esm/model/hips/HiPSDescriptor.js +5 -6
  199. package/lib-esm/model/hips/HiPSDescriptor.js.map +1 -0
  200. package/lib-esm/model/hips/Tile.d.ts +9 -4
  201. package/lib-esm/model/hips/Tile.d.ts.map +1 -0
  202. package/lib-esm/model/hips/Tile.js +116 -61
  203. package/lib-esm/model/hips/Tile.js.map +1 -0
  204. package/lib-esm/model/hips/TileBuffer.d.ts +14 -4
  205. package/lib-esm/model/hips/TileBuffer.d.ts.map +1 -0
  206. package/lib-esm/model/hips/TileBuffer.js +51 -17
  207. package/lib-esm/model/hips/TileBuffer.js.map +1 -0
  208. package/lib-esm/model/hips/VisibleTilesManager.d.ts +6 -5
  209. package/lib-esm/model/hips/VisibleTilesManager.d.ts.map +1 -0
  210. package/lib-esm/model/hips/VisibleTilesManager.js +11 -26
  211. package/lib-esm/model/hips/VisibleTilesManager.js.map +1 -0
  212. package/lib-esm/model/meships/MeshHiPS.d.ts +1 -0
  213. package/lib-esm/model/meships/MeshHiPS.d.ts.map +1 -0
  214. package/lib-esm/model/meships/MeshHiPS.js +1 -0
  215. package/lib-esm/model/meships/MeshHiPS.js.map +1 -0
  216. package/lib-esm/model/meships/MeshHiPSDescriptor.d.ts +1 -0
  217. package/lib-esm/model/meships/MeshHiPSDescriptor.d.ts.map +1 -0
  218. package/lib-esm/model/meships/MeshHiPSDescriptor.js +1 -0
  219. package/lib-esm/model/meships/MeshHiPSDescriptor.js.map +1 -0
  220. package/lib-esm/model/meships/MeshHiPSTile.d.ts +1 -0
  221. package/lib-esm/model/meships/MeshHiPSTile.d.ts.map +1 -0
  222. package/lib-esm/model/meships/MeshHiPSTile.js +1 -0
  223. package/lib-esm/model/meships/MeshHiPSTile.js.map +1 -0
  224. package/lib-esm/model/meships/MeshHiPSTypes.d.ts +1 -0
  225. package/lib-esm/model/meships/MeshHiPSTypes.d.ts.map +1 -0
  226. package/lib-esm/model/meships/MeshHiPSTypes.js +1 -0
  227. package/lib-esm/model/meships/MeshHiPSTypes.js.map +1 -0
  228. package/lib-esm/model/meships/OBJMeshParser.d.ts +15 -2
  229. package/lib-esm/model/meships/OBJMeshParser.d.ts.map +1 -0
  230. package/lib-esm/model/meships/OBJMeshParser.js +162 -45
  231. package/lib-esm/model/meships/OBJMeshParser.js.map +1 -0
  232. package/lib-esm/model/observation/ObservationTrackTimeline.d.ts +26 -0
  233. package/lib-esm/model/observation/ObservationTrackTimeline.d.ts.map +1 -0
  234. package/lib-esm/model/observation/ObservationTrackTimeline.js +232 -0
  235. package/lib-esm/model/observation/ObservationTrackTimeline.js.map +1 -0
  236. package/lib-esm/model/observation/ObservationTrackTypes.d.ts +130 -0
  237. package/lib-esm/model/observation/ObservationTrackTypes.d.ts.map +1 -0
  238. package/lib-esm/model/observation/ObservationTrackTypes.js +2 -0
  239. package/lib-esm/model/observation/ObservationTrackTypes.js.map +1 -0
  240. package/lib-esm/model/observation/ObservationTrackViewerAdapter.d.ts +12 -0
  241. package/lib-esm/model/observation/ObservationTrackViewerAdapter.d.ts.map +1 -0
  242. package/lib-esm/model/observation/ObservationTrackViewerAdapter.js +328 -0
  243. package/lib-esm/model/observation/ObservationTrackViewerAdapter.js.map +1 -0
  244. package/lib-esm/model/observation/index.d.ts +4 -0
  245. package/lib-esm/model/observation/index.d.ts.map +1 -0
  246. package/lib-esm/model/observation/index.js +3 -0
  247. package/lib-esm/model/observation/index.js.map +1 -0
  248. package/lib-esm/model/tap/TapMetadata.d.ts +1 -0
  249. package/lib-esm/model/tap/TapMetadata.d.ts.map +1 -0
  250. package/lib-esm/model/tap/TapMetadata.js +5 -6
  251. package/lib-esm/model/tap/TapMetadata.js.map +1 -0
  252. package/lib-esm/model/tap/TapMetadataList.d.ts +1 -0
  253. package/lib-esm/model/tap/TapMetadataList.d.ts.map +1 -0
  254. package/lib-esm/model/tap/TapMetadataList.js +5 -6
  255. package/lib-esm/model/tap/TapMetadataList.js.map +1 -0
  256. package/lib-esm/model/tap/TapRepo.d.ts +1 -0
  257. package/lib-esm/model/tap/TapRepo.d.ts.map +1 -0
  258. package/lib-esm/model/tap/TapRepo.js +5 -6
  259. package/lib-esm/model/tap/TapRepo.js.map +1 -0
  260. package/lib-esm/model/terra/SatelliteObjectGL.d.ts +43 -0
  261. package/lib-esm/model/terra/SatelliteObjectGL.d.ts.map +1 -0
  262. package/lib-esm/model/terra/SatelliteObjectGL.js +221 -0
  263. package/lib-esm/model/terra/SatelliteObjectGL.js.map +1 -0
  264. package/lib-esm/model/terra/SensorConeGL.d.ts +34 -0
  265. package/lib-esm/model/terra/SensorConeGL.d.ts.map +1 -0
  266. package/lib-esm/model/terra/SensorConeGL.js +193 -0
  267. package/lib-esm/model/terra/SensorConeGL.js.map +1 -0
  268. package/lib-esm/model/terra/TerraFootprintSetGL.d.ts +1 -0
  269. package/lib-esm/model/terra/TerraFootprintSetGL.d.ts.map +1 -0
  270. package/lib-esm/model/terra/TerraFootprintSetGL.js +5 -6
  271. package/lib-esm/model/terra/TerraFootprintSetGL.js.map +1 -0
  272. package/lib-esm/model/terra/TerraPointSetGL.d.ts +1 -0
  273. package/lib-esm/model/terra/TerraPointSetGL.d.ts.map +1 -0
  274. package/lib-esm/model/terra/TerraPointSetGL.js +5 -6
  275. package/lib-esm/model/terra/TerraPointSetGL.js.map +1 -0
  276. package/lib-esm/model/terra/TerraPolylineSetGL.d.ts +45 -0
  277. package/lib-esm/model/terra/TerraPolylineSetGL.d.ts.map +1 -0
  278. package/lib-esm/model/terra/TerraPolylineSetGL.js +178 -0
  279. package/lib-esm/model/terra/TerraPolylineSetGL.js.map +1 -0
  280. package/lib-esm/services/SesameService.d.ts +1 -0
  281. package/lib-esm/services/SesameService.d.ts.map +1 -0
  282. package/lib-esm/services/SesameService.js +5 -6
  283. package/lib-esm/services/SesameService.js.map +1 -0
  284. package/lib-esm/services/helpers.d.ts +1 -0
  285. package/lib-esm/services/helpers.d.ts.map +1 -0
  286. package/lib-esm/services/helpers.js +5 -6
  287. package/lib-esm/services/helpers.js.map +1 -0
  288. package/lib-esm/services/hipsNodeService.d.ts +1 -0
  289. package/lib-esm/services/hipsNodeService.d.ts.map +1 -0
  290. package/lib-esm/services/hipsNodeService.js +5 -6
  291. package/lib-esm/services/hipsNodeService.js.map +1 -0
  292. package/lib-esm/services/parse-hipslist.d.ts +1 -0
  293. package/lib-esm/services/parse-hipslist.d.ts.map +1 -0
  294. package/lib-esm/services/parse-hipslist.js +5 -6
  295. package/lib-esm/services/parse-hipslist.js.map +1 -0
  296. package/lib-esm/services/queryCatalogueByFoV.d.ts +1 -0
  297. package/lib-esm/services/queryCatalogueByFoV.d.ts.map +1 -0
  298. package/lib-esm/services/queryCatalogueByFoV.js +5 -6
  299. package/lib-esm/services/queryCatalogueByFoV.js.map +1 -0
  300. package/lib-esm/services/queryFootprintSetByFov.d.ts +1 -0
  301. package/lib-esm/services/queryFootprintSetByFov.d.ts.map +1 -0
  302. package/lib-esm/services/queryFootprintSetByFov.js +5 -6
  303. package/lib-esm/services/queryFootprintSetByFov.js.map +1 -0
  304. package/lib-esm/services/tapRepoService.d.ts +1 -0
  305. package/lib-esm/services/tapRepoService.d.ts.map +1 -0
  306. package/lib-esm/services/tapRepoService.js +5 -6
  307. package/lib-esm/services/tapRepoService.js.map +1 -0
  308. package/lib-esm/services/types.d.ts +1 -0
  309. package/lib-esm/services/types.d.ts.map +1 -0
  310. package/lib-esm/services/types.js +5 -6
  311. package/lib-esm/services/types.js.map +1 -0
  312. package/lib-esm/shader/CatalogueShaderProgram.d.ts +1 -0
  313. package/lib-esm/shader/CatalogueShaderProgram.d.ts.map +1 -0
  314. package/lib-esm/shader/CatalogueShaderProgram.js +5 -6
  315. package/lib-esm/shader/CatalogueShaderProgram.js.map +1 -0
  316. package/lib-esm/shader/FootprintShaderProgram.d.ts +1 -0
  317. package/lib-esm/shader/FootprintShaderProgram.d.ts.map +1 -0
  318. package/lib-esm/shader/FootprintShaderProgram.js +5 -6
  319. package/lib-esm/shader/FootprintShaderProgram.js.map +1 -0
  320. package/lib-esm/shader/GridShaderManager.d.ts +1 -0
  321. package/lib-esm/shader/GridShaderManager.d.ts.map +1 -0
  322. package/lib-esm/shader/GridShaderManager.js +5 -6
  323. package/lib-esm/shader/GridShaderManager.js.map +1 -0
  324. package/lib-esm/shader/HiPSShaderProgram.d.ts +10 -2
  325. package/lib-esm/shader/HiPSShaderProgram.d.ts.map +1 -0
  326. package/lib-esm/shader/HiPSShaderProgram.js +96 -59
  327. package/lib-esm/shader/HiPSShaderProgram.js.map +1 -0
  328. package/lib-esm/shader/MeshHiPSShaderProgram.d.ts +7 -1
  329. package/lib-esm/shader/MeshHiPSShaderProgram.d.ts.map +1 -0
  330. package/lib-esm/shader/MeshHiPSShaderProgram.js +10 -3
  331. package/lib-esm/shader/MeshHiPSShaderProgram.js.map +1 -0
  332. package/lib-esm/shader/ShaderManager.d.ts +3 -0
  333. package/lib-esm/shader/ShaderManager.d.ts.map +1 -0
  334. package/lib-esm/shader/ShaderManager.js +198 -100
  335. package/lib-esm/shader/ShaderManager.js.map +1 -0
  336. package/lib-esm/shader/ShaderManagerMutliHiPS.d.ts +1 -0
  337. package/lib-esm/shader/ShaderManagerMutliHiPS.d.ts.map +1 -0
  338. package/lib-esm/shader/ShaderManagerMutliHiPS.js +5 -6
  339. package/lib-esm/shader/ShaderManagerMutliHiPS.js.map +1 -0
  340. package/lib-esm/shader/XYZShaderProgram.d.ts +1 -0
  341. package/lib-esm/shader/XYZShaderProgram.d.ts.map +1 -0
  342. package/lib-esm/shader/XYZShaderProgram.js +5 -6
  343. package/lib-esm/shader/XYZShaderProgram.js.map +1 -0
  344. package/lib-esm/utils/CoordsType.d.ts +1 -0
  345. package/lib-esm/utils/CoordsType.d.ts.map +1 -0
  346. package/lib-esm/utils/CoordsType.js +5 -6
  347. package/lib-esm/utils/CoordsType.js.map +1 -0
  348. package/lib-esm/utils/FoVUtils.d.ts +1 -0
  349. package/lib-esm/utils/FoVUtils.d.ts.map +1 -0
  350. package/lib-esm/utils/FoVUtils.js +5 -6
  351. package/lib-esm/utils/FoVUtils.js.map +1 -0
  352. package/lib-esm/utils/GeoJSONParser.d.ts +1 -0
  353. package/lib-esm/utils/GeoJSONParser.d.ts.map +1 -0
  354. package/lib-esm/utils/GeoJSONParser.js +5 -6
  355. package/lib-esm/utils/GeoJSONParser.js.map +1 -0
  356. package/lib-esm/utils/GeomUtils.d.ts +1 -0
  357. package/lib-esm/utils/GeomUtils.d.ts.map +1 -0
  358. package/lib-esm/utils/GeomUtils.js +5 -6
  359. package/lib-esm/utils/GeomUtils.js.map +1 -0
  360. package/lib-esm/utils/MouseHelper.d.ts +1 -0
  361. package/lib-esm/utils/MouseHelper.d.ts.map +1 -0
  362. package/lib-esm/utils/MouseHelper.js +6 -7
  363. package/lib-esm/utils/MouseHelper.js.map +1 -0
  364. package/lib-esm/utils/PerspectiveMatrixManager.d.ts +1 -0
  365. package/lib-esm/utils/PerspectiveMatrixManager.d.ts.map +1 -0
  366. package/lib-esm/utils/PerspectiveMatrixManager.js +5 -6
  367. package/lib-esm/utils/PerspectiveMatrixManager.js.map +1 -0
  368. package/lib-esm/utils/RayPickingUtils.d.ts +1 -0
  369. package/lib-esm/utils/RayPickingUtils.d.ts.map +1 -0
  370. package/lib-esm/utils/RayPickingUtils.js +5 -6
  371. package/lib-esm/utils/RayPickingUtils.js.map +1 -0
  372. package/lib-esm/utils/STCSParser.d.ts +1 -0
  373. package/lib-esm/utils/STCSParser.d.ts.map +1 -0
  374. package/lib-esm/utils/STCSParser.js +5 -6
  375. package/lib-esm/utils/STCSParser.js.map +1 -0
  376. package/lib-esm/utils/ShaderUtility.d.ts +1 -0
  377. package/lib-esm/utils/ShaderUtility.d.ts.map +1 -0
  378. package/lib-esm/utils/ShaderUtility.js +5 -6
  379. package/lib-esm/utils/ShaderUtility.js.map +1 -0
  380. package/lib-esm/utils/Utils.d.ts +1 -0
  381. package/lib-esm/utils/Utils.d.ts.map +1 -0
  382. package/lib-esm/utils/Utils.js +5 -6
  383. package/lib-esm/utils/Utils.js.map +1 -0
  384. package/lib-esm/utils/XYZRayPickingUtils.d.ts +1 -0
  385. package/lib-esm/utils/XYZRayPickingUtils.d.ts.map +1 -0
  386. package/lib-esm/utils/XYZRayPickingUtils.js +5 -6
  387. package/lib-esm/utils/XYZRayPickingUtils.js.map +1 -0
  388. package/package.json +39 -22
@@ -1,14 +1,12 @@
1
1
  /*
2
2
  * AstroViewer
3
3
  * Copyright (C) Fabrizio Giordano
4
- * SPDX-License-Identifier: LicenseRef-AstroViewer-Dual-License
4
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-AstroViewer-Commercial
5
5
  *
6
- * This file is part of AstroViewer.
7
- * AstroViewer is distributed under a dual-license model.
8
- * Commercial use requires a separate commercial license.
9
- * Non-commercial use is governed by LICENSE-NONCOMMERCIAL.md.
6
+ * AstroViewer is dual-licensed under the GNU Affero General Public License
7
+ * version 3 and a separate commercial license.
10
8
  *
11
- * See LICENSE.md, LICENSE-COMMERCIAL.md, and LICENSE-NONCOMMERCIAL.md for details.
9
+ * See LICENSE.md, LICENSE-AGPL.md, and LICENSE-COMMERCIAL.md for details.
12
10
  */
13
11
  // GridShaderManager.ts
14
12
  'use strict';
@@ -38,3 +36,4 @@ class GridShaderManager {
38
36
  }
39
37
  }
40
38
  export default GridShaderManager;
39
+ //# sourceMappingURL=GridShaderManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridShaderManager.js","sourceRoot":"","sources":["../../src/shader/GridShaderManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,uBAAuB;AACvB,YAAY,CAAA;AAEZ,MAAM,iBAAiB;IACrB,MAAM,CAAC,aAAa;QAClB,OAAO;;;;;;;;UAQD,CAAA;IACR,CAAC;IAED,MAAM,CAAC,aAAa;QAClB,OAAO;;;;;;;;;UASD,CAAA;IACR,CAAC;CACF;AAED,eAAe,iBAAiB,CAAA"}
@@ -8,6 +8,9 @@ type UniformNames = {
8
8
  colormap_red: string;
9
9
  colormap_green: string;
10
10
  colormap_blue: string;
11
+ textureMode: string;
12
+ dataMin: string;
13
+ dataMax: string;
11
14
  };
12
15
  type AttributeNames = {
13
16
  vertex_pos: string;
@@ -17,8 +20,11 @@ type Locations = {
17
20
  pMatrix: WebGLUniformLocation | null;
18
21
  mMatrix: WebGLUniformLocation | null;
19
22
  vMatrix: WebGLUniformLocation | null;
20
- sampler: WebGLUniformLocation | null;
21
- textureAlpha: WebGLUniformLocation | null;
23
+ samplers: Array<WebGLUniformLocation | null>;
24
+ textureAlpha: Array<WebGLUniformLocation | null>;
25
+ textureMode: Array<WebGLUniformLocation | null>;
26
+ dataMin: Array<WebGLUniformLocation | null>;
27
+ dataMax: Array<WebGLUniformLocation | null>;
22
28
  clorMapIdx: WebGLUniformLocation | null;
23
29
  vertexPositionAttribute: number;
24
30
  textureCoordAttribute: number;
@@ -48,6 +54,8 @@ export declare class HiPSShaderProgram {
48
54
  setNativeShader(): void;
49
55
  setColorMapShader(): void;
50
56
  private changeFSShader;
57
+ setTextureDataMode(samplerIndex: number, fits: boolean, min?: number, max?: number): void;
51
58
  enableShaders(pMatrix: Float32Array, vMatrix: Float32Array, mMatrix: Float32Array, colorMapIdx: number): void;
52
59
  }
53
60
  export {};
61
+ //# sourceMappingURL=HiPSShaderProgram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HiPSShaderProgram.d.ts","sourceRoot":"","sources":["../../src/shader/HiPSShaderProgram.ts"],"names":[],"mappings":"AAiBA,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IAEtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAErC,QAAQ,EAAE,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAC7C,YAAY,EAAE,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACjD,WAAW,EAAE,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAChD,OAAO,EAAE,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAC5C,OAAO,EAAE,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAE5C,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAExC,uBAAuB,EAAE,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAGF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAEV;IAEd,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,eAAe,CAAe;IAEtC,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,yBAAyB,CAO/B;IAEF,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAyB;gBAE3B,KAAK,EAAE,sBAAsB;IAyCzC,IAAI,aAAa,IAAI,YAAY,CAWhC;IAED,kBAAkB,CAChB,QAAQ,EAAE;QAAE,CAAC,EAAE,YAAY,CAAC;QAAC,CAAC,EAAE,YAAY,CAAC;QAAC,CAAC,EAAE,YAAY,CAAA;KAAE,GAAG,SAAS,GAC1E,IAAI;IAIP,OAAO,CAAC,WAAW;IAqCnB,aAAa,IAAI,IAAI;IAKrB,kBAAkB,IAAI,IAAI;IAQ1B,eAAe,IAAI,IAAI;IAQvB,iBAAiB,IAAI,IAAI;IAgEzB,OAAO,CAAC,cAAc;IAqBtB,kBAAkB,CAChB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,OAAO,EACb,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,GACX,IAAI;IAuCP,aAAa,CACX,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,MAAM,GAClB,IAAI;CA2JR"}
@@ -1,18 +1,16 @@
1
1
  /*
2
2
  * AstroViewer
3
3
  * Copyright (C) Fabrizio Giordano
4
- * SPDX-License-Identifier: LicenseRef-AstroViewer-Dual-License
4
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-AstroViewer-Commercial
5
5
  *
6
- * This file is part of AstroViewer.
7
- * AstroViewer is distributed under a dual-license model.
8
- * Commercial use requires a separate commercial license.
9
- * Non-commercial use is governed by LICENSE-NONCOMMERCIAL.md.
6
+ * AstroViewer is dual-licensed under the GNU Affero General Public License
7
+ * version 3 and a separate commercial license.
10
8
  *
11
- * See LICENSE.md, LICENSE-COMMERCIAL.md, and LICENSE-NONCOMMERCIAL.md for details.
9
+ * See LICENSE.md, LICENSE-AGPL.md, and LICENSE-COMMERCIAL.md for details.
12
10
  */
13
11
  // HiPSShaderProgram.ts
14
- import ShaderManager from './ShaderManager.js';
15
- import { ColorMaps } from '../model/ColorMaps.js';
12
+ import ShaderManager from "./ShaderManager.js";
13
+ import { ColorMaps } from "../model/ColorMaps.js";
16
14
  // export default class HiPSShaderProgram {
17
15
  export class HiPSShaderProgram {
18
16
  _colorMapBlockIndex = null;
@@ -24,7 +22,7 @@ export class HiPSShaderProgram {
24
22
  _UBO_colorMapVariableInfo = {
25
23
  r_palette: { index: 0, offset: 0 },
26
24
  g_palette: { index: 0, offset: 0 },
27
- b_palette: { index: 0, offset: 0 }
25
+ b_palette: { index: 0, offset: 0 },
28
26
  };
29
27
  gl_uniforms;
30
28
  gl_attributes;
@@ -33,54 +31,60 @@ export class HiPSShaderProgram {
33
31
  constructor(webgl) {
34
32
  this._webgl = webgl;
35
33
  this.gl_uniforms = {
36
- sampler: 'uSampler0',
37
- factor: 'uFactor0',
38
- m_perspective: 'uPMatrix',
39
- m_model: 'uMMatrix',
40
- m_view: 'uVMatrix',
41
- colormapIdx: 'cmapIdx',
42
- colormap_red: 'r',
43
- colormap_green: 'g',
44
- colormap_blue: 'b'
34
+ sampler: "uSampler0",
35
+ factor: "uFactor0",
36
+ m_perspective: "uPMatrix",
37
+ m_model: "uMMatrix",
38
+ m_view: "uVMatrix",
39
+ colormapIdx: "cmapIdx",
40
+ colormap_red: "r",
41
+ colormap_green: "g",
42
+ colormap_blue: "b",
43
+ textureMode: "uTextureMode",
44
+ dataMin: "uDataMin",
45
+ dataMax: "uDataMax",
45
46
  };
46
47
  this.gl_attributes = {
47
- vertex_pos: 'aVertexPosition',
48
- text_coords: 'aTextureCoord'
48
+ vertex_pos: "aVertexPosition",
49
+ text_coords: "aTextureCoord",
49
50
  };
50
51
  this.locations = {
51
52
  pMatrix: null,
52
53
  mMatrix: null,
53
54
  vMatrix: null,
54
- sampler: null,
55
- textureAlpha: null,
55
+ samplers: new Array(8).fill(null),
56
+ textureAlpha: new Array(8).fill(null),
57
+ textureMode: new Array(8).fill(null),
58
+ dataMin: new Array(8).fill(null),
59
+ dataMax: new Array(8).fill(null),
56
60
  clorMapIdx: null,
57
61
  vertexPositionAttribute: -1,
58
- textureCoordAttribute: -1
62
+ textureCoordAttribute: -1,
59
63
  };
60
64
  }
61
65
  get shaderProgram() {
62
66
  const gl = this._webgl;
63
67
  if (!this._shaderProgram) {
64
- // const gl = global.gl as GL
65
- this._shaderProgram = gl.createProgram();
66
- this.initShaders();
68
+ const program = gl.createProgram();
69
+ this._shaderProgram = program;
70
+ this.initShaders(program);
67
71
  }
68
- ;
69
72
  gl.useProgram(this._shaderProgram);
70
73
  return this._shaderProgram;
71
74
  }
72
75
  setRuntimeColorMap(colorMap) {
73
76
  this._runtimeColorMap = colorMap;
74
77
  }
75
- initShaders() {
76
- // const gl = global.gl as GL
78
+ initShaders(program) {
79
+ // const gl = global.gl
77
80
  const gl = this._webgl;
78
81
  const fragmentShaderStr = ShaderManager.hipsNativeFS();
79
82
  this._fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);
80
83
  gl.shaderSource(this._fragmentShader, fragmentShaderStr);
81
84
  gl.compileShader(this._fragmentShader);
82
85
  if (!gl.getShaderParameter(this._fragmentShader, gl.COMPILE_STATUS)) {
83
- alert(gl.getShaderInfoLog(this._fragmentShader) || 'Fragment shader compile error');
86
+ alert(gl.getShaderInfoLog(this._fragmentShader) ||
87
+ "Fragment shader compile error");
84
88
  return;
85
89
  }
86
90
  const vertexShaderStr = ShaderManager.hipsVS();
@@ -88,43 +92,44 @@ export class HiPSShaderProgram {
88
92
  gl.shaderSource(this._vertexShader, vertexShaderStr);
89
93
  gl.compileShader(this._vertexShader);
90
94
  if (!gl.getShaderParameter(this._vertexShader, gl.COMPILE_STATUS)) {
91
- alert(gl.getShaderInfoLog(this._vertexShader) || 'Vertex shader compile error');
95
+ alert(gl.getShaderInfoLog(this._vertexShader) ||
96
+ "Vertex shader compile error");
92
97
  return;
93
98
  }
94
- gl.attachShader(this._shaderProgram, this._vertexShader);
95
- gl.attachShader(this._shaderProgram, this._fragmentShader);
96
- gl.linkProgram(this._shaderProgram);
97
- if (!gl.getProgramParameter(this._shaderProgram, gl.LINK_STATUS)) {
98
- alert('Could not initialise shaders');
99
+ gl.attachShader(program, this._vertexShader);
100
+ gl.attachShader(program, this._fragmentShader);
101
+ gl.linkProgram(program);
102
+ if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
103
+ alert("Could not initialise shaders");
99
104
  }
100
105
  }
101
106
  enableProgram() {
102
- // (global.gl as GL).useProgram(this._shaderProgram as WebGLProgram)
107
+ // (global.gl).useProgram(this._shaderProgram)
103
108
  this._webgl.useProgram(this.shaderProgram);
104
109
  }
105
110
  setGrayscaleShader() {
106
- // const gl = global.gl as GL
111
+ // const gl = global.gl
107
112
  const gl = this._webgl;
108
113
  gl.detachShader(this.shaderProgram, this._fragmentShader);
109
114
  const fragmentShaderStr = ShaderManager.hipsGrayscaleFS();
110
115
  this.changeFSShader(fragmentShaderStr);
111
116
  }
112
117
  setNativeShader() {
113
- // const gl = global.gl as GL
118
+ // const gl = global.gl
114
119
  const gl = this._webgl;
115
120
  gl.detachShader(this.shaderProgram, this._fragmentShader);
116
121
  const fragmentShaderStr = ShaderManager.hipsNativeFS();
117
122
  this.changeFSShader(fragmentShaderStr);
118
123
  }
119
124
  setColorMapShader() {
120
- // const gl = global.gl as GL
125
+ // const gl = global.gl
121
126
  const gl = this._webgl;
122
127
  // Swap fragment shader
123
128
  gl.detachShader(this.shaderProgram, this._fragmentShader);
124
129
  const fragmentShaderStr = ShaderManager.hipsColorMapFS();
125
130
  this.changeFSShader(fragmentShaderStr);
126
131
  // UBO discovery for the "colormap" block
127
- const blockIndex = gl.getUniformBlockIndex(this.shaderProgram, 'colormap');
132
+ const blockIndex = gl.getUniformBlockIndex(this.shaderProgram, "colormap");
128
133
  // INVALID_INDEX == 0xFFFFFFFF in WebGL2
129
134
  if (blockIndex === gl.INVALID_INDEX) {
130
135
  console.warn('HiPSShaderProgram: uniform block "colormap" not found in hipsColorMapFS()');
@@ -134,11 +139,11 @@ export class HiPSShaderProgram {
134
139
  }
135
140
  this._colorMapBlockIndex = blockIndex;
136
141
  // const blockSize = gl.getActiveUniformBlockParameter(
137
- // this.shaderProgram as WebGLProgram,
142
+ // this.shaderProgram,
138
143
  // blockIndex,
139
144
  // gl.UNIFORM_BLOCK_DATA_SIZE
140
145
  // ) as number
141
- const uboVariableNames = ['r_palette', 'g_palette', 'b_palette'];
146
+ const uboVariableNames = ["r_palette", "g_palette", "b_palette"];
142
147
  const uboVariableIndices = gl.getUniformIndices(this.shaderProgram, uboVariableNames);
143
148
  const uboVariableOffsets = gl.getActiveUniforms(this.shaderProgram, uboVariableIndices, gl.UNIFORM_OFFSET);
144
149
  // Create buffer only once
@@ -155,49 +160,80 @@ export class HiPSShaderProgram {
155
160
  uboVariableNames.forEach((name, index) => {
156
161
  this._UBO_colorMapVariableInfo[name] = {
157
162
  index: uboVariableIndices[index],
158
- offset: uboVariableOffsets[index]
163
+ offset: uboVariableOffsets[index],
159
164
  };
160
165
  });
161
166
  }
162
167
  changeFSShader(fragmentShaderStr) {
163
- // const gl = global.gl as GL
168
+ // const gl = global.gl
164
169
  const gl = this._webgl;
165
170
  this._fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);
166
171
  gl.shaderSource(this._fragmentShader, fragmentShaderStr);
167
172
  gl.compileShader(this._fragmentShader);
168
173
  if (!gl.getShaderParameter(this._fragmentShader, gl.COMPILE_STATUS)) {
169
- alert(gl.getShaderInfoLog(this._fragmentShader) || 'Fragment shader compile error');
174
+ alert(gl.getShaderInfoLog(this._fragmentShader) ||
175
+ "Fragment shader compile error");
170
176
  return;
171
177
  }
172
178
  gl.attachShader(this.shaderProgram, this._fragmentShader);
173
179
  gl.linkProgram(this.shaderProgram);
174
180
  if (!gl.getProgramParameter(this.shaderProgram, gl.LINK_STATUS)) {
175
- alert('Could not initialise shaders');
181
+ alert("Could not initialise shaders");
176
182
  }
177
183
  gl.useProgram(this.shaderProgram);
178
184
  }
185
+ setTextureDataMode(samplerIndex, fits, min, max) {
186
+ if (samplerIndex < 0 || samplerIndex >= 8) {
187
+ throw new Error(`Invalid HiPS sampler index: ${samplerIndex}`);
188
+ }
189
+ const gl = this._webgl;
190
+ const modeLocation = this.locations.textureMode[samplerIndex];
191
+ if (modeLocation) {
192
+ gl.uniform1i(modeLocation, fits ? 1 : 0);
193
+ }
194
+ if (!fits) {
195
+ return;
196
+ }
197
+ if (min === undefined ||
198
+ max === undefined ||
199
+ !Number.isFinite(min) ||
200
+ !Number.isFinite(max) ||
201
+ max <= min) {
202
+ throw new Error("Invalid FITS display range.");
203
+ }
204
+ const minLocation = this.locations.dataMin[samplerIndex];
205
+ const maxLocation = this.locations.dataMax[samplerIndex];
206
+ if (minLocation) {
207
+ gl.uniform1f(minLocation, min);
208
+ }
209
+ if (maxLocation) {
210
+ gl.uniform1f(maxLocation, max);
211
+ }
212
+ }
179
213
  enableShaders(pMatrix, vMatrix, mMatrix, colorMapIdx) {
180
- // const gl = global.gl as GL
214
+ // const gl = global.gl
181
215
  const gl = this._webgl;
182
216
  gl.useProgram(this.shaderProgram);
183
217
  this.locations.pMatrix = gl.getUniformLocation(this.shaderProgram, this.gl_uniforms.m_perspective);
184
218
  this.locations.mMatrix = gl.getUniformLocation(this.shaderProgram, this.gl_uniforms.m_model);
185
219
  this.locations.vMatrix = gl.getUniformLocation(this.shaderProgram, this.gl_uniforms.m_view);
186
- this.locations.sampler = gl.getUniformLocation(this.shaderProgram, this.gl_uniforms.sampler);
187
- this.locations.textureAlpha = gl.getUniformLocation(this.shaderProgram, this.gl_uniforms.factor);
188
220
  this.locations.clorMapIdx = gl.getUniformLocation(this.shaderProgram, this.gl_uniforms.colormapIdx);
189
- // NEW
190
- // if (this.locations.clorMapIdx) {
191
- gl.uniform1i(this.locations.clorMapIdx, colorMapIdx);
192
- // }
193
- // Make sampler explicit: we always use TEXTURE0 in your draw code
194
- if (this.locations.sampler) {
195
- gl.uniform1i(this.locations.sampler, 0);
221
+ for (let i = 0; i < 8; i++) {
222
+ this.locations.samplers[i] = gl.getUniformLocation(this.shaderProgram, `uSampler${i}`);
223
+ this.locations.textureAlpha[i] = gl.getUniformLocation(this.shaderProgram, `uFactor${i}`);
224
+ this.locations.textureMode[i] = gl.getUniformLocation(this.shaderProgram, `uTextureMode${i}`);
225
+ this.locations.dataMin[i] = gl.getUniformLocation(this.shaderProgram, `uDataMin${i}`);
226
+ this.locations.dataMax[i] = gl.getUniformLocation(this.shaderProgram, `uDataMax${i}`);
227
+ if (this.locations.samplers[i]) {
228
+ gl.uniform1i(this.locations.samplers[i], i);
229
+ }
196
230
  }
197
- // END NEW
231
+ gl.uniform1i(this.locations.clorMapIdx, colorMapIdx);
198
232
  this.locations.vertexPositionAttribute = gl.getAttribLocation(this.shaderProgram, this.gl_attributes.vertex_pos);
199
233
  this.locations.textureCoordAttribute = gl.getAttribLocation(this.shaderProgram, this.gl_attributes.text_coords);
200
- if (colorMapIdx >= 2 && this._UBO_colorMapBuffer && this._colorMapBlockIndex !== null) {
234
+ if (colorMapIdx >= 2 &&
235
+ this._UBO_colorMapBuffer &&
236
+ this._colorMapBlockIndex !== null) {
201
237
  gl.uniformBlockBinding(this.shaderProgram, this._colorMapBlockIndex, 0);
202
238
  gl.bindBuffer(gl.UNIFORM_BUFFER, this._UBO_colorMapBuffer);
203
239
  let currentColorMap;
@@ -266,3 +302,4 @@ export class HiPSShaderProgram {
266
302
  gl.uniformMatrix4fv(this.locations.vMatrix, false, vMatrix);
267
303
  }
268
304
  }
305
+ //# sourceMappingURL=HiPSShaderProgram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HiPSShaderProgram.js","sourceRoot":"","sources":["../../src/shader/HiPSShaderProgram.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,16 @@ type MeshHiPSLocations = {
6
6
  vertexPositionAttribute: number;
7
7
  vertexNormalAttribute: number;
8
8
  };
9
+ export interface MeshHiPSShaderProgramOptions {
10
+ readonly twoSidedLighting?: boolean;
11
+ readonly markerLighting?: boolean;
12
+ }
9
13
  export declare class MeshHiPSShaderProgram {
10
14
  private _webgl;
15
+ private _options;
11
16
  readonly locations: MeshHiPSLocations;
12
17
  private _shaderProgram?;
13
- constructor(_webgl: WebGL2RenderingContext);
18
+ constructor(_webgl: WebGL2RenderingContext, _options?: MeshHiPSShaderProgramOptions);
14
19
  get shaderProgram(): WebGLProgram;
15
20
  enableProgram(): void;
16
21
  enableShaders(pMatrix: Float32Array, vMatrix: Float32Array, mMatrix: Float32Array, color: [number, number, number, number]): void;
@@ -18,3 +23,4 @@ export declare class MeshHiPSShaderProgram {
18
23
  private compileShader;
19
24
  }
20
25
  export {};
26
+ //# sourceMappingURL=MeshHiPSShaderProgram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MeshHiPSShaderProgram.d.ts","sourceRoot":"","sources":["../../src/shader/MeshHiPSShaderProgram.ts"],"names":[],"mappings":"AAMA,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACpC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACpC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACpC,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAClC,uBAAuB,EAAE,MAAM,CAAA;IAC/B,qBAAqB,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAClC;AAED,qBAAa,qBAAqB;IAK9B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IALlB,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAA;IACrC,OAAO,CAAC,cAAc,CAAC,CAAc;gBAG3B,MAAM,EAAE,sBAAsB,EAC9B,QAAQ,GAAE,4BAAiC;IAYrD,IAAI,aAAa,IAAI,YAAY,CAUhC;IAED,aAAa,IAAI,IAAI;IAIrB,aAAa,CACX,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACtC,IAAI;IAkBP,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,aAAa;CAWtB"}
@@ -5,10 +5,12 @@
5
5
  */
6
6
  export class MeshHiPSShaderProgram {
7
7
  _webgl;
8
+ _options;
8
9
  locations;
9
10
  _shaderProgram;
10
- constructor(_webgl) {
11
+ constructor(_webgl, _options = {}) {
11
12
  this._webgl = _webgl;
13
+ this._options = _options;
12
14
  this.locations = {
13
15
  pMatrix: null,
14
16
  mMatrix: null,
@@ -71,9 +73,13 @@ export class MeshHiPSShaderProgram {
71
73
  void main(void) {
72
74
  vec3 normal = normalize(vNormal);
73
75
  vec3 lightDir = normalize(vec3(0.45, 0.8, 0.35));
74
- float diffuse = max(dot(normal, lightDir), 0.0);
76
+ float diffuse = ${this._options.twoSidedLighting
77
+ ? 'abs(dot(normal, lightDir))'
78
+ : 'max(dot(normal, lightDir), 0.0)'};
75
79
  float rim = pow(1.0 - max(dot(normal, vec3(0.0, 0.0, 1.0)), 0.0), 2.0);
76
- vec3 color = uColor.rgb * (0.24 + diffuse * 0.78) + vec3(0.16, 0.24, 0.20) * rim;
80
+ vec3 color = ${this._options.markerLighting
81
+ ? 'uColor.rgb * (0.78 + diffuse * 0.18) + vec3(0.06, 0.08, 0.07) * rim'
82
+ : 'uColor.rgb * (0.24 + diffuse * 0.78) + vec3(0.16, 0.24, 0.20) * rim'};
77
83
  outColor = vec4(color, uColor.a);
78
84
  }`);
79
85
  gl.attachShader(this._shaderProgram, vertexShader);
@@ -96,3 +102,4 @@ export class MeshHiPSShaderProgram {
96
102
  return shader;
97
103
  }
98
104
  }
105
+ //# sourceMappingURL=MeshHiPSShaderProgram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MeshHiPSShaderProgram.js","sourceRoot":"","sources":["../../src/shader/MeshHiPSShaderProgram.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,7 @@ export default class ShaderManager {
8
8
  static hipsNativeFS(): GLSLSource;
9
9
  static hipsGrayscaleFS(): GLSLSource;
10
10
  static hipsColorMapFS(): GLSLSource;
11
+ private static hipsSamplerGLSL;
12
+ private static hipsSamplersGLSL;
11
13
  }
14
+ //# sourceMappingURL=ShaderManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShaderManager.d.ts","sourceRoot":"","sources":["../../src/shader/ShaderManager.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,MAAM,CAAC,WAAW,IAAI,UAAU;IAuBhC,MAAM,CAAC,WAAW,IAAI,UAAU;IAkGhC,MAAM,CAAC,WAAW,IAAI,UAAU;IAgBhC,MAAM,CAAC,WAAW,IAAI,UAAU;IAYhC,MAAM,CAAC,MAAM,IAAI,UAAU;IAiB3B,MAAM,CAAC,YAAY,IAAI,UAAU;IAkEjC,MAAM,CAAC,eAAe,IAAI,UAAU;IA0EpC,MAAM,CAAC,cAAc,IAAI,UAAU;IAoGnC,OAAO,CAAC,MAAM,CAAC,eAAe;IAuC9B,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAKhC"}