@luma.gl/webgl 8.6.0-alpha.1 → 8.6.0-alpha.2

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 (651) hide show
  1. package/dist/api/device2.d.ts +52 -0
  2. package/dist/api/device2.d.ts.map +1 -0
  3. package/dist/api/device2.js +23 -0
  4. package/dist/api/device2.js.map +1 -0
  5. package/dist/classes/accessor.js +2 -2
  6. package/dist/classes/accessor.js.map +1 -1
  7. package/dist/classes/accessor.ts.disabled +1 -1
  8. package/dist/classes/clear.d.ts +3 -2
  9. package/dist/classes/clear.d.ts.map +1 -1
  10. package/dist/classes/clear.js +7 -4
  11. package/dist/classes/clear.js.map +1 -1
  12. package/dist/classes/copy-and-blit.d.ts +18 -1
  13. package/dist/classes/copy-and-blit.d.ts.map +1 -1
  14. package/dist/classes/copy-and-blit.js +30 -25
  15. package/dist/classes/copy-and-blit.js.map +1 -1
  16. package/dist/classes/framebuffer.d.ts +10 -1
  17. package/dist/classes/framebuffer.d.ts.map +1 -1
  18. package/dist/classes/framebuffer.js +15 -15
  19. package/dist/classes/framebuffer.js.map +1 -1
  20. package/dist/classes/program-configuration.d.ts +2 -2
  21. package/dist/classes/program-configuration.d.ts.map +1 -1
  22. package/dist/classes/program-configuration.js +1 -1
  23. package/dist/classes/program-configuration.js.map +1 -1
  24. package/dist/classes/program.d.ts +6 -6
  25. package/dist/classes/program.d.ts.map +1 -1
  26. package/dist/classes/program.js +11 -9
  27. package/dist/classes/program.js.map +1 -1
  28. package/dist/classes/query.d.ts.map +1 -1
  29. package/dist/classes/query.js +6 -5
  30. package/dist/classes/query.js.map +1 -1
  31. package/dist/classes/renderbuffer-formats.js +1 -1
  32. package/dist/classes/renderbuffer-formats.js.map +1 -1
  33. package/dist/classes/renderbuffer.d.ts.map +1 -1
  34. package/dist/classes/renderbuffer.js +4 -3
  35. package/dist/classes/renderbuffer.js.map +1 -1
  36. package/dist/classes/texture-2d.d.ts +4 -3
  37. package/dist/classes/texture-2d.d.ts.map +1 -1
  38. package/dist/classes/texture-2d.js +5 -8
  39. package/dist/classes/texture-2d.js.map +1 -1
  40. package/dist/classes/texture-3d.d.ts +3 -2
  41. package/dist/classes/texture-3d.d.ts.map +1 -1
  42. package/dist/classes/texture-3d.js +15 -6
  43. package/dist/classes/texture-3d.js.map +1 -1
  44. package/dist/classes/texture-cube.d.ts +2 -1
  45. package/dist/classes/texture-cube.d.ts.map +1 -1
  46. package/dist/classes/texture-cube.js +3 -4
  47. package/dist/classes/texture-cube.js.map +1 -1
  48. package/dist/classes/texture-formats.js +1 -1
  49. package/dist/classes/texture-formats.js.map +1 -1
  50. package/dist/classes/texture.d.ts +14 -9
  51. package/dist/classes/texture.d.ts.map +1 -1
  52. package/dist/classes/texture.js +19 -18
  53. package/dist/classes/texture.js.map +1 -1
  54. package/dist/classes/transform-feedback.d.ts.map +1 -1
  55. package/dist/classes/transform-feedback.js +5 -4
  56. package/dist/classes/transform-feedback.js.map +1 -1
  57. package/dist/classes/uniform-buffer-layout.js +1 -1
  58. package/dist/classes/uniform-buffer-layout.js.map +1 -1
  59. package/dist/classes/uniforms.d.ts +0 -1
  60. package/dist/classes/uniforms.d.ts.map +1 -1
  61. package/dist/classes/uniforms.js +1 -2
  62. package/dist/classes/uniforms.js.map +1 -1
  63. package/dist/classes/vertex-array-object.d.ts +1 -1
  64. package/dist/classes/vertex-array-object.d.ts.map +1 -1
  65. package/dist/classes/vertex-array-object.js +8 -9
  66. package/dist/classes/vertex-array-object.js.map +1 -1
  67. package/dist/classes/vertex-array.d.ts +1 -1
  68. package/dist/classes/vertex-array.d.ts.map +1 -1
  69. package/dist/classes/vertex-array.js +1 -2
  70. package/dist/classes/vertex-array.js.map +1 -1
  71. package/dist/classes/webgl-buffer.d.ts +2 -0
  72. package/dist/classes/webgl-buffer.d.ts.map +1 -1
  73. package/dist/classes/webgl-buffer.js +8 -5
  74. package/dist/classes/webgl-buffer.js.map +1 -1
  75. package/dist/classes/webgl-resource.d.ts +6 -4
  76. package/dist/classes/webgl-resource.d.ts.map +1 -1
  77. package/dist/classes/webgl-resource.js +12 -8
  78. package/dist/classes/webgl-resource.js.map +1 -1
  79. package/dist/classes/webgl-shader.d.ts +3 -1
  80. package/dist/classes/webgl-shader.d.ts.map +1 -1
  81. package/dist/classes/webgl-shader.js +7 -4
  82. package/dist/classes/webgl-shader.js.map +1 -1
  83. package/dist/context/context/context-state.d.ts +18 -0
  84. package/dist/context/context/context-state.d.ts.map +1 -0
  85. package/dist/context/context/context-state.js +26 -0
  86. package/dist/context/context/context-state.js.map +1 -0
  87. package/dist/context/context/create-context.d.ts +40 -0
  88. package/dist/context/context/create-context.d.ts.map +1 -0
  89. package/dist/context/context/create-context.js +37 -0
  90. package/dist/context/context/create-context.js.map +1 -0
  91. package/dist/context/context/device-pixels.d.ts +25 -0
  92. package/dist/context/context/device-pixels.d.ts.map +1 -0
  93. package/dist/context/context/device-pixels.js +98 -0
  94. package/dist/context/context/device-pixels.js.map +1 -0
  95. package/dist/context/context/get-canvas.d.ts +13 -0
  96. package/dist/context/context/get-canvas.d.ts.map +1 -0
  97. package/dist/context/context/get-canvas.js +31 -0
  98. package/dist/context/context/get-canvas.js.map +1 -0
  99. package/dist/context/context/resize-context.d.ts +20 -0
  100. package/dist/context/context/resize-context.d.ts.map +1 -0
  101. package/dist/context/context/resize-context.js +15 -0
  102. package/dist/context/context/resize-context.js.map +1 -0
  103. package/dist/context/context/webgl-checks.d.ts +13 -0
  104. package/dist/context/context/webgl-checks.d.ts.map +1 -0
  105. package/dist/context/context/webgl-checks.js +34 -0
  106. package/dist/context/context/webgl-checks.js.map +1 -0
  107. package/dist/context/parameters/unified-parameter-api.d.ts +30 -0
  108. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -0
  109. package/dist/context/parameters/unified-parameter-api.js +65 -0
  110. package/dist/context/parameters/unified-parameter-api.js.map +1 -0
  111. package/dist/context/parameters/webgl-parameter-tables.d.ts +169 -0
  112. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -0
  113. package/dist/context/parameters/webgl-parameter-tables.js +445 -0
  114. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
  115. package/dist/context/parameters/webgl-parameters.d.ts +144 -0
  116. package/dist/context/parameters/webgl-parameters.d.ts.map +1 -0
  117. package/dist/context/parameters/webgl-parameters.js +2 -0
  118. package/dist/context/parameters/webgl-parameters.js.map +1 -0
  119. package/dist/context/polyfill/get-parameter-polyfill.d.ts +2 -0
  120. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -0
  121. package/dist/context/polyfill/get-parameter-polyfill.js +91 -0
  122. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
  123. package/dist/context/polyfill/polyfill-context.d.ts +5 -0
  124. package/dist/context/polyfill/polyfill-context.d.ts.map +1 -0
  125. package/dist/context/polyfill/polyfill-context.js +91 -0
  126. package/dist/context/polyfill/polyfill-context.js.map +1 -0
  127. package/dist/context/polyfill/polyfill-table.d.ts +48 -0
  128. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -0
  129. package/dist/context/polyfill/polyfill-table.js +160 -0
  130. package/dist/context/polyfill/polyfill-table.js.map +1 -0
  131. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts +2 -0
  132. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -0
  133. package/dist/context/polyfill/polyfill-vertex-array-object.js +335 -0
  134. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  135. package/dist/context/state-tracker/deep-array-equal.d.ts +3 -0
  136. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -0
  137. package/dist/context/state-tracker/deep-array-equal.js +21 -0
  138. package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
  139. package/dist/context/state-tracker/track-context-state.d.ts +22 -0
  140. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -0
  141. package/dist/context/state-tracker/track-context-state.js +169 -0
  142. package/dist/context/state-tracker/track-context-state.js.map +1 -0
  143. package/dist/context/state-tracker/with-parameters.d.ts +13 -0
  144. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -0
  145. package/dist/context/state-tracker/with-parameters.js +36 -0
  146. package/dist/context/state-tracker/with-parameters.js.map +1 -0
  147. package/dist/debug/debug-uniforms.js +1 -1
  148. package/dist/debug/debug-uniforms.js.map +1 -1
  149. package/dist/debug/debug-vertex-array.js +2 -2
  150. package/dist/debug/debug-vertex-array.js.map +1 -1
  151. package/dist/device/check-glsl-extension.d.ts +4 -0
  152. package/dist/device/check-glsl-extension.d.ts.map +1 -0
  153. package/dist/device/check-glsl-extension.js +22 -0
  154. package/dist/device/check-glsl-extension.js.map +1 -0
  155. package/dist/device/device-features.d.ts +12 -0
  156. package/dist/device/device-features.d.ts.map +1 -0
  157. package/dist/device/device-features.js +123 -0
  158. package/dist/device/device-features.js.map +1 -0
  159. package/dist/device/device-limits.d.ts +51 -0
  160. package/dist/device/device-limits.d.ts.map +1 -0
  161. package/dist/device/device-limits.js +90 -0
  162. package/dist/device/device-limits.js.map +1 -0
  163. package/dist/device/get-device-info.d.ts +4 -0
  164. package/dist/device/get-device-info.d.ts.map +1 -0
  165. package/dist/device/get-device-info.js +44 -0
  166. package/dist/device/get-device-info.js.map +1 -0
  167. package/dist/device/webgl-device.d.ts +111 -0
  168. package/dist/device/webgl-device.d.ts.map +1 -0
  169. package/dist/device/webgl-device.js +208 -0
  170. package/dist/device/webgl-device.js.map +1 -0
  171. package/dist/es5/api/device2.js +42 -0
  172. package/dist/es5/api/device2.js.map +1 -0
  173. package/dist/es5/bundle.js +1 -1
  174. package/dist/es5/bundle.js.map +1 -1
  175. package/dist/es5/classes/accessor.js +104 -74
  176. package/dist/es5/classes/accessor.js.map +1 -1
  177. package/dist/es5/classes/accessor.ts.disabled +1 -1
  178. package/dist/es5/classes/clear.js +55 -34
  179. package/dist/es5/classes/clear.js.map +1 -1
  180. package/dist/es5/classes/copy-and-blit.js +175 -156
  181. package/dist/es5/classes/copy-and-blit.js.map +1 -1
  182. package/dist/es5/classes/framebuffer.js +647 -518
  183. package/dist/es5/classes/framebuffer.js.map +1 -1
  184. package/dist/es5/classes/program-configuration.js +138 -121
  185. package/dist/es5/classes/program-configuration.js.map +1 -1
  186. package/dist/es5/classes/program.js +368 -292
  187. package/dist/es5/classes/program.js.map +1 -1
  188. package/dist/es5/classes/query.js +172 -107
  189. package/dist/es5/classes/query.js.map +1 -1
  190. package/dist/es5/classes/renderbuffer-formats.js +126 -164
  191. package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
  192. package/dist/es5/classes/renderbuffer.js +151 -98
  193. package/dist/es5/classes/renderbuffer.js.map +1 -1
  194. package/dist/es5/classes/texture-2d.js +44 -17
  195. package/dist/es5/classes/texture-2d.js.map +1 -1
  196. package/dist/es5/classes/texture-3d.js +107 -48
  197. package/dist/es5/classes/texture-3d.js.map +1 -1
  198. package/dist/es5/classes/texture-cube.js +169 -110
  199. package/dist/es5/classes/texture-cube.js.map +1 -1
  200. package/dist/es5/classes/texture-formats.js +42 -71
  201. package/dist/es5/classes/texture-formats.js.map +1 -1
  202. package/dist/es5/classes/texture.js +780 -665
  203. package/dist/es5/classes/texture.js.map +1 -1
  204. package/dist/es5/classes/transform-feedback.js +206 -150
  205. package/dist/es5/classes/transform-feedback.js.map +1 -1
  206. package/dist/es5/classes/uniform-buffer-layout.js +103 -89
  207. package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
  208. package/dist/es5/classes/uniforms.js +39 -80
  209. package/dist/es5/classes/uniforms.js.map +1 -1
  210. package/dist/es5/classes/vertex-array-object.js +268 -209
  211. package/dist/es5/classes/vertex-array-object.js.map +1 -1
  212. package/dist/es5/classes/vertex-array.js +348 -303
  213. package/dist/es5/classes/vertex-array.js.map +1 -1
  214. package/dist/es5/classes/webgl-buffer.js +374 -303
  215. package/dist/es5/classes/webgl-buffer.js.map +1 -1
  216. package/dist/es5/classes/webgl-resource.js +231 -161
  217. package/dist/es5/classes/webgl-resource.js.map +1 -1
  218. package/dist/es5/classes/webgl-shader.js +230 -134
  219. package/dist/es5/classes/webgl-shader.js.map +1 -1
  220. package/dist/es5/context/context/context-state.js +31 -0
  221. package/dist/es5/context/context/context-state.js.map +1 -0
  222. package/dist/es5/context/context/create-context.js +57 -0
  223. package/dist/es5/context/context/create-context.js.map +1 -0
  224. package/dist/es5/context/context/device-pixels.js +115 -0
  225. package/dist/es5/context/context/device-pixels.js.map +1 -0
  226. package/dist/es5/context/context/get-canvas.js +40 -0
  227. package/dist/es5/context/context/get-canvas.js.map +1 -0
  228. package/dist/es5/context/context/resize-context.js +23 -0
  229. package/dist/es5/context/context/resize-context.js.map +1 -0
  230. package/dist/es5/context/context/webgl-checks.js +54 -0
  231. package/dist/es5/context/context/webgl-checks.js.map +1 -0
  232. package/dist/es5/context/parameters/unified-parameter-api.js +95 -0
  233. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -0
  234. package/dist/es5/context/parameters/webgl-parameter-tables.js +392 -0
  235. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -0
  236. package/dist/es5/context/parameters/webgl-parameters.js +6 -0
  237. package/dist/es5/context/parameters/webgl-parameters.js.map +1 -0
  238. package/dist/es5/context/polyfill/get-parameter-polyfill.js +81 -0
  239. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -0
  240. package/dist/es5/context/polyfill/polyfill-context.js +134 -0
  241. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -0
  242. package/dist/es5/context/polyfill/polyfill-table.js +166 -0
  243. package/dist/es5/context/polyfill/polyfill-table.js.map +1 -0
  244. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +341 -0
  245. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  246. package/dist/es5/context/state-tracker/deep-array-equal.js +28 -0
  247. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -0
  248. package/dist/es5/context/state-tracker/track-context-state.js +196 -0
  249. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -0
  250. package/dist/es5/context/state-tracker/with-parameters.js +44 -0
  251. package/dist/es5/context/state-tracker/with-parameters.js.map +1 -0
  252. package/dist/es5/debug/debug-program-configuration.js +48 -20
  253. package/dist/es5/debug/debug-program-configuration.js.map +1 -1
  254. package/dist/es5/debug/debug-uniforms.js +110 -70
  255. package/dist/es5/debug/debug-uniforms.js.map +1 -1
  256. package/dist/es5/debug/debug-vertex-array.js +49 -54
  257. package/dist/es5/debug/debug-vertex-array.js.map +1 -1
  258. package/dist/es5/device/check-glsl-extension.js +33 -0
  259. package/dist/es5/device/check-glsl-extension.js.map +1 -0
  260. package/dist/es5/device/device-features.js +152 -0
  261. package/dist/es5/device/device-features.js.map +1 -0
  262. package/dist/es5/device/device-limits.js +64 -0
  263. package/dist/es5/device/device-limits.js.map +1 -0
  264. package/dist/es5/device/get-device-info.js +55 -0
  265. package/dist/es5/device/get-device-info.js.map +1 -0
  266. package/dist/es5/device/webgl-device.js +279 -0
  267. package/dist/es5/device/webgl-device.js.map +1 -0
  268. package/dist/es5/index.js +179 -189
  269. package/dist/es5/index.js.map +1 -1
  270. package/dist/es5/init.js +18 -14
  271. package/dist/es5/init.js.map +1 -1
  272. package/dist/es5/webgl-utils/attribute-utils.js +74 -87
  273. package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
  274. package/dist/es5/webgl-utils/constants-to-keys.js +7 -7
  275. package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
  276. package/dist/es5/webgl-utils/format-utils.js +4 -4
  277. package/dist/es5/webgl-utils/format-utils.js.map +1 -1
  278. package/dist/es5/webgl-utils/get-error.js +18 -18
  279. package/dist/es5/webgl-utils/get-error.js.map +1 -1
  280. package/dist/es5/webgl-utils/index.js +10 -10
  281. package/dist/es5/webgl-utils/is-old-ie.js +16 -0
  282. package/dist/es5/webgl-utils/is-old-ie.js.map +1 -0
  283. package/dist/es5/webgl-utils/parse-shader-compiler-log.js +53 -25
  284. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -1
  285. package/dist/es5/webgl-utils/texture-utils.js +32 -36
  286. package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
  287. package/dist/es5/webgl-utils/typed-array-utils.js +33 -32
  288. package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
  289. package/dist/es5/webgl-utils/webgl-info.ts.disabled +135 -0
  290. package/dist/esm/api/device2.js +23 -0
  291. package/dist/esm/api/device2.js.map +1 -0
  292. package/dist/esm/classes/accessor.js +2 -2
  293. package/dist/esm/classes/accessor.js.map +1 -1
  294. package/dist/esm/classes/accessor.ts.disabled +1 -1
  295. package/dist/esm/classes/clear.js +7 -4
  296. package/dist/esm/classes/clear.js.map +1 -1
  297. package/dist/esm/classes/copy-and-blit.js +30 -25
  298. package/dist/esm/classes/copy-and-blit.js.map +1 -1
  299. package/dist/esm/classes/framebuffer.js +15 -15
  300. package/dist/esm/classes/framebuffer.js.map +1 -1
  301. package/dist/esm/classes/program-configuration.js +1 -1
  302. package/dist/esm/classes/program-configuration.js.map +1 -1
  303. package/dist/esm/classes/program.js +11 -9
  304. package/dist/esm/classes/program.js.map +1 -1
  305. package/dist/esm/classes/query.js +6 -5
  306. package/dist/esm/classes/query.js.map +1 -1
  307. package/dist/esm/classes/renderbuffer-formats.js +1 -1
  308. package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
  309. package/dist/esm/classes/renderbuffer.js +4 -3
  310. package/dist/esm/classes/renderbuffer.js.map +1 -1
  311. package/dist/esm/classes/texture-2d.js +5 -8
  312. package/dist/esm/classes/texture-2d.js.map +1 -1
  313. package/dist/esm/classes/texture-3d.js +15 -6
  314. package/dist/esm/classes/texture-3d.js.map +1 -1
  315. package/dist/esm/classes/texture-cube.js +3 -4
  316. package/dist/esm/classes/texture-cube.js.map +1 -1
  317. package/dist/esm/classes/texture-formats.js +1 -1
  318. package/dist/esm/classes/texture-formats.js.map +1 -1
  319. package/dist/esm/classes/texture.js +19 -18
  320. package/dist/esm/classes/texture.js.map +1 -1
  321. package/dist/esm/classes/transform-feedback.js +5 -4
  322. package/dist/esm/classes/transform-feedback.js.map +1 -1
  323. package/dist/esm/classes/uniform-buffer-layout.js +1 -1
  324. package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
  325. package/dist/esm/classes/uniforms.js +1 -2
  326. package/dist/esm/classes/uniforms.js.map +1 -1
  327. package/dist/esm/classes/vertex-array-object.js +8 -9
  328. package/dist/esm/classes/vertex-array-object.js.map +1 -1
  329. package/dist/esm/classes/vertex-array.js +1 -2
  330. package/dist/esm/classes/vertex-array.js.map +1 -1
  331. package/dist/esm/classes/webgl-buffer.js +8 -5
  332. package/dist/esm/classes/webgl-buffer.js.map +1 -1
  333. package/dist/esm/classes/webgl-resource.js +12 -8
  334. package/dist/esm/classes/webgl-resource.js.map +1 -1
  335. package/dist/esm/classes/webgl-shader.js +7 -4
  336. package/dist/esm/classes/webgl-shader.js.map +1 -1
  337. package/dist/esm/context/context/context-state.js +26 -0
  338. package/dist/esm/context/context/context-state.js.map +1 -0
  339. package/dist/esm/context/context/create-context.js +37 -0
  340. package/dist/esm/context/context/create-context.js.map +1 -0
  341. package/dist/esm/context/context/device-pixels.js +98 -0
  342. package/dist/esm/context/context/device-pixels.js.map +1 -0
  343. package/dist/esm/context/context/get-canvas.js +31 -0
  344. package/dist/esm/context/context/get-canvas.js.map +1 -0
  345. package/dist/esm/context/context/resize-context.js +15 -0
  346. package/dist/esm/context/context/resize-context.js.map +1 -0
  347. package/dist/esm/context/context/webgl-checks.js +34 -0
  348. package/dist/esm/context/context/webgl-checks.js.map +1 -0
  349. package/dist/esm/context/parameters/unified-parameter-api.js +65 -0
  350. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -0
  351. package/dist/esm/context/parameters/webgl-parameter-tables.js +445 -0
  352. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -0
  353. package/dist/esm/context/parameters/webgl-parameters.js +2 -0
  354. package/dist/esm/context/parameters/webgl-parameters.js.map +1 -0
  355. package/dist/esm/context/polyfill/get-parameter-polyfill.js +91 -0
  356. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -0
  357. package/dist/esm/context/polyfill/polyfill-context.js +91 -0
  358. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -0
  359. package/dist/esm/context/polyfill/polyfill-table.js +160 -0
  360. package/dist/esm/context/polyfill/polyfill-table.js.map +1 -0
  361. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +335 -0
  362. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  363. package/dist/esm/context/state-tracker/deep-array-equal.js +21 -0
  364. package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -0
  365. package/dist/esm/context/state-tracker/track-context-state.js +169 -0
  366. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -0
  367. package/dist/esm/context/state-tracker/with-parameters.js +36 -0
  368. package/dist/esm/context/state-tracker/with-parameters.js.map +1 -0
  369. package/dist/esm/debug/debug-uniforms.js +1 -1
  370. package/dist/esm/debug/debug-uniforms.js.map +1 -1
  371. package/dist/esm/debug/debug-vertex-array.js +2 -2
  372. package/dist/esm/debug/debug-vertex-array.js.map +1 -1
  373. package/dist/esm/device/check-glsl-extension.js +22 -0
  374. package/dist/esm/device/check-glsl-extension.js.map +1 -0
  375. package/dist/esm/device/device-features.js +123 -0
  376. package/dist/esm/device/device-features.js.map +1 -0
  377. package/dist/esm/device/device-limits.js +90 -0
  378. package/dist/esm/device/device-limits.js.map +1 -0
  379. package/dist/esm/device/get-device-info.js +44 -0
  380. package/dist/esm/device/get-device-info.js.map +1 -0
  381. package/dist/esm/device/webgl-device.js +208 -0
  382. package/dist/esm/device/webgl-device.js.map +1 -0
  383. package/dist/esm/index.js +22 -20
  384. package/dist/esm/index.js.map +1 -1
  385. package/dist/esm/init.js +11 -8
  386. package/dist/esm/init.js.map +1 -1
  387. package/dist/esm/webgl-utils/attribute-utils.js +1 -1
  388. package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
  389. package/dist/esm/webgl-utils/constants-to-keys.js +1 -1
  390. package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
  391. package/dist/esm/webgl-utils/format-utils.js +1 -1
  392. package/dist/esm/webgl-utils/format-utils.js.map +1 -1
  393. package/dist/esm/{features/check-old-ie.js → webgl-utils/is-old-ie.js} +3 -3
  394. package/dist/esm/webgl-utils/is-old-ie.js.map +1 -0
  395. package/dist/esm/webgl-utils/texture-utils.js +2 -2
  396. package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
  397. package/dist/esm/webgl-utils/typed-array-utils.js +22 -18
  398. package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
  399. package/dist/esm/webgl-utils/webgl-info.ts.disabled +135 -0
  400. package/dist/index.d.ts +36 -20
  401. package/dist/index.d.ts.map +1 -1
  402. package/dist/index.js +22 -20
  403. package/dist/index.js.map +1 -1
  404. package/dist/init.d.ts.map +1 -1
  405. package/dist/init.js +11 -8
  406. package/dist/init.js.map +1 -1
  407. package/dist/webgl-utils/attribute-utils.d.ts +1 -1
  408. package/dist/webgl-utils/attribute-utils.js +1 -1
  409. package/dist/webgl-utils/attribute-utils.js.map +1 -1
  410. package/dist/webgl-utils/constants-to-keys.js +1 -1
  411. package/dist/webgl-utils/constants-to-keys.js.map +1 -1
  412. package/dist/webgl-utils/format-utils.d.ts +2 -2
  413. package/dist/webgl-utils/format-utils.js +1 -1
  414. package/dist/webgl-utils/format-utils.js.map +1 -1
  415. package/dist/webgl-utils/is-old-ie.d.ts +2 -0
  416. package/dist/webgl-utils/is-old-ie.d.ts.map +1 -0
  417. package/dist/{features/check-old-ie.js → webgl-utils/is-old-ie.js} +3 -3
  418. package/dist/webgl-utils/is-old-ie.js.map +1 -0
  419. package/dist/webgl-utils/texture-utils.d.ts +12 -8
  420. package/dist/webgl-utils/texture-utils.d.ts.map +1 -1
  421. package/dist/webgl-utils/texture-utils.js +2 -2
  422. package/dist/webgl-utils/texture-utils.js.map +1 -1
  423. package/dist/webgl-utils/typed-array-utils.d.ts +39 -32
  424. package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -1
  425. package/dist/webgl-utils/typed-array-utils.js +22 -18
  426. package/dist/webgl-utils/typed-array-utils.js.map +1 -1
  427. package/dist/webgl-utils/webgl-info.ts.disabled +135 -0
  428. package/package.json +5 -6
  429. package/src/.DS_Store +0 -0
  430. package/src/api/device2.ts +71 -0
  431. package/src/classes/accessor.js +2 -2
  432. package/src/classes/accessor.ts.disabled +1 -1
  433. package/src/classes/clear.ts +9 -4
  434. package/src/classes/copy-and-blit.ts +49 -52
  435. package/src/classes/framebuffer.ts +38 -35
  436. package/src/classes/program-configuration.ts +6 -6
  437. package/src/classes/program.ts +21 -15
  438. package/src/classes/query.ts +6 -6
  439. package/src/classes/renderbuffer-formats.ts +1 -1
  440. package/src/classes/renderbuffer.ts +5 -4
  441. package/src/classes/texture-2d.ts +6 -11
  442. package/src/classes/texture-3d.ts +16 -11
  443. package/src/classes/texture-cube.ts +7 -7
  444. package/src/classes/texture-formats.ts +1 -1
  445. package/src/classes/texture.ts +39 -40
  446. package/src/classes/transform-feedback.ts +14 -13
  447. package/src/classes/uniform-buffer-layout.ts +1 -1
  448. package/src/classes/uniforms.ts +4 -10
  449. package/src/classes/vertex-array-object.ts +10 -14
  450. package/src/classes/vertex-array.ts +2 -3
  451. package/src/classes/webgl-buffer.ts +7 -5
  452. package/src/classes/webgl-resource.ts +20 -18
  453. package/src/classes/webgl-shader.ts +6 -4
  454. package/src/context/context/context-state.ts +39 -0
  455. package/src/context/context/create-context.ts +83 -0
  456. package/src/context/context/device-pixels.ts +147 -0
  457. package/src/context/context/get-canvas.ts +37 -0
  458. package/src/context/context/resize-context.ts +37 -0
  459. package/src/context/context/webgl-checks.ts +49 -0
  460. package/src/context/parameters/unified-parameter-api.ts +127 -0
  461. package/src/context/parameters/webgl-parameter-tables.ts +625 -0
  462. package/src/context/parameters/webgl-parameters.ts +197 -0
  463. package/src/context/polyfill/get-parameter-polyfill.ts +118 -0
  464. package/src/context/polyfill/polyfill-context.ts +98 -0
  465. package/src/context/polyfill/polyfill-table.ts +162 -0
  466. package/src/context/polyfill/polyfill-vertex-array-object.ts +360 -0
  467. package/src/context/state-tracker/deep-array-equal.ts +20 -0
  468. package/src/context/state-tracker/track-context-state.ts +250 -0
  469. package/src/context/state-tracker/with-parameters.ts +50 -0
  470. package/src/debug/debug-uniforms.ts +1 -1
  471. package/src/debug/debug-vertex-array.ts +2 -4
  472. package/src/device/check-glsl-extension.ts +44 -0
  473. package/src/device/device-features.ts +227 -0
  474. package/src/device/device-limits.ts +150 -0
  475. package/src/device/get-device-info.ts +49 -0
  476. package/src/device/webgl-device.ts +406 -0
  477. package/src/index.ts +76 -22
  478. package/src/init.ts +12 -9
  479. package/src/types.ts +1 -1
  480. package/src/webgl-utils/attribute-utils.ts +1 -1
  481. package/src/webgl-utils/constants-to-keys.ts +1 -1
  482. package/src/webgl-utils/format-utils.ts +1 -1
  483. package/src/{features/check-old-ie.ts → webgl-utils/is-old-ie.ts} +3 -3
  484. package/src/webgl-utils/{texture-utils.js → texture-utils.ts} +13 -10
  485. package/src/webgl-utils/{typed-array-utils.js → typed-array-utils.ts} +59 -16
  486. package/src/webgl-utils/webgl-info.ts.disabled +135 -0
  487. package/dist/context/gl-context.d.ts +0 -15
  488. package/dist/context/gl-context.d.ts.map +0 -1
  489. package/dist/context/gl-context.js +0 -32
  490. package/dist/context/gl-context.js.map +0 -1
  491. package/dist/context/luma-context-data.d.ts +0 -31
  492. package/dist/context/luma-context-data.d.ts.map +0 -1
  493. package/dist/context/luma-context-data.js +0 -5
  494. package/dist/context/luma-context-data.js.map +0 -1
  495. package/dist/es5/context/gl-context.js +0 -46
  496. package/dist/es5/context/gl-context.js.map +0 -1
  497. package/dist/es5/context/luma-context-data.js +0 -12
  498. package/dist/es5/context/luma-context-data.js.map +0 -1
  499. package/dist/es5/features/check-glsl-extension.js +0 -40
  500. package/dist/es5/features/check-glsl-extension.js.map +0 -1
  501. package/dist/es5/features/check-old-ie.js +0 -15
  502. package/dist/es5/features/check-old-ie.js.map +0 -1
  503. package/dist/es5/features/features.js +0 -85
  504. package/dist/es5/features/features.js.map +0 -1
  505. package/dist/es5/features/index.js +0 -64
  506. package/dist/es5/features/index.js.map +0 -1
  507. package/dist/es5/features/limits.js +0 -72
  508. package/dist/es5/features/limits.js.map +0 -1
  509. package/dist/es5/features/webgl-features-table.js +0 -84
  510. package/dist/es5/features/webgl-features-table.js.map +0 -1
  511. package/dist/es5/features/webgl-limits-table.js +0 -172
  512. package/dist/es5/features/webgl-limits-table.js.map +0 -1
  513. package/dist/es5/utils/array-utils-flat.js +0 -50
  514. package/dist/es5/utils/array-utils-flat.js.map +0 -1
  515. package/dist/es5/utils/assert.js +0 -13
  516. package/dist/es5/utils/assert.js.map +0 -1
  517. package/dist/es5/utils/check-props.js +0 -50
  518. package/dist/es5/utils/check-props.js.map +0 -1
  519. package/dist/es5/utils/format-value.js +0 -57
  520. package/dist/es5/utils/format-value.js.map +0 -1
  521. package/dist/es5/utils/index.js +0 -68
  522. package/dist/es5/utils/index.js.map +0 -1
  523. package/dist/es5/utils/is-old-ie.js +0 -13
  524. package/dist/es5/utils/is-old-ie.js.map +0 -1
  525. package/dist/es5/utils/load-file.js +0 -43
  526. package/dist/es5/utils/load-file.js.map +0 -1
  527. package/dist/es5/utils/stub-methods.js +0 -25
  528. package/dist/es5/utils/stub-methods.js.map +0 -1
  529. package/dist/es5/utils/utils.js +0 -31
  530. package/dist/es5/utils/utils.js.map +0 -1
  531. package/dist/es5/webgl-utils/texture-utils.d.ts +0 -11
  532. package/dist/es5/webgl-utils/typed-array-utils.d.ts +0 -36
  533. package/dist/esm/context/gl-context.js +0 -32
  534. package/dist/esm/context/gl-context.js.map +0 -1
  535. package/dist/esm/context/luma-context-data.js +0 -5
  536. package/dist/esm/context/luma-context-data.js.map +0 -1
  537. package/dist/esm/features/check-glsl-extension.js +0 -27
  538. package/dist/esm/features/check-glsl-extension.js.map +0 -1
  539. package/dist/esm/features/check-old-ie.js.map +0 -1
  540. package/dist/esm/features/features.js +0 -67
  541. package/dist/esm/features/features.js.map +0 -1
  542. package/dist/esm/features/index.js +0 -5
  543. package/dist/esm/features/index.js.map +0 -1
  544. package/dist/esm/features/limits.js +0 -55
  545. package/dist/esm/features/limits.js.map +0 -1
  546. package/dist/esm/features/webgl-features-table.js +0 -71
  547. package/dist/esm/features/webgl-features-table.js.map +0 -1
  548. package/dist/esm/features/webgl-limits-table.js +0 -161
  549. package/dist/esm/features/webgl-limits-table.js.map +0 -1
  550. package/dist/esm/utils/array-utils-flat.js +0 -39
  551. package/dist/esm/utils/array-utils-flat.js.map +0 -1
  552. package/dist/esm/utils/assert.js +0 -6
  553. package/dist/esm/utils/assert.js.map +0 -1
  554. package/dist/esm/utils/check-props.js +0 -38
  555. package/dist/esm/utils/check-props.js.map +0 -1
  556. package/dist/esm/utils/format-value.js +0 -50
  557. package/dist/esm/utils/format-value.js.map +0 -1
  558. package/dist/esm/utils/index.js +0 -7
  559. package/dist/esm/utils/index.js.map +0 -1
  560. package/dist/esm/utils/is-old-ie.js +0 -5
  561. package/dist/esm/utils/is-old-ie.js.map +0 -1
  562. package/dist/esm/utils/load-file.js +0 -30
  563. package/dist/esm/utils/load-file.js.map +0 -1
  564. package/dist/esm/utils/stub-methods.js +0 -16
  565. package/dist/esm/utils/stub-methods.js.map +0 -1
  566. package/dist/esm/utils/utils.js +0 -20
  567. package/dist/esm/utils/utils.js.map +0 -1
  568. package/dist/esm/webgl-utils/texture-utils.d.ts +0 -11
  569. package/dist/esm/webgl-utils/typed-array-utils.d.ts +0 -36
  570. package/dist/features/check-glsl-extension.d.ts +0 -2
  571. package/dist/features/check-glsl-extension.d.ts.map +0 -1
  572. package/dist/features/check-glsl-extension.js +0 -27
  573. package/dist/features/check-glsl-extension.js.map +0 -1
  574. package/dist/features/check-old-ie.d.ts +0 -2
  575. package/dist/features/check-old-ie.d.ts.map +0 -1
  576. package/dist/features/check-old-ie.js.map +0 -1
  577. package/dist/features/features.d.ts +0 -6
  578. package/dist/features/features.d.ts.map +0 -1
  579. package/dist/features/features.js +0 -67
  580. package/dist/features/features.js.map +0 -1
  581. package/dist/features/index.d.ts +0 -5
  582. package/dist/features/index.d.ts.map +0 -1
  583. package/dist/features/index.js +0 -5
  584. package/dist/features/index.js.map +0 -1
  585. package/dist/features/limits.d.ts +0 -28
  586. package/dist/features/limits.d.ts.map +0 -1
  587. package/dist/features/limits.js +0 -55
  588. package/dist/features/limits.js.map +0 -1
  589. package/dist/features/webgl-features-table.d.ts +0 -30
  590. package/dist/features/webgl-features-table.d.ts.map +0 -1
  591. package/dist/features/webgl-features-table.js +0 -71
  592. package/dist/features/webgl-features-table.js.map +0 -1
  593. package/dist/features/webgl-limits-table.d.ts +0 -161
  594. package/dist/features/webgl-limits-table.d.ts.map +0 -1
  595. package/dist/features/webgl-limits-table.js +0 -161
  596. package/dist/features/webgl-limits-table.js.map +0 -1
  597. package/dist/utils/array-utils-flat.d.ts +0 -9
  598. package/dist/utils/array-utils-flat.d.ts.map +0 -1
  599. package/dist/utils/array-utils-flat.js +0 -39
  600. package/dist/utils/array-utils-flat.js.map +0 -1
  601. package/dist/utils/assert.d.ts +0 -2
  602. package/dist/utils/assert.d.ts.map +0 -1
  603. package/dist/utils/assert.js +0 -6
  604. package/dist/utils/assert.js.map +0 -1
  605. package/dist/utils/check-props.d.ts +0 -2
  606. package/dist/utils/check-props.d.ts.map +0 -1
  607. package/dist/utils/check-props.js +0 -38
  608. package/dist/utils/check-props.js.map +0 -1
  609. package/dist/utils/format-value.d.ts +0 -5
  610. package/dist/utils/format-value.d.ts.map +0 -1
  611. package/dist/utils/format-value.js +0 -50
  612. package/dist/utils/format-value.js.map +0 -1
  613. package/dist/utils/index.d.ts +0 -7
  614. package/dist/utils/index.d.ts.map +0 -1
  615. package/dist/utils/index.js +0 -7
  616. package/dist/utils/index.js.map +0 -1
  617. package/dist/utils/is-old-ie.d.ts +0 -4
  618. package/dist/utils/is-old-ie.d.ts.map +0 -1
  619. package/dist/utils/is-old-ie.js +0 -5
  620. package/dist/utils/is-old-ie.js.map +0 -1
  621. package/dist/utils/load-file.d.ts +0 -4
  622. package/dist/utils/load-file.d.ts.map +0 -1
  623. package/dist/utils/load-file.js +0 -30
  624. package/dist/utils/load-file.js.map +0 -1
  625. package/dist/utils/stub-methods.d.ts +0 -2
  626. package/dist/utils/stub-methods.d.ts.map +0 -1
  627. package/dist/utils/stub-methods.js +0 -16
  628. package/dist/utils/stub-methods.js.map +0 -1
  629. package/dist/utils/utils.d.ts +0 -15
  630. package/dist/utils/utils.d.ts.map +0 -1
  631. package/dist/utils/utils.js +0 -20
  632. package/dist/utils/utils.js.map +0 -1
  633. package/src/context/gl-context.ts +0 -31
  634. package/src/context/luma-context-data.ts +0 -27
  635. package/src/features/check-glsl-extension.ts +0 -34
  636. package/src/features/features.ts +0 -80
  637. package/src/features/index.ts +0 -5
  638. package/src/features/limits.ts +0 -66
  639. package/src/features/webgl-features-table.ts +0 -104
  640. package/src/features/webgl-limits-table.ts +0 -51
  641. package/src/utils/array-utils-flat.ts +0 -56
  642. package/src/utils/assert.ts +0 -7
  643. package/src/utils/check-props.ts +0 -68
  644. package/src/utils/format-value.ts +0 -37
  645. package/src/utils/index.ts +0 -6
  646. package/src/utils/is-old-ie.ts +0 -6
  647. package/src/utils/load-file.ts +0 -40
  648. package/src/utils/stub-methods.ts +0 -20
  649. package/src/utils/utils.ts +0 -35
  650. package/src/webgl-utils/texture-utils.d.ts +0 -11
  651. package/src/webgl-utils/typed-array-utils.d.ts +0 -36
