@pirireis/webglobeplugins 0.9.6 → 0.9.8

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 (304) hide show
  1. package/{Math → dist/Math}/angle-calculation.js +15 -14
  2. package/dist/Math/arc.js +65 -0
  3. package/{Math → dist/Math}/bounds/line-bbox.js +188 -225
  4. package/dist/Math/constants.js +9 -0
  5. package/{Math/frustum/camera.ts → dist/Math/frustum/camera.js} +24 -32
  6. package/{Math/frustum/from-globeinfo.ts → dist/Math/frustum/from-globeinfo.js} +48 -63
  7. package/dist/Math/frustum/types.js +2 -0
  8. package/{Math/globe-util/horizon-plane.ts → dist/Math/globe-util/horizon-plane.js} +112 -137
  9. package/dist/Math/index.js +1 -0
  10. package/dist/Math/juction/arc-plane.js +83 -0
  11. package/dist/Math/juction/line-sphere.js +25 -0
  12. package/{Math/juction/plane-plane.ts → dist/Math/juction/plane-plane.js} +58 -66
  13. package/dist/Math/line.js +56 -0
  14. package/dist/Math/matrix4.js +1 -0
  15. package/{Math → dist/Math}/methods.js +201 -237
  16. package/dist/Math/plane.js +60 -0
  17. package/{Math/quaternion.ts → dist/Math/quaternion.js} +104 -120
  18. package/dist/Math/types.js +2 -0
  19. package/dist/Math/utils.js +4 -0
  20. package/{Math/vec3.ts → dist/Math/vec3.js} +126 -155
  21. package/dist/algorithms/search-binary.js +19 -0
  22. package/dist/altitude-locator/adaptors.js +1 -0
  23. package/{altitude-locator → dist/altitude-locator}/draw-subset-obj.js +18 -27
  24. package/dist/altitude-locator/keymethod.js +1 -0
  25. package/{altitude-locator → dist/altitude-locator}/plugin.js +341 -439
  26. package/{altitude-locator → dist/altitude-locator}/types.js +23 -26
  27. package/{arrowfield → dist/arrowfield}/adaptor.js +14 -11
  28. package/dist/arrowfield/index.js +10 -0
  29. package/{arrowfield → dist/arrowfield}/plugin.js +86 -128
  30. package/dist/bearing-line/index.js +8 -0
  31. package/{bearing-line → dist/bearing-line}/plugin.js +449 -512
  32. package/{circle-line-chain → dist/circle-line-chain}/chain-list-map.js +205 -221
  33. package/dist/circle-line-chain/init.js +1 -0
  34. package/{circle-line-chain → dist/circle-line-chain}/plugin.js +424 -469
  35. package/dist/circle-line-chain/util.js +5 -0
  36. package/{compass-rose → dist/compass-rose}/compass-rose-padding-flat.js +225 -266
  37. package/{compass-rose → dist/compass-rose}/compass-text-writer.js +153 -173
  38. package/dist/compass-rose/index.js +7 -0
  39. package/{compassrose → dist/compassrose}/compassrose.js +296 -341
  40. package/dist/compassrose/index.js +8 -0
  41. package/dist/globe-types.js +1 -0
  42. package/dist/heatwave/index.js +10 -0
  43. package/{heatwave → dist/heatwave}/isobar/objectarraylabels.js +202 -247
  44. package/{heatwave → dist/heatwave}/isobar/plugin.js +343 -340
  45. package/{heatwave → dist/heatwave}/isobar/quadtreecontours.js +300 -336
  46. package/{heatwave → dist/heatwave}/plugins/heatwaveglobeshell.js +206 -258
  47. package/dist/index.js +58 -0
  48. package/{jest.config.js → dist/jest.config.js} +7 -6
  49. package/{partialrings → dist/partialrings}/buffer-manager.js +81 -89
  50. package/dist/partialrings/index.js +41 -0
  51. package/{partialrings → dist/partialrings}/plugin.js +135 -160
  52. package/{partialrings → dist/partialrings}/program.js +204 -242
  53. package/{pin → dist/pin}/pin-object-array.js +305 -381
  54. package/{pin → dist/pin}/pin-point-totem.js +60 -77
  55. package/{point-heat-map → dist/point-heat-map}/adaptors/timetracksplugin-format-to-this.js +66 -78
  56. package/dist/point-heat-map/index.js +1 -0
  57. package/{point-heat-map → dist/point-heat-map}/plugin-webworker.js +126 -151
  58. package/{point-heat-map → dist/point-heat-map}/point-to-heat-map-flow.js +127 -150
  59. package/dist/point-tracks/key-methods.js +5 -0
  60. package/{point-tracks → dist/point-tracks}/plugin.js +338 -394
  61. package/dist/programs/arrowfield/index.js +7 -0
  62. package/{programs → dist/programs}/arrowfield/logic.js +144 -173
  63. package/{programs → dist/programs}/arrowfield/object.js +66 -89
  64. package/{programs → dist/programs}/data2legend/density-to-legend.js +76 -90
  65. package/{programs → dist/programs}/data2legend/point-to-density-texture.js +76 -90
  66. package/dist/programs/float2legendwithratio/index.js +8 -0
  67. package/{programs → dist/programs}/float2legendwithratio/logic.js +122 -145
  68. package/{programs → dist/programs}/float2legendwithratio/object.js +110 -141
  69. package/{programs → dist/programs}/globe-util/is-globe-moved.js +21 -27
  70. package/dist/programs/globeshell/index.js +8 -0
  71. package/dist/programs/globeshell/noise/noises.js +1 -0
  72. package/dist/programs/globeshell/wiggle/index.js +8 -0
  73. package/{programs → dist/programs}/globeshell/wiggle/logic.js +246 -272
  74. package/{programs → dist/programs}/globeshell/wiggle/object.js +72 -93
  75. package/dist/programs/helpers/blender/index.js +1 -0
  76. package/{programs → dist/programs}/helpers/blender/program.js +61 -73
  77. package/dist/programs/helpers/fadeaway/index.js +7 -0
  78. package/{programs → dist/programs}/helpers/fadeaway/logic.js +49 -53
  79. package/dist/programs/helpers/fadeaway/object.js +20 -0
  80. package/dist/programs/helpers/index.js +8 -0
  81. package/dist/programs/index.js +58 -0
  82. package/dist/programs/interface.js +1 -0
  83. package/{programs → dist/programs}/line-on-globe/angled-line.js +125 -155
  84. package/{programs → dist/programs}/line-on-globe/circle-accurate-3d.js +95 -121
  85. package/{programs → dist/programs}/line-on-globe/circle-accurate-flat.js +158 -204
  86. package/{programs → dist/programs}/line-on-globe/circle-accurate.js +117 -141
  87. package/{programs → dist/programs}/line-on-globe/circle.js +111 -135
  88. package/{programs → dist/programs}/line-on-globe/degree-padding-around-circle-3d.js +111 -140
  89. package/dist/programs/line-on-globe/index.js +1 -0
  90. package/{programs → dist/programs}/line-on-globe/lines-color-instanced-flat.js +91 -106
  91. package/{programs/line-on-globe/linestrip.ts → dist/programs/line-on-globe/linestrip.js} +108 -165
  92. package/{programs → dist/programs}/line-on-globe/naive-accurate-flexible.js +127 -171
  93. package/{programs → dist/programs}/line-on-globe/to-the-surface.js +83 -101
  94. package/dist/programs/line-on-globe/util.js +8 -0
  95. package/{programs → dist/programs}/picking/pickable-renderer.js +107 -135
  96. package/{programs → dist/programs}/point-on-globe/element-globe-surface-glow.js +101 -127
  97. package/{programs → dist/programs}/point-on-globe/element-point-glow.js +88 -119
  98. package/{programs → dist/programs}/point-on-globe/square-pixel-point.js +126 -141
  99. package/{programs/programcache.ts → dist/programs/programcache.js} +131 -131
  100. package/{programs → dist/programs}/rings/distancering/circleflatprogram.js +115 -95
  101. package/{programs → dist/programs}/rings/distancering/circlepaddingfreeangleprogram.js +320 -329
  102. package/{programs → dist/programs}/rings/distancering/circlepaddysharedbuffer.js +357 -420
  103. package/dist/programs/rings/distancering/index.js +14 -0
  104. package/{programs → dist/programs}/rings/distancering/paddyflatprogram.js +120 -94
  105. package/{programs → dist/programs}/rings/distancering/paddyflatprogram2d.js +122 -98
  106. package/{programs → dist/programs}/rings/distancering/paddyflatprogram3d.js +120 -94
  107. package/dist/programs/rings/distancering/shader.js +1 -0
  108. package/dist/programs/rings/index.js +17 -0
  109. package/{programs → dist/programs}/rings/partial-ring/piece-of-pie.js +181 -221
  110. package/{programs → dist/programs}/totems/camerauniformblock.js +147 -184
  111. package/{programs → dist/programs}/totems/canvas-webglobe-info.js +102 -128
  112. package/{programs → dist/programs}/totems/gpu-selection-uniform-block.js +104 -128
  113. package/dist/programs/totems/index.js +40 -0
  114. package/dist/programs/two-d/pixel-circle.js +1 -0
  115. package/{programs → dist/programs}/two-d/pixel-padding-for-compass.js +101 -113
  116. package/{programs → dist/programs}/util.js +17 -20
  117. package/dist/programs/vectorfields/index.js +23 -0
  118. package/{programs → dist/programs}/vectorfields/logics/drawrectangleparticles.js +65 -83
  119. package/dist/programs/vectorfields/logics/index.js +12 -0
  120. package/{programs → dist/programs}/vectorfields/logics/pixelbased.js +84 -103
  121. package/{programs → dist/programs}/vectorfields/logics/ubo.js +55 -56
  122. package/{programs → dist/programs}/vectorfields/pingpongbuffermanager.js +76 -80
  123. package/dist/rangerings/enum.js +5 -0
  124. package/dist/rangerings/index.js +15 -0
  125. package/{rangerings → dist/rangerings}/plugin.js +560 -649
  126. package/{rangerings → dist/rangerings}/rangeringangletext.js +329 -368
  127. package/{rangerings → dist/rangerings}/ring-account.js +117 -129
  128. package/{shaders → dist/shaders}/fragment-toy/firework.js +5 -2
  129. package/{shaders → dist/shaders}/fragment-toy/singularity.js +5 -5
  130. package/{shape-on-terrain/arc/naive/plugin.ts → dist/shape-on-terrain/arc/naive/plugin.js} +252 -304
  131. package/{timetracks → dist/timetracks}/adaptors-line-strip.js +71 -80
  132. package/{timetracks → dist/timetracks}/adaptors.js +122 -133
  133. package/dist/timetracks/index.js +19 -0
  134. package/{timetracks → dist/timetracks}/plugin-line-strip.js +250 -295
  135. package/{timetracks → dist/timetracks}/plugin.js +258 -304
  136. package/{timetracks → dist/timetracks}/program-line-strip.js +416 -493
  137. package/{timetracks → dist/timetracks}/program.js +464 -542
  138. package/{timetracks → dist/timetracks}/programpoint-line-strip.js +101 -122
  139. package/{timetracks → dist/timetracks}/programpoint.js +101 -122
  140. package/{types.ts → dist/types.js} +15 -17
  141. package/{util → dist/util}/account/bufferoffsetmanager.js +179 -209
  142. package/dist/util/account/index.js +23 -0
  143. package/{util/account/single-attribute-buffer-management/buffer-manager.ts → dist/util/account/single-attribute-buffer-management/buffer-manager.js} +108 -119
  144. package/{util/account/single-attribute-buffer-management/buffer-orchestrator.ts → dist/util/account/single-attribute-buffer-management/buffer-orchestrator.js} +150 -173
  145. package/dist/util/account/single-attribute-buffer-management/index.js +9 -0
  146. package/{util/account/single-attribute-buffer-management/object-store.ts → dist/util/account/single-attribute-buffer-management/object-store.js} +51 -65
  147. package/dist/util/account/single-attribute-buffer-management/types.js +2 -0
  148. package/{util → dist/util}/account/util.js +22 -22
  149. package/dist/util/algorithms/index.js +1 -0
  150. package/{util → dist/util}/algorithms/search-binary.js +28 -26
  151. package/dist/util/check/get.js +18 -0
  152. package/dist/util/check/index.js +1 -0
  153. package/dist/util/check/typecheck.js +49 -0
  154. package/{util → dist/util}/geometry/index.js +51 -53
  155. package/{util/gl-util/buffer/attribute-loader.ts → dist/util/gl-util/buffer/attribute-loader.js} +69 -85
  156. package/dist/util/gl-util/buffer/index.js +6 -0
  157. package/dist/util/gl-util/buffer/types.js +1 -0
  158. package/dist/util/gl-util/draw-options/methods.js +38 -0
  159. package/dist/util/gl-util/draw-options/types.js +15 -0
  160. package/{util/gl-util/uniform-block/manager.ts → dist/util/gl-util/uniform-block/manager.js} +156 -187
  161. package/dist/util/gl-util/uniform-block/shader.js +1 -0
  162. package/dist/util/gl-util/uniform-block/types.js +8 -0
  163. package/{util → dist/util}/heatwavedatamanager/datamanager.js +152 -168
  164. package/dist/util/heatwavedatamanager/index.js +10 -0
  165. package/{util → dist/util}/heatwavedatamanager/pointcoordinatesdatacalculator.js +122 -133
  166. package/{util → dist/util}/heatwavedatamanager/pointcoordsmeta.js +20 -22
  167. package/dist/util/index.js +57 -0
  168. package/dist/util/interpolation/index.js +1 -0
  169. package/dist/util/interpolation/timetrack/index.js +5 -0
  170. package/{util → dist/util}/interpolation/timetrack/timetrack-interpolator.js +79 -88
  171. package/{util → dist/util}/interpolation/timetrack/web-worker-str.js +5 -2
  172. package/{util → dist/util}/interpolation/timetrack/web-worker.js +48 -51
  173. package/{util → dist/util}/jshelpers/data-filler.js +20 -19
  174. package/{util → dist/util}/jshelpers/equality.js +20 -17
  175. package/dist/util/jshelpers/index.js +37 -0
  176. package/{util → dist/util}/jshelpers/timefilters.js +32 -32
  177. package/{util → dist/util}/picking/fence.js +46 -46
  178. package/{util → dist/util}/picking/picker-displayer.js +139 -177
  179. package/{util → dist/util}/programs/draw-texture-on-canvas.js +69 -82
  180. package/dist/util/programs/index.js +17 -0
  181. package/{util → dist/util}/programs/shapesonglobe.js +174 -206
  182. package/{util → dist/util}/programs/supersampletotextures.js +103 -132
  183. package/{util → dist/util}/programs/texturetoglobe.js +133 -154
  184. package/{util/shaderfunctions/geometrytransformations.ts → dist/util/shaderfunctions/geometrytransformations.js} +68 -116
  185. package/dist/util/shaderfunctions/index.js +18 -0
  186. package/{util → dist/util}/shaderfunctions/nodata.js +5 -4
  187. package/{util → dist/util}/shaderfunctions/noisefunctions.js +9 -10
  188. package/{util/surface-line-data/arc-bboxes.ts → dist/util/surface-line-data/arc-bboxes.js} +25 -42
  189. package/{util → dist/util}/surface-line-data/arcs-to-cuts.js +50 -74
  190. package/dist/util/surface-line-data/cut-arc.js +1 -0
  191. package/{util/surface-line-data/flow.ts → dist/util/surface-line-data/flow.js} +28 -52
  192. package/dist/util/surface-line-data/rbush-manager.js +1 -0
  193. package/dist/util/surface-line-data/types.js +1 -0
  194. package/dist/util/surface-line-data/web-worker.js +1 -0
  195. package/dist/util/webglobe/gldefaultstates.js +7 -0
  196. package/dist/util/webglobe/index.js +18 -0
  197. package/{util → dist/util}/webglobe/rasteroverlay.js +78 -96
  198. package/{util/webglobjectbuilders.ts → dist/util/webglobjectbuilders.js} +388 -456
  199. package/{util → dist/util}/webglobjectbuilders1.js +237 -271
  200. package/{waveparticles → dist/waveparticles}/adaptor.js +17 -16
  201. package/dist/waveparticles/index.js +10 -0
  202. package/{waveparticles → dist/waveparticles}/plugin.js +266 -313
  203. package/{wind → dist/wind}/imagetovectorfieldandmagnitude.js +35 -39
  204. package/dist/wind/index.js +14 -0
  205. package/{wind → dist/wind}/plugin.js +681 -812
  206. package/{wind → dist/wind}/vectorfieldimage.js +25 -27
  207. package/{write-text → dist/write-text}/attached-text-writer.js +91 -105
  208. package/{write-text → dist/write-text}/context-text.js +98 -125
  209. package/{write-text → dist/write-text}/context-text3.js +155 -178
  210. package/dist/write-text/index.js +5 -0
  211. package/{write-text → dist/write-text}/writer-plugin.js +8 -7
  212. package/package.json +5 -2
  213. package/Math/arc.ts +0 -76
  214. package/Math/constants.ts +0 -11
  215. package/Math/frustum/types.ts +0 -11
  216. package/Math/index.js +0 -0
  217. package/Math/juction/arc-plane.ts +0 -114
  218. package/Math/juction/line-sphere.ts +0 -30
  219. package/Math/line.ts +0 -70
  220. package/Math/matrix4.ts +0 -0
  221. package/Math/plane.ts +0 -86
  222. package/Math/roadmap.md +0 -10
  223. package/Math/types.ts +0 -45
  224. package/Math/utils.js +0 -3
  225. package/algorithms/search-binary.js +0 -14
  226. package/altitude-locator/adaptors.js +0 -0
  227. package/altitude-locator/keymethod.js +0 -0
  228. package/arrowfield/index.js +0 -3
  229. package/bearing-line/index.js +0 -2
  230. package/circle-line-chain/init.js +0 -0
  231. package/circle-line-chain/readme.md +0 -57
  232. package/circle-line-chain/util.js +0 -1
  233. package/compass-rose/index.js +0 -3
  234. package/compassrose/index.js +0 -2
  235. package/depth-locator/readme.md +0 -26
  236. package/globe-types.ts +0 -13
  237. package/heatwave/index.js +0 -4
  238. package/partialrings/goals.md +0 -17
  239. package/partialrings/index.js +0 -3
  240. package/point-heat-map/index.js +0 -0
  241. package/point-heat-map/readme.md +0 -15
  242. package/point-tracks/key-methods.js +0 -3
  243. package/programs/arrowfield/index.js +0 -2
  244. package/programs/float2legendwithratio/index.js +0 -3
  245. package/programs/globeshell/index.js +0 -2
  246. package/programs/globeshell/noise/noises.js +0 -0
  247. package/programs/globeshell/wiggle/index.js +0 -6
  248. package/programs/helpers/blender/index.js +0 -0
  249. package/programs/helpers/fadeaway/index.js +0 -3
  250. package/programs/helpers/fadeaway/object.js +0 -20
  251. package/programs/helpers/index.js +0 -2
  252. package/programs/index.js +0 -21
  253. package/programs/interface.ts +0 -7
  254. package/programs/line-on-globe/index.js +0 -0
  255. package/programs/line-on-globe/util.js +0 -8
  256. package/programs/rings/distancering/index.js +0 -5
  257. package/programs/rings/distancering/shader.js +0 -0
  258. package/programs/rings/index.js +0 -1
  259. package/programs/totems/camerauniformblock.d.ts +0 -48
  260. package/programs/totems/index.ts +0 -2
  261. package/programs/two-d/pixel-circle.js +0 -0
  262. package/programs/vectorfields/index.js +0 -3
  263. package/programs/vectorfields/logics/index.js +0 -5
  264. package/publish.bat +0 -60
  265. package/rangerings/enum.js +0 -3
  266. package/rangerings/index.js +0 -5
  267. package/shape-on-terrain/goal.md +0 -12
  268. package/tests/Math/junction/arc-plane.test.ts +0 -133
  269. package/tests/Math/junction/plane-plane.test.ts +0 -82
  270. package/tests/Math/plane.test.ts +0 -43
  271. package/tests/Math/vec3.test.ts +0 -14
  272. package/timetracks/index.js +0 -6
  273. package/timetracks/readme.md +0 -1
  274. package/tsconfig.json +0 -22
  275. package/util/account/index.js +0 -6
  276. package/util/account/single-attribute-buffer-management/index.ts +0 -13
  277. package/util/account/single-attribute-buffer-management/types.ts +0 -39
  278. package/util/algorithms/index.js +0 -0
  279. package/util/check/get.js +0 -13
  280. package/util/check/index.js +0 -0
  281. package/util/check/typecheck.js +0 -39
  282. package/util/gl-util/buffer/index.ts +0 -6
  283. package/util/gl-util/buffer/types.ts +0 -13
  284. package/util/gl-util/draw-options/methods.ts +0 -66
  285. package/util/gl-util/draw-options/types.ts +0 -28
  286. package/util/gl-util/uniform-block/roadmap.md +0 -70
  287. package/util/gl-util/uniform-block/shader.js +0 -0
  288. package/util/gl-util/uniform-block/types.ts +0 -27
  289. package/util/heatwavedatamanager/index.js +0 -3
  290. package/util/index.js +0 -13
  291. package/util/interpolation/index.js +0 -0
  292. package/util/interpolation/timetrack/index.js +0 -9
  293. package/util/jshelpers/index.js +0 -1
  294. package/util/programs/index.js +0 -1
  295. package/util/shaderfunctions/index.js +0 -2
  296. package/util/surface-line-data/cut-arc.js +0 -0
  297. package/util/surface-line-data/rbush-manager.js +0 -0
  298. package/util/surface-line-data/types.ts +0 -27
  299. package/util/surface-line-data/web-worker.js +0 -0
  300. package/util/webglobe/gldefaultstates.js +0 -5
  301. package/util/webglobe/index.js +0 -2
  302. package/waveparticles/index.js +0 -3
  303. package/wind/index.js +0 -5
  304. package/write-text/index.js +0 -1
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.heatwavedatamanager = exports.programs = exports.webglobe = exports.geometry = exports.shaderfunctions = exports.webglobjectbuilders = void 0;
40
+ const webglobjectbuilders = __importStar(require("./webglobjectbuilders"));
41
+ exports.webglobjectbuilders = webglobjectbuilders;
42
+ const shaderfunctions = __importStar(require("./shaderfunctions"));
43
+ exports.shaderfunctions = shaderfunctions;
44
+ const geometry = __importStar(require("./geometry"));
45
+ exports.geometry = geometry;
46
+ const webglobe = __importStar(require("./webglobe"));
47
+ exports.webglobe = webglobe;
48
+ const programs = __importStar(require("./programs"));
49
+ exports.programs = programs;
50
+ const heatwavedatamanager = __importStar(require("./heatwavedatamanager"));
51
+ exports.heatwavedatamanager = heatwavedatamanager;
52
+ __exportStar(require("./webglobe"), exports);
53
+ __exportStar(require("./webglobjectbuilders"), exports);
54
+ __exportStar(require("./shaderfunctions"), exports);
55
+ __exportStar(require("./geometry"), exports);
56
+ __exportStar(require("./programs"), exports);
57
+ __exportStar(require("./heatwavedatamanager"), exports);
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createWorker = void 0;
4
+ const createWorker = () => new Worker(new URL('./web-worker.js', import.meta.url), { type: 'module' });
5
+ exports.createWorker = createWorker;
@@ -1,88 +1,79 @@
1
- import { findFirstIndexInRange } from '../../algorithms/search-binary';
2
- import {
3
- sphericalLinearInterpolation_Cartesian3d,
4
- sphericalLinearInterpolation_Mercator,
5
- } from '../../../Math/methods';
6
-
7
-
8
- /**
9
- * @typedef {Array<number>} vec3 [x, y, z]
10
- * @typedef {Array<number>} vec2 [x, y]
11
- * @typedef {Array<number>} vec4 [x, y, z, w]
12
- * @typedef {number} fraction a number between 0 and 1
13
- * @typedef {Array<number>} wgs84 [long, lat]
14
- */
15
-
16
- const GEOMETRY = Object.freeze({
17
- CARTESIAN3D: 0,
18
- MERCATOR: 1,
19
- });
20
-
21
- class TimeTrackInterpolator {
22
- /**
23
- * @typedef Timetrack
24
- * @property {Array<vec4>}} coordinates [x,y,z, length]
25
- * @property {Array<Number>} times
26
- * @param {Array<Timetrack>} timeTracks
27
- */
28
- constructor({ timeTracks, bbox = null, geometry = GEOMETRY.CARTESIAN3D } = {}) {
29
- this.timeTracks = null;
30
- this.timeTracksStartTimes = null;
31
- this.geometry = geometry;
32
- if (timeTracks) this.setTimetracks(timeTracks);
33
- if (bbox) this.setBbox(bbox);
34
- }
35
-
36
-
37
- setGeometry(geometry) {
38
- if (geometry !== GEOMETRY.CARTESIAN3D && geometry !== GEOMETRY.MERCATOR) {
39
- throw new Error('Invalid geometry');
40
- }
41
- this.geometry = geometry;
42
- }
43
-
44
- setTimetracks(timeTracks) {
45
- this.timeTracks = timeTracks;
46
- }
47
-
48
-
49
- interpolate(time) {
50
- const { timeTracks, geometry } = this;
51
- if (!timeTracks) { return null; }
52
- const resultArray = [];
53
- const info = {
54
- outOfRange: 0,
55
- processed: 0,
56
- }
57
- for (let i = 0; i < timeTracks.length; i++) {
58
- const { times, coordinates } = timeTracks[i];
59
-
60
- if (times[times.length - 1] < time) continue;
61
- info.processed++;
62
- const timeIndex = findFirstIndexInRange(times, time);
63
- if (timeIndex === null) { info.outOfRange++; continue; }
64
- const timeFraction = (time - times[timeIndex]) / (times[timeIndex + 1] - times[timeIndex]);
65
- const interpolated = (geometry === GEOMETRY.CARTESIAN3D) ?
66
- sphericalLinearInterpolation_Cartesian3d(coordinates[timeIndex], coordinates[timeIndex + 1], timeFraction) :
67
- sphericalLinearInterpolation_Mercator(coordinates[timeIndex], coordinates[timeIndex + 1], timeFraction);
68
- resultArray.push(...interpolated);
69
- }
70
- return new Float32Array(resultArray);
71
- }
72
-
73
-
74
- // implicit methods
75
-
76
- _orderTimeTracks() {
77
- this.timeTracks.sort((a, b) => a.times[0] - b.times[0]);
78
- }
79
-
80
- _setStartTimes() {
81
- this.timeTracksStartTimes = this.timeTracks.map(tt => tt.times[0]);
82
- }
83
-
84
-
85
- }
86
-
87
-
88
- export { TimeTrackInterpolator, GEOMETRY };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GEOMETRY = exports.TimeTrackInterpolator = void 0;
4
+ const search_binary_1 = require("../../algorithms/search-binary");
5
+ const methods_1 = require("../../../Math/methods");
6
+ /**
7
+ * @typedef {Array<number>} vec3 [x, y, z]
8
+ * @typedef {Array<number>} vec2 [x, y]
9
+ * @typedef {Array<number>} vec4 [x, y, z, w]
10
+ * @typedef {number} fraction a number between 0 and 1
11
+ * @typedef {Array<number>} wgs84 [long, lat]
12
+ */
13
+ const GEOMETRY = Object.freeze({
14
+ CARTESIAN3D: 0,
15
+ MERCATOR: 1,
16
+ });
17
+ exports.GEOMETRY = GEOMETRY;
18
+ class TimeTrackInterpolator {
19
+ /**
20
+ * @typedef Timetrack
21
+ * @property {Array<vec4>}} coordinates [x,y,z, length]
22
+ * @property {Array<Number>} times
23
+ * @param {Array<Timetrack>} timeTracks
24
+ */
25
+ constructor({ timeTracks, bbox = null, geometry = GEOMETRY.CARTESIAN3D } = {}) {
26
+ this.timeTracks = null;
27
+ this.timeTracksStartTimes = null;
28
+ this.geometry = geometry;
29
+ if (timeTracks)
30
+ this.setTimetracks(timeTracks);
31
+ if (bbox)
32
+ this.setBbox(bbox);
33
+ }
34
+ setGeometry(geometry) {
35
+ if (geometry !== GEOMETRY.CARTESIAN3D && geometry !== GEOMETRY.MERCATOR) {
36
+ throw new Error('Invalid geometry');
37
+ }
38
+ this.geometry = geometry;
39
+ }
40
+ setTimetracks(timeTracks) {
41
+ this.timeTracks = timeTracks;
42
+ }
43
+ interpolate(time) {
44
+ const { timeTracks, geometry } = this;
45
+ if (!timeTracks) {
46
+ return null;
47
+ }
48
+ const resultArray = [];
49
+ const info = {
50
+ outOfRange: 0,
51
+ processed: 0,
52
+ };
53
+ for (let i = 0; i < timeTracks.length; i++) {
54
+ const { times, coordinates } = timeTracks[i];
55
+ if (times[times.length - 1] < time)
56
+ continue;
57
+ info.processed++;
58
+ const timeIndex = (0, search_binary_1.findFirstIndexInRange)(times, time);
59
+ if (timeIndex === null) {
60
+ info.outOfRange++;
61
+ continue;
62
+ }
63
+ const timeFraction = (time - times[timeIndex]) / (times[timeIndex + 1] - times[timeIndex]);
64
+ const interpolated = (geometry === GEOMETRY.CARTESIAN3D) ?
65
+ (0, methods_1.sphericalLinearInterpolation_Cartesian3d)(coordinates[timeIndex], coordinates[timeIndex + 1], timeFraction) :
66
+ (0, methods_1.sphericalLinearInterpolation_Mercator)(coordinates[timeIndex], coordinates[timeIndex + 1], timeFraction);
67
+ resultArray.push(...interpolated);
68
+ }
69
+ return new Float32Array(resultArray);
70
+ }
71
+ // implicit methods
72
+ _orderTimeTracks() {
73
+ this.timeTracks.sort((a, b) => a.times[0] - b.times[0]);
74
+ }
75
+ _setStartTimes() {
76
+ this.timeTracksStartTimes = this.timeTracks.map(tt => tt.times[0]);
77
+ }
78
+ }
79
+ exports.TimeTrackInterpolator = TimeTrackInterpolator;
@@ -1,3 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webworkerStr = void 0;
1
4
  const webworkerStr = `
2
5
 
3
6
  const WORLD_RADIUS_3D = 6378.137;
@@ -176,5 +179,5 @@ self.onmessage = function (e) {
176
179
  /* eslint-disable-next-line no-restricted-globals */
177
180
  self.postMessage(true);
178
181
  }
179
- `;
180
- export { webworkerStr };
182
+ `;
183
+ exports.webworkerStr = webworkerStr;
@@ -1,51 +1,48 @@
1
- import { TimeTrackInterpolator, GEOMETRY } from './timetrack-interpolator';
2
-
3
-
4
- const interpolator = new TimeTrackInterpolator({ geometry: GEOMETRY.CARTESIAN3D });
5
-
6
- /* eslint-disable-next-line no-restricted-globals */
7
- self.onmessage = function (e) {
8
-
9
- const { geometry = null, timeTracks = null, time = null } = e.data;
10
-
11
- if (geometry !== null) {
12
- try {
13
- interpolator.setGeometry(geometry);
14
- } catch (error) {
15
- /* eslint-disable-next-line no-restricted-globals */
16
- self.postMessage({ error: error.message });
17
- return;
18
- }
19
- }
20
-
21
- if (timeTracks !== null) {
22
- try {
23
- interpolator.setTimetracks(timeTracks);
24
- } catch (error) {
25
- /* eslint-disable-next-line no-restricted-globals */
26
- self.postMessage({ error: error.message });
27
- return;
28
- }
29
- }
30
-
31
- if (time !== null) {
32
- try {
33
- const result = interpolator.interpolate(time);
34
- if (result === null) {
35
- /* eslint-disable-next-line no-restricted-globals */
36
- self.postMessage({ error: 'No TimeTracks Data' });
37
- return;
38
- }
39
- /* eslint-disable-next-line no-restricted-globals */
40
- self.postMessage(result, [result.buffer]);
41
- return;
42
- } catch (error) {
43
- /* eslint-disable-next-line no-restricted-globals */
44
- self.postMessage({ error: error.message });
45
- return;
46
- }
47
- }
48
- /* eslint-disable-next-line no-restricted-globals */
49
- self.postMessage(true);
50
- }
51
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const timetrack_interpolator_1 = require("./timetrack-interpolator");
4
+ const interpolator = new timetrack_interpolator_1.TimeTrackInterpolator({ geometry: timetrack_interpolator_1.GEOMETRY.CARTESIAN3D });
5
+ /* eslint-disable-next-line no-restricted-globals */
6
+ self.onmessage = function (e) {
7
+ const { geometry = null, timeTracks = null, time = null } = e.data;
8
+ if (geometry !== null) {
9
+ try {
10
+ interpolator.setGeometry(geometry);
11
+ }
12
+ catch (error) {
13
+ /* eslint-disable-next-line no-restricted-globals */
14
+ self.postMessage({ error: error.message });
15
+ return;
16
+ }
17
+ }
18
+ if (timeTracks !== null) {
19
+ try {
20
+ interpolator.setTimetracks(timeTracks);
21
+ }
22
+ catch (error) {
23
+ /* eslint-disable-next-line no-restricted-globals */
24
+ self.postMessage({ error: error.message });
25
+ return;
26
+ }
27
+ }
28
+ if (time !== null) {
29
+ try {
30
+ const result = interpolator.interpolate(time);
31
+ if (result === null) {
32
+ /* eslint-disable-next-line no-restricted-globals */
33
+ self.postMessage({ error: 'No TimeTracks Data' });
34
+ return;
35
+ }
36
+ /* eslint-disable-next-line no-restricted-globals */
37
+ self.postMessage(result, [result.buffer]);
38
+ return;
39
+ }
40
+ catch (error) {
41
+ /* eslint-disable-next-line no-restricted-globals */
42
+ self.postMessage({ error: error.message });
43
+ return;
44
+ }
45
+ }
46
+ /* eslint-disable-next-line no-restricted-globals */
47
+ self.postMessage(true);
48
+ };
@@ -1,19 +1,20 @@
1
- const populateFloat32Array = Object.freeze({
2
- fillFloat32Array: (length, data) => {
3
- const result = new Float32Array(length);
4
- result.fill(data);
5
- return result;
6
- },
7
-
8
- fillWithListData: (length, listdata) => {
9
- const result = new Float32Array(length * listdata.length);
10
- let offset = 0;
11
- for (let i = 0; i < length; i++) {
12
- result.set(listdata, offset);
13
- offset += listdata.length;
14
- }
15
- return result
16
- }
17
- });
18
-
19
- export { populateFloat32Array };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.populateFloat32Array = void 0;
4
+ const populateFloat32Array = Object.freeze({
5
+ fillFloat32Array: (length, data) => {
6
+ const result = new Float32Array(length);
7
+ result.fill(data);
8
+ return result;
9
+ },
10
+ fillWithListData: (length, listdata) => {
11
+ const result = new Float32Array(length * listdata.length);
12
+ let offset = 0;
13
+ for (let i = 0; i < length; i++) {
14
+ result.set(listdata, offset);
15
+ offset += listdata.length;
16
+ }
17
+ return result;
18
+ }
19
+ });
20
+ exports.populateFloat32Array = populateFloat32Array;
@@ -1,17 +1,20 @@
1
- function arraysEqual(a, b) {
2
- if (a === b) return true;
3
- if (a == null || b == null) return false;
4
- if (a.length !== b.length) return false;
5
-
6
- // If you don't care about the order of the elements inside
7
- // the array, you should sort both arrays here.
8
- // Please note that calling sort on an array will modify that array.
9
- // you might want to clone your array first.
10
-
11
- for (var i = 0; i < a.length; ++i) {
12
- if (a[i] !== b[i]) return false;
13
- }
14
- return true;
15
- }
16
-
17
- export { arraysEqual };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arraysEqual = arraysEqual;
4
+ function arraysEqual(a, b) {
5
+ if (a === b)
6
+ return true;
7
+ if (a == null || b == null)
8
+ return false;
9
+ if (a.length !== b.length)
10
+ return false;
11
+ // If you don't care about the order of the elements inside
12
+ // the array, you should sort both arrays here.
13
+ // Please note that calling sort on an array will modify that array.
14
+ // you might want to clone your array first.
15
+ for (var i = 0; i < a.length; ++i) {
16
+ if (a[i] !== b[i])
17
+ return false;
18
+ }
19
+ return true;
20
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.timefilters = void 0;
37
+ exports.timefilters = __importStar(require("./timefilters"));
@@ -1,32 +1,32 @@
1
- // TODO: fix logic error in instantDebounce
2
- function instantDebounce(func, delay) {
3
- let timeout = null;
4
- let lastArgs = null;
5
- let runAtEnd = false;
6
-
7
- const timeoutMethod = () => {
8
- setTimeout(() => {
9
- if (runAtEnd) {
10
- func(...lastArgs);
11
- lastArgs = null;
12
- // console.log("processed with delay")
13
- runAtEnd = false;
14
- }
15
- timeout = null;
16
- }, delay);
17
- }
18
-
19
- return function () {
20
- if (timeout) {
21
- lastArgs = arguments;
22
- runAtEnd = true;
23
- return;
24
- } else {
25
- func(...args);
26
- // console.log("processed instantly")
27
- timeout = timeoutMethod();
28
- }
29
- }
30
- }
31
-
32
- export { instantDebounce };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.instantDebounce = instantDebounce;
4
+ // TODO: fix logic error in instantDebounce
5
+ function instantDebounce(func, delay) {
6
+ let timeout = null;
7
+ let lastArgs = null;
8
+ let runAtEnd = false;
9
+ const timeoutMethod = () => {
10
+ setTimeout(() => {
11
+ if (runAtEnd) {
12
+ func(...lastArgs);
13
+ lastArgs = null;
14
+ // console.log("processed with delay")
15
+ runAtEnd = false;
16
+ }
17
+ timeout = null;
18
+ }, delay);
19
+ };
20
+ return function () {
21
+ if (timeout) {
22
+ lastArgs = arguments;
23
+ runAtEnd = true;
24
+ return;
25
+ }
26
+ else {
27
+ func(...args);
28
+ // console.log("processed instantly")
29
+ timeout = timeoutMethod();
30
+ }
31
+ };
32
+ }
@@ -1,46 +1,46 @@
1
- const fence = (gl) => new Promise((resolve, reject) => {
2
- // This will create a fence. If this follows a `readPixels()` call, then it
3
- // will signal to WebGL that the read instruction should be asynchronous.
4
- // This means JS can continue to work on other tasks while the read instruction
5
- // completes.
6
- const sync = gl.fenceSync(gl.SYNC_GPU_COMMANDS_COMPLETE, 0);
7
- gl.flush();
8
-
9
- // There are TWO possible ways to check on the status of a WebGLSync object.
10
-
11
- // 1. This will check it using clientWaitSync()
12
- const checkStatus_v1 = () => {
13
- const status = gl.clientWaitSync(sync, 0, 0);
14
-
15
- // There are four possible values for status:
16
- // a. ALREADY_SIGNALED and CONDITION_SATISFIED (done)
17
- // b. TIMEOUT_EXPIRED (check again later)
18
- // c. WAIT_FAILED (there was an error)
19
- if (status === gl.TIMEOUT_EXPIRED) {
20
- setTimeout(checkStatus_v1, 1);
21
- } else if (status === gl.ALREADY_SIGNALED || status === gl.CONDITION_SATISFIED) {
22
- gl.deleteSync(sync);
23
- resolve();
24
- } else {
25
- gl.deleteSync(sync);
26
- reject(new Error('Fence did not resolve normally for some reason'));
27
- }
28
- };
29
-
30
- // 2. This will check with getSyncParameter(s, gl.SYNC_STATUS)
31
- const checkStatus_v2 = () => {
32
- const status = gl.getSyncParameter(sync, gl.SYNC_STATUS);
33
-
34
- // There are only two possible values for status: SIGNALED and UNSIGNALED
35
- // Note that there is no `error` signal, so there is no reason to use `reject()` here
36
- if (status === gl.SIGNALED) {
37
- gl.deleteSync(sync);
38
- resolve();
39
- } else {
40
- setTimeout(checkStatus_v2, 1);
41
- }
42
- };
43
- setTimeout(checkStatus_v2, 1);
44
- });
45
-
46
- export { fence };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fence = void 0;
4
+ const fence = (gl) => new Promise((resolve, reject) => {
5
+ // This will create a fence. If this follows a `readPixels()` call, then it
6
+ // will signal to WebGL that the read instruction should be asynchronous.
7
+ // This means JS can continue to work on other tasks while the read instruction
8
+ // completes.
9
+ const sync = gl.fenceSync(gl.SYNC_GPU_COMMANDS_COMPLETE, 0);
10
+ gl.flush();
11
+ // There are TWO possible ways to check on the status of a WebGLSync object.
12
+ // 1. This will check it using clientWaitSync()
13
+ const checkStatus_v1 = () => {
14
+ const status = gl.clientWaitSync(sync, 0, 0);
15
+ // There are four possible values for status:
16
+ // a. ALREADY_SIGNALED and CONDITION_SATISFIED (done)
17
+ // b. TIMEOUT_EXPIRED (check again later)
18
+ // c. WAIT_FAILED (there was an error)
19
+ if (status === gl.TIMEOUT_EXPIRED) {
20
+ setTimeout(checkStatus_v1, 1);
21
+ }
22
+ else if (status === gl.ALREADY_SIGNALED || status === gl.CONDITION_SATISFIED) {
23
+ gl.deleteSync(sync);
24
+ resolve();
25
+ }
26
+ else {
27
+ gl.deleteSync(sync);
28
+ reject(new Error('Fence did not resolve normally for some reason'));
29
+ }
30
+ };
31
+ // 2. This will check with getSyncParameter(s, gl.SYNC_STATUS)
32
+ const checkStatus_v2 = () => {
33
+ const status = gl.getSyncParameter(sync, gl.SYNC_STATUS);
34
+ // There are only two possible values for status: SIGNALED and UNSIGNALED
35
+ // Note that there is no `error` signal, so there is no reason to use `reject()` here
36
+ if (status === gl.SIGNALED) {
37
+ gl.deleteSync(sync);
38
+ resolve();
39
+ }
40
+ else {
41
+ setTimeout(checkStatus_v2, 1);
42
+ }
43
+ };
44
+ setTimeout(checkStatus_v2, 1);
45
+ });
46
+ exports.fence = fence;