@@ -1,9 +0,0 @@
1
- export declare function getScratchArrayBuffer(byteLength: any): any;
2
- export declare function getScratchArray(Type: any, length: any): any;
3
- export declare function fillArray({ target, source, start, count }: {
4
- target: any;
5
- source: any;
6
- start?: number;
7
- count?: number;
8
- }): any;
9
- //# sourceMappingURL=array-utils-flat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"array-utils-flat.d.ts","sourceRoot":"","sources":["../../src/utils/array-utils-flat.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,CAAC,UAAU,KAAA,OAK/C;AAED,wBAAgB,eAAe,CAAC,IAAI,KAAA,EAAE,MAAM,KAAA,OAG3C;AAGD,wBAAgB,SAAS,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,KAAS,EAAE,KAAS,EAAC;;;;;CAAA,OAqB/D"}
@@ -1,39 +0,0 @@
1
- let arrayBuffer = null;
2
- export function getScratchArrayBuffer(byteLength) {
3
- if (!arrayBuffer || arrayBuffer.byteLength < byteLength) {
4
- arrayBuffer = new ArrayBuffer(byteLength);
5
- }
6
-
7
- return arrayBuffer;
8
- }
9
- export function getScratchArray(Type, length) {
10
- const scratchArrayBuffer = getScratchArrayBuffer(Type.BYTES_PER_ELEMENT * length);
11
- return new Type(scratchArrayBuffer, 0, length);
12
- }
13
- export function fillArray({
14
- target,
15
- source,
16
- start = 0,
17
- count = 1
18
- }) {
19
- const length = source.length;
20
- const total = count * length;
21
- let copied = 0;
22
-
23
- for (let i = start; copied < length; copied++) {
24
- target[i++] = source[copied];
25
- }
26
-
27
- while (copied < total) {
28
- if (copied < total - copied) {
29
- target.copyWithin(start + copied, start, start + copied);
30
- copied *= 2;
31
- } else {
32
- target.copyWithin(start + copied, start, start + total - copied);
33
- copied = total;
34
- }
35
- }
36
-
37
- return target;
38
- }
39
- //# sourceMappingURL=array-utils-flat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/array-utils-flat.ts"],"names":["arrayBuffer","getScratchArrayBuffer","byteLength","ArrayBuffer","getScratchArray","Type","length","scratchArrayBuffer","BYTES_PER_ELEMENT","fillArray","target","source","start","count","total","copied","i","copyWithin"],"mappings":"AAAA,IAAIA,WAAW,GAAG,IAAlB;AAEA,OAAO,SAASC,qBAAT,CAA+BC,UAA/B,EAA2C;AAChD,MAAI,CAACF,WAAD,IAAgBA,WAAW,CAACE,UAAZ,GAAyBA,UAA7C,EAAyD;AACvDF,IAAAA,WAAW,GAAG,IAAIG,WAAJ,CAAgBD,UAAhB,CAAd;AACD;;AACD,SAAOF,WAAP;AACD;AAED,OAAO,SAASI,eAAT,CAAyBC,IAAzB,EAA+BC,MAA/B,EAAuC;AAC5C,QAAMC,kBAAkB,GAAGN,qBAAqB,CAACI,IAAI,CAACG,iBAAL,GAAyBF,MAA1B,CAAhD;AACA,SAAO,IAAID,IAAJ,CAASE,kBAAT,EAA6B,CAA7B,EAAgCD,MAAhC,CAAP;AACD;AAGD,OAAO,SAASG,SAAT,CAAmB;AAACC,EAAAA,MAAD;AAASC,EAAAA,MAAT;AAAiBC,EAAAA,KAAK,GAAG,CAAzB;AAA4BC,EAAAA,KAAK,GAAG;AAApC,CAAnB,EAA2D;AAChE,QAAMP,MAAM,GAAGK,MAAM,CAACL,MAAtB;AACA,QAAMQ,KAAK,GAAGD,KAAK,GAAGP,MAAtB;AACA,MAAIS,MAAM,GAAG,CAAb;;AACA,OAAK,IAAIC,CAAC,GAAGJ,KAAb,EAAoBG,MAAM,GAAGT,MAA7B,EAAqCS,MAAM,EAA3C,EAA+C;AAC7CL,IAAAA,MAAM,CAACM,CAAC,EAAF,CAAN,GAAcL,MAAM,CAACI,MAAD,CAApB;AACD;;AAED,SAAOA,MAAM,GAAGD,KAAhB,EAAuB;AAGrB,QAAIC,MAAM,GAAGD,KAAK,GAAGC,MAArB,EAA6B;AAC3BL,MAAAA,MAAM,CAACO,UAAP,CAAkBL,KAAK,GAAGG,MAA1B,EAAkCH,KAAlC,EAAyCA,KAAK,GAAGG,MAAjD;AACAA,MAAAA,MAAM,IAAI,CAAV;AACD,KAHD,MAGO;AACLL,MAAAA,MAAM,CAACO,UAAP,CAAkBL,KAAK,GAAGG,MAA1B,EAAkCH,KAAlC,EAAyCA,KAAK,GAAGE,KAAR,GAAgBC,MAAzD;AACAA,MAAAA,MAAM,GAAGD,KAAT;AACD;AACF;;AAED,SAAOJ,MAAP;AACD","sourcesContent":["let arrayBuffer = null;\n\nexport function getScratchArrayBuffer(byteLength) {\n if (!arrayBuffer || arrayBuffer.byteLength < byteLength) {\n arrayBuffer = new ArrayBuffer(byteLength);\n }\n return arrayBuffer;\n}\n\nexport function getScratchArray(Type, length) {\n const scratchArrayBuffer = getScratchArrayBuffer(Type.BYTES_PER_ELEMENT * length);\n return new Type(scratchArrayBuffer, 0, length); // arrayBuffer, byteOffset, length (in elements)\n}\n\n// Uses copyWithin to significantly speed up typed array value filling\nexport function fillArray({target, source, start = 0, count = 1}) {\n const length = source.length;\n const total = count * length;\n let copied = 0;\n for (let i = start; copied < length; copied++) {\n target[i++] = source[copied];\n }\n\n while (copied < total) {\n // If we have copied less than half, copy everything we got\n // else copy remaining in one operation\n if (copied < total - copied) {\n target.copyWithin(start + copied, start, start + copied);\n copied *= 2;\n } else {\n target.copyWithin(start + copied, start, start + total - copied);\n copied = total;\n }\n }\n\n return target;\n}\n\n/*\n\n// Creates a new Uint8Array based on two different ArrayBuffers\n// @private\n// @param {ArrayBuffers} buffer1 The first buffer.\n// @param {ArrayBuffers} buffer2 The second buffer.\n// @return {ArrayBuffers} The new ArrayBuffer created out of the two.\n//\nexport function copyArrayBuffer(\n targetBuffer, sourceBuffer, byteOffset, byteLength = sourceBuffer.byteLength\n) {\n const targetArray = new Uint8Array(targetBuffer, byteOffset, byteLength);\n const sourceArray = new Uint8Array(sourceBuffer);\n targetArray.set(sourceArray);\n return targetBuffer;\n}\n\n*/\n"],"file":"array-utils-flat.js"}
@@ -1,2 +0,0 @@
1
- export default function assert(condition: any, message?: string): void;
2
- //# sourceMappingURL=assert.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/utils/assert.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,SAAS,KAAA,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAIhE"}
@@ -1,6 +0,0 @@
1
- export default function assert(condition, message) {
2
- if (!condition) {
3
- throw new Error(message || 'luma.gl: assertion failed.');
4
- }
5
- }
6
- //# sourceMappingURL=assert.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/assert.ts"],"names":["assert","condition","message","Error"],"mappings":"AAEA,eAAe,SAASA,MAAT,CAAgBC,SAAhB,EAA2BC,OAA3B,EAAmD;AAChE,MAAI,CAACD,SAAL,EAAgB;AACd,UAAM,IAAIE,KAAJ,CAAUD,OAAO,IAAI,4BAArB,CAAN;AACD;AACF","sourcesContent":["// Recommendation is to ignore message but current test suite checks agains the\n// message so keep it for now.\nexport default function assert(condition, message?: string): void {\n if (!condition) {\n throw new Error(message || 'luma.gl: assertion failed.');\n }\n}\n"],"file":"assert.js"}
@@ -1,2 +0,0 @@
1
- export declare function checkProps(className: any, props: any, propChecks: any): any;
2
- //# sourceMappingURL=check-props.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"check-props.d.ts","sourceRoot":"","sources":["../../src/utils/check-props.ts"],"names":[],"mappings":"AA+BA,wBAAgB,UAAU,CAAC,SAAS,KAAA,EAAE,KAAK,KAAA,EAAE,UAAU,KAAA,OAoCtD"}
@@ -1,38 +0,0 @@
1
- import { log } from '@luma.gl/gltools';
2
- export function checkProps(className, props, propChecks) {
3
- const {
4
- removedProps = {},
5
- deprecatedProps = {},
6
- replacedProps = {}
7
- } = propChecks;
8
-
9
- for (const propName in removedProps) {
10
- if (propName in props) {
11
- const replacementProp = removedProps[propName];
12
- const replacement = replacementProp ? "".concat(className, ".").concat(removedProps[propName]) : 'N/A';
13
- log.removed("".concat(className, ".").concat(propName), replacement)();
14
- }
15
- }
16
-
17
- for (const propName in deprecatedProps) {
18
- if (propName in props) {
19
- const replacementProp = deprecatedProps[propName];
20
- log.deprecated("".concat(className, ".").concat(propName), "".concat(className, ".").concat(replacementProp))();
21
- }
22
- }
23
-
24
- let newProps = null;
25
-
26
- for (const propName in replacedProps) {
27
- if (propName in props) {
28
- const replacementProp = replacedProps[propName];
29
- log.deprecated("".concat(className, ".").concat(propName), "".concat(className, ".").concat(replacementProp))();
30
- newProps = newProps || Object.assign({}, props);
31
- newProps[replacementProp] = props[propName];
32
- delete newProps[propName];
33
- }
34
- }
35
-
36
- return newProps || props;
37
- }
38
- //# sourceMappingURL=check-props.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/check-props.ts"],"names":["log","checkProps","className","props","propChecks","removedProps","deprecatedProps","replacedProps","propName","replacementProp","replacement","removed","deprecated","newProps","Object","assign"],"mappings":"AA6BA,SAAQA,GAAR,QAAkB,kBAAlB;AAEA,OAAO,SAASC,UAAT,CAAoBC,SAApB,EAA+BC,KAA/B,EAAsCC,UAAtC,EAAkD;AACvD,QAAM;AAACC,IAAAA,YAAY,GAAG,EAAhB;AAAoBC,IAAAA,eAAe,GAAG,EAAtC;AAA0CC,IAAAA,aAAa,GAAG;AAA1D,MAAgEH,UAAtE;;AAIA,OAAK,MAAMI,QAAX,IAAuBH,YAAvB,EAAqC;AACnC,QAAIG,QAAQ,IAAIL,KAAhB,EAAuB;AACrB,YAAMM,eAAe,GAAGJ,YAAY,CAACG,QAAD,CAApC;AACA,YAAME,WAAW,GAAGD,eAAe,aAAMP,SAAN,cAAmBG,YAAY,CAACG,QAAD,CAA/B,IAA8C,KAAjF;AACAR,MAAAA,GAAG,CAACW,OAAJ,WAAeT,SAAf,cAA4BM,QAA5B,GAAwCE,WAAxC;AACD;AACF;;AAID,OAAK,MAAMF,QAAX,IAAuBF,eAAvB,EAAwC;AACtC,QAAIE,QAAQ,IAAIL,KAAhB,EAAuB;AACrB,YAAMM,eAAe,GAAGH,eAAe,CAACE,QAAD,CAAvC;AACAR,MAAAA,GAAG,CAACY,UAAJ,WAAkBV,SAAlB,cAA+BM,QAA/B,aAA8CN,SAA9C,cAA2DO,eAA3D;AACD;AACF;;AAID,MAAII,QAAQ,GAAG,IAAf;;AACA,OAAK,MAAML,QAAX,IAAuBD,aAAvB,EAAsC;AACpC,QAAIC,QAAQ,IAAIL,KAAhB,EAAuB;AACrB,YAAMM,eAAe,GAAGF,aAAa,CAACC,QAAD,CAArC;AACAR,MAAAA,GAAG,CAACY,UAAJ,WAAkBV,SAAlB,cAA+BM,QAA/B,aAA8CN,SAA9C,cAA2DO,eAA3D;AACAI,MAAAA,QAAQ,GAAGA,QAAQ,IAAIC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBZ,KAAlB,CAAvB;AACAU,MAAAA,QAAQ,CAACJ,eAAD,CAAR,GAA4BN,KAAK,CAACK,QAAD,CAAjC;AACA,aAAOK,QAAQ,CAACL,QAAD,CAAf;AACD;AACF;;AAED,SAAOK,QAAQ,IAAIV,KAAnB;AACD","sourcesContent":["/* Use as\nimport {checkProps} from '../util/check-props;'\n\nconst PROP_CHECKS = {\n // Removed props no longer supported, print error and link to upgrade guide\n removedProps: {\n },\n // Deprecated props\n deprecatedProps: {\n offset: 'accessor',\n stride: 'accessor',\n type: 'accessor',\n size: 'accessor',\n divisor: 'accessor',\n normalized: 'accessor',\n integer: 'accessor'\n },\n // Deprecated props that can be autosubstituted, print warning and return updated props object\n replacedProps: {\n bytes: 'byteLength'\n }\n}\n\nclass Buffer {\n setProps(props) {\n checkProps('Buffer', props, PROP_CHECKS);\n }\n}\n*/\nimport {log} from '@luma.gl/gltools';\n\nexport function checkProps(className, props, propChecks) {\n const {removedProps = {}, deprecatedProps = {}, replacedProps = {}} = propChecks;\n\n // removedProps: Removed props no longer supported\n // print error and link to upgrade guide\n for (const propName in removedProps) {\n if (propName in props) {\n const replacementProp = removedProps[propName];\n const replacement = replacementProp ? `${className}.${removedProps[propName]}` : 'N/A';\n log.removed(`${className}.${propName}`, replacement)();\n }\n }\n\n // deprecatedProps: Deprecated props that can not be autosubstituted\n // print warning and rely on caller to substitute\n for (const propName in deprecatedProps) {\n if (propName in props) {\n const replacementProp = deprecatedProps[propName];\n log.deprecated(`${className}.${propName}`, `${className}.${replacementProp}`)();\n }\n }\n\n // replacedProps: Deprecated props that can be autosubstituted\n // print warning and return updated props object\n let newProps = null;\n for (const propName in replacedProps) {\n if (propName in props) {\n const replacementProp = replacedProps[propName];\n log.deprecated(`${className}.${propName}`, `${className}.${replacementProp}`)();\n newProps = newProps || Object.assign({}, props);\n newProps[replacementProp] = props[propName];\n delete newProps[propName];\n }\n }\n\n return newProps || props;\n}\n"],"file":"check-props.js"}
@@ -1,5 +0,0 @@
1
- export declare function formatValue(v: any, opts?: {
2
- isInteger?: boolean;
3
- size?: number;
4
- }): any;
5
- //# sourceMappingURL=format-value.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"format-value.d.ts","sourceRoot":"","sources":["../../src/utils/format-value.ts"],"names":[],"mappings":"AAeA,wBAAgB,WAAW,CAAC,CAAC,KAAA,EAAE,IAAI,CAAC,EAAE;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,OAqBzE"}
@@ -1,50 +0,0 @@
1
- function formatArrayValue(v, opts) {
2
- const {
3
- maxElts = 16,
4
- size = 1
5
- } = opts;
6
- let string = '[';
7
-
8
- for (let i = 0; i < v.length && i < maxElts; ++i) {
9
- if (i > 0) {
10
- string += ",".concat(i % size === 0 ? ' ' : '');
11
- }
12
-
13
- string += formatValue(v[i], opts);
14
- }
15
-
16
- const terminator = v.length > maxElts ? '...' : ']';
17
- return "".concat(string).concat(terminator);
18
- }
19
-
20
- export function formatValue(v, opts) {
21
- const EPSILON = 1e-16;
22
- const {
23
- isInteger = false
24
- } = opts || {};
25
-
26
- if (Array.isArray(v) || ArrayBuffer.isView(v)) {
27
- return formatArrayValue(v, opts);
28
- }
29
-
30
- if (!Number.isFinite(v)) {
31
- return String(v);
32
- }
33
-
34
- if (Math.abs(v) < EPSILON) {
35
- return isInteger ? '0' : '0.';
36
- }
37
-
38
- if (isInteger) {
39
- return v.toFixed(0);
40
- }
41
-
42
- if (Math.abs(v) > 100 && Math.abs(v) < 10000) {
43
- return v.toFixed(0);
44
- }
45
-
46
- const string = v.toPrecision(2);
47
- const decimal = string.indexOf('.0');
48
- return decimal === string.length - 2 ? string.slice(0, -1) : string;
49
- }
50
- //# sourceMappingURL=format-value.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/format-value.ts"],"names":["formatArrayValue","v","opts","maxElts","size","string","i","length","formatValue","terminator","EPSILON","isInteger","Array","isArray","ArrayBuffer","isView","Number","isFinite","String","Math","abs","toFixed","toPrecision","decimal","indexOf","slice"],"mappings":"AAEA,SAASA,gBAAT,CAA0BC,CAA1B,EAA6BC,IAA7B,EAAmC;AACjC,QAAM;AAACC,IAAAA,OAAO,GAAG,EAAX;AAAeC,IAAAA,IAAI,GAAG;AAAtB,MAA2BF,IAAjC;AACA,MAAIG,MAAM,GAAG,GAAb;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGL,CAAC,CAACM,MAAN,IAAgBD,CAAC,GAAGH,OAApC,EAA6C,EAAEG,CAA/C,EAAkD;AAChD,QAAIA,CAAC,GAAG,CAAR,EAAW;AACTD,MAAAA,MAAM,eAAQC,CAAC,GAAGF,IAAJ,KAAa,CAAb,GAAiB,GAAjB,GAAuB,EAA/B,CAAN;AACD;;AACDC,IAAAA,MAAM,IAAIG,WAAW,CAACP,CAAC,CAACK,CAAD,CAAF,EAAOJ,IAAP,CAArB;AACD;;AACD,QAAMO,UAAU,GAAGR,CAAC,CAACM,MAAF,GAAWJ,OAAX,GAAqB,KAArB,GAA6B,GAAhD;AACA,mBAAUE,MAAV,SAAmBI,UAAnB;AACD;;AAED,OAAO,SAASD,WAAT,CAAqBP,CAArB,EAAwBC,IAAxB,EAAqE;AAC1E,QAAMQ,OAAO,GAAG,KAAhB;AACA,QAAM;AAACC,IAAAA,SAAS,GAAG;AAAb,MAAsBT,IAAI,IAAI,EAApC;;AACA,MAAIU,KAAK,CAACC,OAAN,CAAcZ,CAAd,KAAoBa,WAAW,CAACC,MAAZ,CAAmBd,CAAnB,CAAxB,EAA+C;AAC7C,WAAOD,gBAAgB,CAACC,CAAD,EAAIC,IAAJ,CAAvB;AACD;;AACD,MAAI,CAACc,MAAM,CAACC,QAAP,CAAgBhB,CAAhB,CAAL,EAAyB;AACvB,WAAOiB,MAAM,CAACjB,CAAD,CAAb;AACD;;AACD,MAAIkB,IAAI,CAACC,GAAL,CAASnB,CAAT,IAAcS,OAAlB,EAA2B;AACzB,WAAOC,SAAS,GAAG,GAAH,GAAS,IAAzB;AACD;;AACD,MAAIA,SAAJ,EAAe;AACb,WAAOV,CAAC,CAACoB,OAAF,CAAU,CAAV,CAAP;AACD;;AACD,MAAIF,IAAI,CAACC,GAAL,CAASnB,CAAT,IAAc,GAAd,IAAqBkB,IAAI,CAACC,GAAL,CAASnB,CAAT,IAAc,KAAvC,EAA8C;AAC5C,WAAOA,CAAC,CAACoB,OAAF,CAAU,CAAV,CAAP;AACD;;AACD,QAAMhB,MAAM,GAAGJ,CAAC,CAACqB,WAAF,CAAc,CAAd,CAAf;AACA,QAAMC,OAAO,GAAGlB,MAAM,CAACmB,OAAP,CAAe,IAAf,CAAhB;AACA,SAAOD,OAAO,KAAKlB,MAAM,CAACE,MAAP,GAAgB,CAA5B,GAAgCF,MAAM,CAACoB,KAAP,CAAa,CAAb,EAAgB,CAAC,CAAjB,CAAhC,GAAsDpB,MAA7D;AACD","sourcesContent":["// TODO / DEPRECATED - delete when confident that probe.gl logging implements all opts\n/* eslint-disable no-console */\nfunction formatArrayValue(v, opts) {\n const {maxElts = 16, size = 1} = opts;\n let string = '[';\n for (let i = 0; i < v.length && i < maxElts; ++i) {\n if (i > 0) {\n string += `,${i % size === 0 ? ' ' : ''}`;\n }\n string += formatValue(v[i], opts);\n }\n const terminator = v.length > maxElts ? '...' : ']';\n return `${string}${terminator}`;\n}\n\nexport function formatValue(v, opts?: {isInteger?: boolean, size?: number}) {\n const EPSILON = 1e-16;\n const {isInteger = false} = opts || {};\n if (Array.isArray(v) || ArrayBuffer.isView(v)) {\n return formatArrayValue(v, opts);\n }\n if (!Number.isFinite(v)) {\n return String(v);\n }\n if (Math.abs(v) < EPSILON) {\n return isInteger ? '0' : '0.';\n }\n if (isInteger) {\n return v.toFixed(0);\n }\n if (Math.abs(v) > 100 && Math.abs(v) < 10000) {\n return v.toFixed(0);\n }\n const string = v.toPrecision(2);\n const decimal = string.indexOf('.0');\n return decimal === string.length - 2 ? string.slice(0, -1) : string;\n}\n"],"file":"format-value.js"}
@@ -1,7 +0,0 @@
1
- export { default as assert } from './assert';
2
- export { default as isOldIE } from './is-old-ie';
3
- export { uid, isPowerOfTwo, isObjectEmpty } from './utils';
4
- export { formatValue } from './format-value';
5
- export { stubRemovedMethods } from './stub-methods';
6
- export { checkProps } from './check-props';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAC,OAAO,IAAI,OAAO,EAAC,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAC,GAAG,EAAE,YAAY,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AACzD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC"}
@@ -1,7 +0,0 @@
1
- export { default as assert } from './assert';
2
- export { default as isOldIE } from './is-old-ie';
3
- export { uid, isPowerOfTwo, isObjectEmpty } from './utils';
4
- export { formatValue } from './format-value';
5
- export { stubRemovedMethods } from './stub-methods';
6
- export { checkProps } from './check-props';
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/index.ts"],"names":["default","assert","isOldIE","uid","isPowerOfTwo","isObjectEmpty","formatValue","stubRemovedMethods","checkProps"],"mappings":"AAAA,SAAQA,OAAO,IAAIC,MAAnB,QAAgC,UAAhC;AACA,SAAQD,OAAO,IAAIE,OAAnB,QAAiC,aAAjC;AACA,SAAQC,GAAR,EAAaC,YAAb,EAA2BC,aAA3B,QAA+C,SAA/C;AACA,SAAQC,WAAR,QAA0B,gBAA1B;AACA,SAAQC,kBAAR,QAAiC,gBAAjC;AACA,SAAQC,UAAR,QAAyB,eAAzB","sourcesContent":["export {default as assert} from './assert';\nexport {default as isOldIE} from './is-old-ie';\nexport {uid, isPowerOfTwo, isObjectEmpty} from './utils';\nexport {formatValue} from './format-value';\nexport {stubRemovedMethods} from './stub-methods';\nexport {checkProps} from './check-props';\n"],"file":"index.js"}
@@ -1,4 +0,0 @@
1
- export default function isOldIE(opts: {
2
- userAgent?: any;
3
- }): boolean;
4
- //# sourceMappingURL=is-old-ie.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-old-ie.d.ts","sourceRoot":"","sources":["../../src/utils/is-old-ie.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,IAAI,EAAE;IAAC,SAAS,CAAC,MAAA;CAAC,GAAG,OAAO,CAE3D"}
@@ -1,5 +0,0 @@
1
- import { getBrowser } from 'probe.gl/env';
2
- export default function isOldIE(opts) {
3
- return getBrowser(opts.userAgent) === 'IE';
4
- }
5
- //# sourceMappingURL=is-old-ie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/is-old-ie.ts"],"names":["getBrowser","isOldIE","opts","userAgent"],"mappings":"AAAA,SAAQA,UAAR,QAAyB,cAAzB;AAGA,eAAe,SAASC,OAAT,CAAiBC,IAAjB,EAA8C;AAC3D,SAAOF,UAAU,CAACE,IAAI,CAACC,SAAN,CAAV,KAA+B,IAAtC;AACD","sourcesContent":["import {getBrowser} from 'probe.gl/env';\n\n// opts allows user agent to be overridden for testing\nexport default function isOldIE(opts: {userAgent?}): boolean {\n return getBrowser(opts.userAgent) === 'IE';\n}\n"],"file":"is-old-ie.js"}
@@ -1,4 +0,0 @@
1
- export declare function setPathPrefix(prefix: any): void;
2
- export declare function loadFile(url: any, options?: {}): Promise<any>;
3
- export declare function loadImage(url: any, opts: any): Promise<unknown>;
4
- //# sourceMappingURL=load-file.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"load-file.d.ts","sourceRoot":"","sources":["../../src/utils/load-file.ts"],"names":[],"mappings":"AAOA,wBAAgB,aAAa,CAAC,MAAM,KAAA,QAEnC;AAGD,wBAAgB,QAAQ,CAAC,GAAG,KAAA,EAAE,OAAO,KAAK,gBAMzC;AAOD,wBAAgB,SAAS,CAAC,GAAG,KAAA,EAAE,IAAI,KAAA,oBAclC"}
@@ -1,30 +0,0 @@
1
- import { assert } from '../utils';
2
- let pathPrefix = '';
3
- export function setPathPrefix(prefix) {
4
- pathPrefix = prefix;
5
- }
6
- export function loadFile(url, options = {}) {
7
- assert(typeof url === 'string');
8
- url = pathPrefix + url;
9
- const dataType = options.dataType || 'text';
10
- return fetch(url, options).then(res => res[dataType]());
11
- }
12
- export function loadImage(url, opts) {
13
- assert(typeof url === 'string');
14
- url = pathPrefix + url;
15
- return new Promise((resolve, reject) => {
16
- try {
17
- const image = new Image();
18
-
19
- image.onload = () => resolve(image);
20
-
21
- image.onerror = () => reject(new Error("Could not load image ".concat(url, ".")));
22
-
23
- image.crossOrigin = opts && opts.crossOrigin || 'anonymous';
24
- image.src = url;
25
- } catch (error) {
26
- reject(error);
27
- }
28
- });
29
- }
30
- //# sourceMappingURL=load-file.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/load-file.ts"],"names":["assert","pathPrefix","setPathPrefix","prefix","loadFile","url","options","dataType","fetch","then","res","loadImage","opts","Promise","resolve","reject","image","Image","onload","onerror","Error","crossOrigin","src","error"],"mappings":"AAAA,SAAQA,MAAR,QAAqB,UAArB;AAEA,IAAIC,UAAU,GAAG,EAAjB;AAKA,OAAO,SAASC,aAAT,CAAuBC,MAAvB,EAA+B;AACpCF,EAAAA,UAAU,GAAGE,MAAb;AACD;AAGD,OAAO,SAASC,QAAT,CAAkBC,GAAlB,EAAuBC,OAAO,GAAG,EAAjC,EAAqC;AAC1CN,EAAAA,MAAM,CAAC,OAAOK,GAAP,KAAe,QAAhB,CAAN;AACAA,EAAAA,GAAG,GAAGJ,UAAU,GAAGI,GAAnB;AAEA,QAAME,QAAQ,GAAGD,OAAO,CAACC,QAAR,IAAoB,MAArC;AACA,SAAOC,KAAK,CAACH,GAAD,EAAMC,OAAN,CAAL,CAAoBG,IAApB,CAA0BC,GAAD,IAASA,GAAG,CAACH,QAAD,CAAH,EAAlC,CAAP;AACD;AAOD,OAAO,SAASI,SAAT,CAAmBN,GAAnB,EAAwBO,IAAxB,EAA8B;AACnCZ,EAAAA,MAAM,CAAC,OAAOK,GAAP,KAAe,QAAhB,CAAN;AACAA,EAAAA,GAAG,GAAGJ,UAAU,GAAGI,GAAnB;AACA,SAAO,IAAIQ,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC,QAAI;AACF,YAAMC,KAAK,GAAG,IAAIC,KAAJ,EAAd;;AACAD,MAAAA,KAAK,CAACE,MAAN,GAAe,MAAMJ,OAAO,CAACE,KAAD,CAA5B;;AACAA,MAAAA,KAAK,CAACG,OAAN,GAAgB,MAAMJ,MAAM,CAAC,IAAIK,KAAJ,gCAAkCf,GAAlC,OAAD,CAA5B;;AACAW,MAAAA,KAAK,CAACK,WAAN,GAAqBT,IAAI,IAAIA,IAAI,CAACS,WAAd,IAA8B,WAAlD;AACAL,MAAAA,KAAK,CAACM,GAAN,GAAYjB,GAAZ;AACD,KAND,CAME,OAAOkB,KAAP,EAAc;AACdR,MAAAA,MAAM,CAACQ,KAAD,CAAN;AACD;AACF,GAVM,CAAP;AAWD","sourcesContent":["import {assert} from '../utils';\n\nlet pathPrefix = '';\n\n/*\n * Set a relative path prefix\n */\nexport function setPathPrefix(prefix) {\n pathPrefix = prefix;\n}\n\n// Reads raw file data from:\nexport function loadFile(url, options = {}) {\n assert(typeof url === 'string');\n url = pathPrefix + url;\n // @ts-expect-error\n const dataType = options.dataType || 'text';\n return fetch(url, options).then((res) => res[dataType]());\n}\n\n/*\n * Loads images asynchronously\n * image.crossOrigin can be set via opts.crossOrigin, default to 'anonymous'\n * returns a promise tracking the load\n */\nexport function loadImage(url, opts) {\n assert(typeof url === 'string');\n url = pathPrefix + url;\n return new Promise((resolve, reject) => {\n try {\n const image = new Image();\n image.onload = () => resolve(image);\n image.onerror = () => reject(new Error(`Could not load image ${url}.`));\n image.crossOrigin = (opts && opts.crossOrigin) || 'anonymous';\n image.src = url;\n } catch (error) {\n reject(error);\n }\n });\n}\n"],"file":"load-file.js"}
@@ -1,2 +0,0 @@
1
- export declare function stubRemovedMethods(instance: any, className: any, version: any, methodNames: any): void;
2
- //# sourceMappingURL=stub-methods.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stub-methods.d.ts","sourceRoot":"","sources":["../../src/utils/stub-methods.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,QAAQ,KAAA,EAAE,SAAS,KAAA,EAAE,OAAO,KAAA,EAAE,WAAW,KAAA,QAgB3E"}
@@ -1,16 +0,0 @@
1
- import { log } from '@luma.gl/gltools';
2
- export function stubRemovedMethods(instance, className, version, methodNames) {
3
- const upgradeMessage = "See luma.gl ".concat(version, " Upgrade Guide at https://luma.gl/docs/upgrade-guide");
4
- const prototype = Object.getPrototypeOf(instance);
5
- methodNames.forEach(methodName => {
6
- if (prototype.methodName) {
7
- return;
8
- }
9
-
10
- prototype[methodName] = () => {
11
- log.removed("Calling removed method ".concat(className, ".").concat(methodName, ": "), upgradeMessage)();
12
- throw new Error(methodName);
13
- };
14
- });
15
- }
16
- //# sourceMappingURL=stub-methods.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/stub-methods.ts"],"names":["log","stubRemovedMethods","instance","className","version","methodNames","upgradeMessage","prototype","Object","getPrototypeOf","forEach","methodName","removed","Error"],"mappings":"AAAA,SAAQA,GAAR,QAAkB,kBAAlB;AAGA,OAAO,SAASC,kBAAT,CAA4BC,QAA5B,EAAsCC,SAAtC,EAAiDC,OAAjD,EAA0DC,WAA1D,EAAuE;AAC5E,QAAMC,cAAc,yBAAkBF,OAAlB,yDAApB;AAGA,QAAMG,SAAS,GAAGC,MAAM,CAACC,cAAP,CAAsBP,QAAtB,CAAlB;AAEAG,EAAAA,WAAW,CAACK,OAAZ,CAAqBC,UAAD,IAAgB;AAClC,QAAIJ,SAAS,CAACI,UAAd,EAA0B;AACxB;AACD;;AAEDJ,IAAAA,SAAS,CAACI,UAAD,CAAT,GAAwB,MAAM;AAC5BX,MAAAA,GAAG,CAACY,OAAJ,kCAAsCT,SAAtC,cAAmDQ,UAAnD,SAAmEL,cAAnE;AACA,YAAM,IAAIO,KAAJ,CAAUF,UAAV,CAAN;AACD,KAHD;AAID,GATD;AAUD","sourcesContent":["import {log} from '@luma.gl/gltools';\n\n// Install stubs for removed methods\nexport function stubRemovedMethods(instance, className, version, methodNames) {\n const upgradeMessage = `See luma.gl ${version} Upgrade Guide at \\\nhttps://luma.gl/docs/upgrade-guide`;\n\n const prototype = Object.getPrototypeOf(instance);\n\n methodNames.forEach((methodName) => {\n if (prototype.methodName) {\n return;\n }\n\n prototype[methodName] = () => {\n log.removed(`Calling removed method ${className}.${methodName}: `, upgradeMessage)();\n throw new Error(methodName);\n };\n });\n}\n"],"file":"stub-methods.js"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Returns a UID.
3
- * @param id= - Identifier base name
4
- * @return uid
5
- **/
6
- export declare function uid(id?: string): string;
7
- /**
8
- * Verifies if a given number is power of two or not.
9
- * @param n - The number to check.
10
- * @return Returns true if the given number is power of 2, false otherwise.
11
- **/
12
- export declare function isPowerOfTwo(n: number): boolean;
13
- /** Returns true if given object is empty, false otherwise. */
14
- export declare function isObjectEmpty(obj: object): boolean;
15
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAIA;;;;IAII;AACJ,wBAAgB,GAAG,CAAC,EAAE,GAAE,MAAa,GAAG,MAAM,CAI7C;AAED;;;;IAII;AACJ,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CASlD"}
@@ -1,20 +0,0 @@
1
- const uidCounters = {};
2
- export function uid(id = 'id') {
3
- uidCounters[id] = uidCounters[id] || 1;
4
- const count = uidCounters[id]++;
5
- return "".concat(id, "-").concat(count);
6
- }
7
- export function isPowerOfTwo(n) {
8
- return n && (n & n - 1) === 0;
9
- }
10
- export function isObjectEmpty(obj) {
11
- let isEmpty = true;
12
-
13
- for (const key in obj) {
14
- isEmpty = false;
15
- break;
16
- }
17
-
18
- return isEmpty;
19
- }
20
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/utils.ts"],"names":["uidCounters","uid","id","count","isPowerOfTwo","n","isObjectEmpty","obj","isEmpty","key"],"mappings":"AAEA,MAAMA,WAAW,GAAG,EAApB;AAOA,OAAO,SAASC,GAAT,CAAaC,EAAU,GAAG,IAA1B,EAAwC;AAC7CF,EAAAA,WAAW,CAACE,EAAD,CAAX,GAAkBF,WAAW,CAACE,EAAD,CAAX,IAAmB,CAArC;AACA,QAAMC,KAAK,GAAGH,WAAW,CAACE,EAAD,CAAX,EAAd;AACA,mBAAUA,EAAV,cAAgBC,KAAhB;AACD;AAOD,OAAO,SAASC,YAAT,CAAsBC,CAAtB,EAA0C;AAC/C,SAAOA,CAAC,IAAI,CAACA,CAAC,GAAIA,CAAC,GAAG,CAAV,MAAkB,CAA9B;AACD;AAGD,OAAO,SAASC,aAAT,CAAuBC,GAAvB,EAA6C;AAClD,MAAIC,OAAO,GAAG,IAAd;;AAEA,OAAK,MAAMC,GAAX,IAAkBF,GAAlB,EAAuB;AACrBC,IAAAA,OAAO,GAAG,KAAV;AACA;AACD;;AAED,SAAOA,OAAP;AACD","sourcesContent":["import assert from './assert';\n\nconst uidCounters = {};\n\n/**\n * Returns a UID.\n * @param id= - Identifier base name\n * @return uid\n **/\nexport function uid(id: string = 'id'): string {\n uidCounters[id] = uidCounters[id] || 1;\n const count = uidCounters[id]++;\n return `${id}-${count}`;\n}\n\n/**\n * Verifies if a given number is power of two or not.\n * @param n - The number to check.\n * @return Returns true if the given number is power of 2, false otherwise.\n **/\nexport function isPowerOfTwo(n: number): boolean {\n return n && (n & (n - 1)) === 0;\n}\n\n/** Returns true if given object is empty, false otherwise. */\nexport function isObjectEmpty(obj: object): boolean {\n let isEmpty = true;\n /* eslint-disable no-unused-vars */\n for (const key in obj) {\n isEmpty = false;\n break;\n }\n /* eslint-enable no-unused-vars */\n return isEmpty;\n}\n"],"file":"utils.js"}
@@ -1,31 +0,0 @@
1
- //
2
- import type {GLContextOptions} from '@luma.gl/gltools';
3
- import {createGLContext, isWebGL2} from '@luma.gl/gltools';
4
- import {Device} from '@luma.gl/api';
5
- import type {BufferProps, ShaderProps} from '@luma.gl/api';
6
- import WEBGLBuffer from '../classes/webgl-buffer';
7
- import {WEBGLShader, } from '../classes/webgl-shader';
8
- import Texture2D, {Texture2DProps} from '../classes/texture-2d';
9
-
10
- export default class GLContext extends Device {
11
- readonly gl: WebGLRenderingContext;
12
- readonly gl2: WebGL2RenderingContext | null;
13
-
14
- constructor(props: GLContextOptions) {
15
- super();
16
- this.gl = createGLContext(props);
17
- this.gl2 = isWebGL2(this.gl) ? this.gl as WebGL2RenderingContext : null;
18
- }
19
-
20
- createBuffer(props: BufferProps): WEBGLBuffer {
21
- return new WEBGLBuffer(this.gl, props);
22
- }
23
-
24
- createTexture(props: Texture2DProps): Texture2D {
25
- return new Texture2D(this.gl, props);
26
- }
27
-
28
- createShader(props: ShaderProps): WEBGLShader {
29
- return new WEBGLShader(this.gl, props);
30
- }
31
- }
@@ -1,27 +0,0 @@
1
- import type {default as Framebuffer} from '../classes/framebuffer';
2
- import type {default as VertexArrayObject} from '../classes/vertex-array-object';
3
-
4
- /**
5
- * Data stored by luma.gl on the context
6
- */
7
- export type LumaContextData = {
8
- defaultFramebuffer?: Framebuffer;
9
- defaultVertexArray?: VertexArrayObject;
10
- info: {[key: string]: any};
11
- caps: {[key: string]: any};
12
- limits: {[key: string]: any};
13
- webgl1MinLimits: {[key: string]: any};
14
- webgl2MinLimits: {[key: string]: any};
15
- };
16
-
17
- /**
18
- *
19
- * @param gl
20
- * @returns
21
- */
22
- export function getLumaContextData(gl: WebGLRenderingContext): LumaContextData {
23
- // @ts-ignore
24
- gl.luma = gl.luma || {};
25
- // @ts-ignore
26
- return gl.luma as LumaContextData;
27
- }
@@ -1,34 +0,0 @@
1
- import isOldIE from './check-old-ie';
2
- import WEBGL_FEATURES from './webgl-features-table';
3
- import {assert} from '../utils';
4
-
5
- // Enables feature detection in IE11 due to a bug where gl.getExtension may return true
6
- // but fail to compile when the extension is enabled in the shader. Specifically,
7
- // the OES_standard_derivatives extension fails to compile in IE11 even though its included
8
- // in the list of supported extensions.
9
- const compiledGlslExtensions = {};
10
-
11
- // options allows user agent to be overridden for testing
12
- export default function canCompileGLGSExtension(gl, cap, options = {}) {
13
- const feature = WEBGL_FEATURES[cap];
14
- assert(feature, cap);
15
-
16
- if (!isOldIE(options)) {
17
- return true;
18
- }
19
-
20
- if (cap in compiledGlslExtensions) {
21
- return compiledGlslExtensions[cap];
22
- }
23
-
24
- const extensionName = feature[0];
25
- const source = `#extension GL_${extensionName} : enable\nvoid main(void) {}`;
26
-
27
- const shader = gl.createShader(gl.VERTEX_SHADER);
28
- gl.shaderSource(shader, source);
29
- gl.compileShader(shader);
30
- const canCompile = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
31
- gl.deleteShader(shader);
32
- compiledGlslExtensions[cap] = canCompile;
33
- return canCompile;
34
- }
@@ -1,80 +0,0 @@
1
- // Feature detection for WebGL
2
- //
3
- // Provides a function that enables simple checking of which WebGL features are
4
- // available in an WebGL1 or WebGL2 environment.
5
-
6
- import WEBGL_FEATURES from './webgl-features-table';
7
- import {isWebGL2, log} from '@luma.gl/gltools';
8
- import {assert} from '../utils';
9
- import {getLumaContextData} from '../context/luma-context-data';
10
-
11
- const LOG_UNSUPPORTED_FEATURE = 2;
12
-
13
- // Check one feature
14
- export function hasFeature(gl, feature) {
15
- return hasFeatures(gl, feature);
16
- }
17
-
18
- // Check one or more features
19
- export function hasFeatures(gl, features) {
20
- features = Array.isArray(features) ? features : [features];
21
- return features.every((feature) => {
22
- return isFeatureSupported(gl, feature);
23
- });
24
- }
25
-
26
- // Return a list of supported features
27
- export function getFeatures(gl) {
28
- const lumaContextData = getLumaContextData(gl);
29
- lumaContextData.caps = lumaContextData.caps || {};
30
- for (const cap in WEBGL_FEATURES) {
31
- if (lumaContextData.caps[cap] === undefined) {
32
- lumaContextData.caps[cap] = isFeatureSupported(gl, cap);
33
- }
34
- }
35
- return lumaContextData.caps;
36
- }
37
-
38
- // TODO - cache the value
39
- function isFeatureSupported(gl, cap) {
40
- const lumaContextData = getLumaContextData(gl);
41
- lumaContextData.caps = lumaContextData.caps || {};
42
-
43
- if (lumaContextData.caps[cap] === undefined) {
44
- lumaContextData.caps[cap] = queryFeature(gl, cap);
45
- }
46
-
47
- if (!lumaContextData.caps[cap]) {
48
- log.log(LOG_UNSUPPORTED_FEATURE, `Feature: ${cap} not supported`)();
49
- }
50
-
51
- return lumaContextData.caps[cap];
52
- }
53
-
54
- function queryFeature(gl, cap) {
55
- const feature = WEBGL_FEATURES[cap];
56
- assert(feature, cap);
57
-
58
- let isSupported;
59
-
60
- // Get extension name from table
61
- const featureDefinition = isWebGL2(gl) ? feature[1] || feature[0] : feature[0];
62
-
63
- // Check if the value is dependent on checking one or more extensions
64
- if (typeof featureDefinition === 'function') {
65
- isSupported = featureDefinition(gl);
66
- } else if (Array.isArray(featureDefinition)) {
67
- isSupported = true;
68
- for (const extension of featureDefinition) {
69
- isSupported = isSupported && Boolean(gl.getExtension(extension));
70
- }
71
- } else if (typeof featureDefinition === 'string') {
72
- isSupported = Boolean(gl.getExtension(featureDefinition));
73
- } else if (typeof featureDefinition === 'boolean') {
74
- isSupported = featureDefinition;
75
- } else {
76
- assert(false);
77
- }
78
-
79
- return isSupported;
80
- }
@@ -1,5 +0,0 @@
1
- export {getContextInfo, getGLContextInfo, getContextLimits} from './limits';
2
- export {FEATURES} from './webgl-features-table';
3
- export {hasFeature, hasFeatures, getFeatures} from './features';
4
-
5
- export {default as canCompileGLGSExtension} from './check-glsl-extension';
@@ -1,66 +0,0 @@
1
- import GL from '@luma.gl/constants';
2
- import {isWebGL2, getContextDebugInfo} from '@luma.gl/gltools';
3
- import WEBGL_LIMITS from './webgl-limits-table';
4
- import {getLumaContextData} from '../context/luma-context-data';
5
-
6
- export function getContextLimits(gl) {
7
- const lumaContextData = getLumaContextData(gl);
8
-
9
- if (!lumaContextData.limits) {
10
- lumaContextData.limits = {};
11
- lumaContextData.webgl1MinLimits = {};
12
- lumaContextData.webgl2MinLimits = {};
13
-
14
- const isWebgl2 = isWebGL2(gl);
15
-
16
- // WEBGL limits
17
- for (const parameter in WEBGL_LIMITS) {
18
- const limit = WEBGL_LIMITS[parameter];
19
-
20
- const webgl1MinLimit = limit.gl1;
21
- const webgl2MinLimit = 'gl2' in limit ? limit.gl2 : limit.gl1;
22
- const minLimit = isWebgl2 ? webgl2MinLimit : webgl1MinLimit;
23
-
24
- // Check if we can query for this limit
25
- const limitNotAvailable =
26
- ('gl2' in limit && !isWebgl2) ||
27
- // @ts-ignore
28
- ('extension' in limit && !gl.getExtension(limit.extension));
29
-
30
- const value = limitNotAvailable ? minLimit : gl.getParameter(parameter);
31
- lumaContextData.limits[parameter] = value;
32
- lumaContextData.webgl1MinLimits[parameter] = webgl1MinLimit;
33
- lumaContextData.webgl2MinLimits[parameter] = webgl2MinLimit;
34
- }
35
- }
36
-
37
- return lumaContextData.limits;
38
- }
39
-
40
- export function getGLContextInfo(gl) {
41
- const lumaContextData = getLumaContextData(gl);
42
-
43
- const info = getContextDebugInfo(gl);
44
- if (!lumaContextData.info) {
45
- lumaContextData.info = {
46
- [GL.UNMASKED_VENDOR_WEBGL]: info.vendor,
47
- [GL.UNMASKED_RENDERER_WEBGL]: info.renderer,
48
- [GL.VENDOR]: info.vendorMasked,
49
- [GL.RENDERER]: info.rendererMasked,
50
- [GL.VERSION]: info.version,
51
- [GL.SHADING_LANGUAGE_VERSION]: info.shadingLanguageVersion
52
- };
53
- }
54
-
55
- return lumaContextData.info;
56
- }
57
-
58
- export function getContextInfo(gl) {
59
- const lumaContextData = getLumaContextData(gl);
60
- return Object.assign(getContextDebugInfo(gl), {
61
- limits: getContextLimits(gl),
62
- info: getGLContextInfo(gl),
63
- webgl1MinLimits: lumaContextData.webgl1MinLimits,
64
- webgl2MinLimits: lumaContextData.webgl2MinLimits
65
- });
66
- }