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

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 (701) hide show
  1. package/LICENSE +8 -1
  2. package/dist/_deprecated/context-api.d.ts +85 -0
  3. package/dist/_deprecated/context-api.d.ts.map +1 -0
  4. package/dist/_deprecated/context-api.js +76 -0
  5. package/dist/_deprecated/context-api.js.map +1 -0
  6. package/dist/{features/webgl-features-table.d.ts → _deprecated/features.d.ts} +4 -7
  7. package/dist/_deprecated/features.d.ts.map +1 -0
  8. package/dist/_deprecated/features.js +111 -0
  9. package/dist/_deprecated/features.js.map +1 -0
  10. package/dist/adapter/converters/set-device-parameters.d.ts +5 -0
  11. package/dist/adapter/converters/set-device-parameters.d.ts.map +1 -0
  12. package/dist/adapter/converters/set-device-parameters.js +124 -0
  13. package/dist/adapter/converters/set-device-parameters.js.map +1 -0
  14. package/dist/adapter/converters/webgpu-texture-formats.d.ts +281 -0
  15. package/dist/adapter/converters/webgpu-texture-formats.d.ts.map +1 -0
  16. package/dist/adapter/converters/webgpu-texture-formats.js +285 -0
  17. package/dist/adapter/converters/webgpu-texture-formats.js.map +1 -0
  18. package/dist/adapter/device-helpers/device-features.d.ts +12 -0
  19. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -0
  20. package/dist/adapter/device-helpers/device-features.js +123 -0
  21. package/dist/adapter/device-helpers/device-features.js.map +1 -0
  22. package/dist/adapter/device-helpers/device-limits.d.ts +51 -0
  23. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -0
  24. package/dist/adapter/device-helpers/device-limits.js +90 -0
  25. package/dist/adapter/device-helpers/device-limits.js.map +1 -0
  26. package/dist/adapter/device-helpers/get-device-info.d.ts +4 -0
  27. package/dist/adapter/device-helpers/get-device-info.d.ts.map +1 -0
  28. package/dist/adapter/device-helpers/get-device-info.js +44 -0
  29. package/dist/adapter/device-helpers/get-device-info.js.map +1 -0
  30. package/dist/adapter/device-helpers/is-old-ie.d.ts +2 -0
  31. package/dist/adapter/device-helpers/is-old-ie.d.ts.map +1 -0
  32. package/dist/{esm/features/check-old-ie.js → adapter/device-helpers/is-old-ie.js} +3 -3
  33. package/dist/adapter/device-helpers/is-old-ie.js.map +1 -0
  34. package/dist/adapter/webgl-device.d.ts +110 -0
  35. package/dist/adapter/webgl-device.d.ts.map +1 -0
  36. package/dist/adapter/webgl-device.js +207 -0
  37. package/dist/adapter/webgl-device.js.map +1 -0
  38. package/dist/adapter/webgl-shader.d.ts +18 -0
  39. package/dist/adapter/webgl-shader.d.ts.map +1 -0
  40. package/dist/adapter/webgl-shader.js +82 -0
  41. package/dist/adapter/webgl-shader.js.map +1 -0
  42. package/dist/classes/accessor.js +2 -2
  43. package/dist/classes/accessor.js.map +1 -1
  44. package/dist/classes/accessor.ts.disabled +1 -1
  45. package/dist/classes/clear.d.ts +3 -2
  46. package/dist/classes/clear.d.ts.map +1 -1
  47. package/dist/classes/clear.js +7 -4
  48. package/dist/classes/clear.js.map +1 -1
  49. package/dist/classes/copy-and-blit.d.ts +18 -1
  50. package/dist/classes/copy-and-blit.d.ts.map +1 -1
  51. package/dist/classes/copy-and-blit.js +30 -25
  52. package/dist/classes/copy-and-blit.js.map +1 -1
  53. package/dist/classes/framebuffer.d.ts +10 -1
  54. package/dist/classes/framebuffer.d.ts.map +1 -1
  55. package/dist/classes/framebuffer.js +15 -15
  56. package/dist/classes/framebuffer.js.map +1 -1
  57. package/dist/classes/program-configuration.d.ts +14 -17
  58. package/dist/classes/program-configuration.d.ts.map +1 -1
  59. package/dist/classes/program-configuration.js +10 -97
  60. package/dist/classes/program-configuration.js.map +1 -1
  61. package/dist/classes/program.d.ts +25 -20
  62. package/dist/classes/program.d.ts.map +1 -1
  63. package/dist/classes/program.js +39 -28
  64. package/dist/classes/program.js.map +1 -1
  65. package/dist/classes/query.d.ts.map +1 -1
  66. package/dist/classes/query.js +6 -5
  67. package/dist/classes/query.js.map +1 -1
  68. package/dist/classes/renderbuffer-formats.js +1 -1
  69. package/dist/classes/renderbuffer-formats.js.map +1 -1
  70. package/dist/classes/renderbuffer.d.ts.map +1 -1
  71. package/dist/classes/renderbuffer.js +4 -3
  72. package/dist/classes/renderbuffer.js.map +1 -1
  73. package/dist/classes/{webgl-shader.d.ts → shader.d.ts} +4 -13
  74. package/dist/classes/shader.d.ts.map +1 -0
  75. package/dist/classes/{webgl-shader.js → shader.js} +7 -79
  76. package/dist/classes/shader.js.map +1 -0
  77. package/dist/classes/texture-2d.d.ts +4 -3
  78. package/dist/classes/texture-2d.d.ts.map +1 -1
  79. package/dist/classes/texture-2d.js +5 -8
  80. package/dist/classes/texture-2d.js.map +1 -1
  81. package/dist/classes/texture-3d.d.ts +3 -2
  82. package/dist/classes/texture-3d.d.ts.map +1 -1
  83. package/dist/classes/texture-3d.js +15 -6
  84. package/dist/classes/texture-3d.js.map +1 -1
  85. package/dist/classes/texture-cube.d.ts +2 -1
  86. package/dist/classes/texture-cube.d.ts.map +1 -1
  87. package/dist/classes/texture-cube.js +3 -4
  88. package/dist/classes/texture-cube.js.map +1 -1
  89. package/dist/classes/texture-formats.js +1 -1
  90. package/dist/classes/texture-formats.js.map +1 -1
  91. package/dist/classes/texture.d.ts +14 -9
  92. package/dist/classes/texture.d.ts.map +1 -1
  93. package/dist/classes/texture.js +19 -18
  94. package/dist/classes/texture.js.map +1 -1
  95. package/dist/classes/transform-feedback.d.ts.map +1 -1
  96. package/dist/classes/transform-feedback.js +5 -4
  97. package/dist/classes/transform-feedback.js.map +1 -1
  98. package/dist/classes/uniform-buffer-layout.js +1 -1
  99. package/dist/classes/uniform-buffer-layout.js.map +1 -1
  100. package/dist/classes/uniforms.d.ts +0 -1
  101. package/dist/classes/uniforms.d.ts.map +1 -1
  102. package/dist/classes/uniforms.js +1 -2
  103. package/dist/classes/uniforms.js.map +1 -1
  104. package/dist/classes/vertex-array-object.d.ts +7 -6
  105. package/dist/classes/vertex-array-object.d.ts.map +1 -1
  106. package/dist/classes/vertex-array-object.js +11 -12
  107. package/dist/classes/vertex-array-object.js.map +1 -1
  108. package/dist/classes/vertex-array.d.ts +14 -14
  109. package/dist/classes/vertex-array.d.ts.map +1 -1
  110. package/dist/classes/vertex-array.js +3 -4
  111. package/dist/classes/vertex-array.js.map +1 -1
  112. package/dist/classes/webgl-buffer.d.ts +2 -0
  113. package/dist/classes/webgl-buffer.d.ts.map +1 -1
  114. package/dist/classes/webgl-buffer.js +8 -5
  115. package/dist/classes/webgl-buffer.js.map +1 -1
  116. package/dist/classes/webgl-resource.d.ts +6 -4
  117. package/dist/classes/webgl-resource.d.ts.map +1 -1
  118. package/dist/classes/webgl-resource.js +12 -8
  119. package/dist/classes/webgl-resource.js.map +1 -1
  120. package/dist/context/context/context-state.d.ts +18 -0
  121. package/dist/context/context/context-state.d.ts.map +1 -0
  122. package/dist/context/context/context-state.js +26 -0
  123. package/dist/context/context/context-state.js.map +1 -0
  124. package/dist/context/context/create-context.d.ts +40 -0
  125. package/dist/context/context/create-context.d.ts.map +1 -0
  126. package/dist/context/context/create-context.js +37 -0
  127. package/dist/context/context/create-context.js.map +1 -0
  128. package/dist/context/context/device-pixels.d.ts +25 -0
  129. package/dist/context/context/device-pixels.d.ts.map +1 -0
  130. package/dist/context/context/device-pixels.js +98 -0
  131. package/dist/context/context/device-pixels.js.map +1 -0
  132. package/dist/context/context/get-canvas.d.ts +13 -0
  133. package/dist/context/context/get-canvas.d.ts.map +1 -0
  134. package/dist/context/context/get-canvas.js +31 -0
  135. package/dist/context/context/get-canvas.js.map +1 -0
  136. package/dist/context/context/resize-context.d.ts +20 -0
  137. package/dist/context/context/resize-context.d.ts.map +1 -0
  138. package/dist/context/context/resize-context.js +15 -0
  139. package/dist/context/context/resize-context.js.map +1 -0
  140. package/dist/context/context/webgl-checks.d.ts +13 -0
  141. package/dist/context/context/webgl-checks.d.ts.map +1 -0
  142. package/dist/context/context/webgl-checks.js +34 -0
  143. package/dist/context/context/webgl-checks.js.map +1 -0
  144. package/dist/context/parameters/unified-parameter-api.d.ts +31 -0
  145. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -0
  146. package/dist/context/parameters/unified-parameter-api.js +65 -0
  147. package/dist/context/parameters/unified-parameter-api.js.map +1 -0
  148. package/dist/context/parameters/webgl-parameter-tables.d.ts +169 -0
  149. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -0
  150. package/dist/context/parameters/webgl-parameter-tables.js +445 -0
  151. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -0
  152. package/dist/context/parameters/webgl-parameters.d.ts +144 -0
  153. package/dist/context/parameters/webgl-parameters.d.ts.map +1 -0
  154. package/dist/context/parameters/webgl-parameters.js +2 -0
  155. package/dist/context/parameters/webgl-parameters.js.map +1 -0
  156. package/dist/context/polyfill/get-parameter-polyfill.d.ts +2 -0
  157. package/dist/context/polyfill/get-parameter-polyfill.d.ts.map +1 -0
  158. package/dist/context/polyfill/get-parameter-polyfill.js +91 -0
  159. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -0
  160. package/dist/context/polyfill/polyfill-context.d.ts +5 -0
  161. package/dist/context/polyfill/polyfill-context.d.ts.map +1 -0
  162. package/dist/context/polyfill/polyfill-context.js +91 -0
  163. package/dist/context/polyfill/polyfill-context.js.map +1 -0
  164. package/dist/context/polyfill/polyfill-table.d.ts +48 -0
  165. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -0
  166. package/dist/context/polyfill/polyfill-table.js +160 -0
  167. package/dist/context/polyfill/polyfill-table.js.map +1 -0
  168. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts +2 -0
  169. package/dist/context/polyfill/polyfill-vertex-array-object.d.ts.map +1 -0
  170. package/dist/context/polyfill/polyfill-vertex-array-object.js +335 -0
  171. package/dist/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  172. package/dist/context/state-tracker/deep-array-equal.d.ts +3 -0
  173. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -0
  174. package/dist/context/state-tracker/deep-array-equal.js +21 -0
  175. package/dist/context/state-tracker/deep-array-equal.js.map +1 -0
  176. package/dist/context/state-tracker/track-context-state.d.ts +22 -0
  177. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -0
  178. package/dist/context/state-tracker/track-context-state.js +169 -0
  179. package/dist/context/state-tracker/track-context-state.js.map +1 -0
  180. package/dist/context/state-tracker/with-parameters.d.ts +13 -0
  181. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -0
  182. package/dist/context/state-tracker/with-parameters.js +36 -0
  183. package/dist/context/state-tracker/with-parameters.js.map +1 -0
  184. package/dist/debug/debug-uniforms.js +1 -1
  185. package/dist/debug/debug-uniforms.js.map +1 -1
  186. package/dist/debug/debug-vertex-array.js +2 -2
  187. package/dist/debug/debug-vertex-array.js.map +1 -1
  188. package/dist/es5/_deprecated/context-api.js +116 -0
  189. package/dist/es5/_deprecated/context-api.js.map +1 -0
  190. package/dist/es5/_deprecated/features.js +118 -0
  191. package/dist/es5/_deprecated/features.js.map +1 -0
  192. package/dist/es5/adapter/converters/set-device-parameters.js +138 -0
  193. package/dist/es5/adapter/converters/set-device-parameters.js.map +1 -0
  194. package/dist/es5/adapter/converters/webgpu-texture-formats.js +296 -0
  195. package/dist/es5/adapter/converters/webgpu-texture-formats.js.map +1 -0
  196. package/dist/es5/adapter/device-helpers/device-features.js +152 -0
  197. package/dist/es5/adapter/device-helpers/device-features.js.map +1 -0
  198. package/dist/es5/adapter/device-helpers/device-limits.js +64 -0
  199. package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -0
  200. package/dist/es5/adapter/device-helpers/get-device-info.js +55 -0
  201. package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -0
  202. package/dist/es5/adapter/device-helpers/is-old-ie.js +16 -0
  203. package/dist/es5/adapter/device-helpers/is-old-ie.js.map +1 -0
  204. package/dist/es5/adapter/webgl-device.js +279 -0
  205. package/dist/es5/adapter/webgl-device.js.map +1 -0
  206. package/dist/es5/adapter/webgl-shader.js +155 -0
  207. package/dist/es5/adapter/webgl-shader.js.map +1 -0
  208. package/dist/es5/bundle.js +1 -1
  209. package/dist/es5/bundle.js.map +1 -1
  210. package/dist/es5/classes/accessor.js +104 -74
  211. package/dist/es5/classes/accessor.js.map +1 -1
  212. package/dist/es5/classes/accessor.ts.disabled +1 -1
  213. package/dist/es5/classes/clear.js +55 -34
  214. package/dist/es5/classes/clear.js.map +1 -1
  215. package/dist/es5/classes/copy-and-blit.js +175 -156
  216. package/dist/es5/classes/copy-and-blit.js.map +1 -1
  217. package/dist/es5/classes/framebuffer.js +647 -518
  218. package/dist/es5/classes/framebuffer.js.map +1 -1
  219. package/dist/es5/classes/program-configuration.js +78 -128
  220. package/dist/es5/classes/program-configuration.js.map +1 -1
  221. package/dist/es5/classes/program.js +379 -292
  222. package/dist/es5/classes/program.js.map +1 -1
  223. package/dist/es5/classes/query.js +172 -107
  224. package/dist/es5/classes/query.js.map +1 -1
  225. package/dist/es5/classes/renderbuffer-formats.js +126 -164
  226. package/dist/es5/classes/renderbuffer-formats.js.map +1 -1
  227. package/dist/es5/classes/renderbuffer.js +151 -98
  228. package/dist/es5/classes/renderbuffer.js.map +1 -1
  229. package/dist/es5/classes/shader.js +195 -0
  230. package/dist/es5/classes/shader.js.map +1 -0
  231. package/dist/es5/classes/texture-2d.js +44 -17
  232. package/dist/es5/classes/texture-2d.js.map +1 -1
  233. package/dist/es5/classes/texture-3d.js +107 -48
  234. package/dist/es5/classes/texture-3d.js.map +1 -1
  235. package/dist/es5/classes/texture-cube.js +169 -110
  236. package/dist/es5/classes/texture-cube.js.map +1 -1
  237. package/dist/es5/classes/texture-formats.js +42 -71
  238. package/dist/es5/classes/texture-formats.js.map +1 -1
  239. package/dist/es5/classes/texture.js +780 -665
  240. package/dist/es5/classes/texture.js.map +1 -1
  241. package/dist/es5/classes/transform-feedback.js +206 -150
  242. package/dist/es5/classes/transform-feedback.js.map +1 -1
  243. package/dist/es5/classes/uniform-buffer-layout.js +103 -89
  244. package/dist/es5/classes/uniform-buffer-layout.js.map +1 -1
  245. package/dist/es5/classes/uniforms.js +39 -80
  246. package/dist/es5/classes/uniforms.js.map +1 -1
  247. package/dist/es5/classes/vertex-array-object.js +268 -209
  248. package/dist/es5/classes/vertex-array-object.js.map +1 -1
  249. package/dist/es5/classes/vertex-array.js +348 -303
  250. package/dist/es5/classes/vertex-array.js.map +1 -1
  251. package/dist/es5/classes/webgl-buffer.js +374 -303
  252. package/dist/es5/classes/webgl-buffer.js.map +1 -1
  253. package/dist/es5/classes/webgl-resource.js +231 -161
  254. package/dist/es5/classes/webgl-resource.js.map +1 -1
  255. package/dist/es5/context/context/context-state.js +31 -0
  256. package/dist/es5/context/context/context-state.js.map +1 -0
  257. package/dist/es5/context/context/create-context.js +57 -0
  258. package/dist/es5/context/context/create-context.js.map +1 -0
  259. package/dist/es5/context/context/device-pixels.js +115 -0
  260. package/dist/es5/context/context/device-pixels.js.map +1 -0
  261. package/dist/es5/context/context/get-canvas.js +40 -0
  262. package/dist/es5/context/context/get-canvas.js.map +1 -0
  263. package/dist/es5/context/context/resize-context.js +23 -0
  264. package/dist/es5/context/context/resize-context.js.map +1 -0
  265. package/dist/es5/context/context/webgl-checks.js +54 -0
  266. package/dist/es5/context/context/webgl-checks.js.map +1 -0
  267. package/dist/es5/context/parameters/unified-parameter-api.js +95 -0
  268. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -0
  269. package/dist/es5/context/parameters/webgl-parameter-tables.js +392 -0
  270. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -0
  271. package/dist/es5/context/parameters/webgl-parameters.js +6 -0
  272. package/dist/es5/context/parameters/webgl-parameters.js.map +1 -0
  273. package/dist/es5/context/polyfill/get-parameter-polyfill.js +81 -0
  274. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -0
  275. package/dist/es5/context/polyfill/polyfill-context.js +134 -0
  276. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -0
  277. package/dist/es5/context/polyfill/polyfill-table.js +166 -0
  278. package/dist/es5/context/polyfill/polyfill-table.js.map +1 -0
  279. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js +341 -0
  280. package/dist/es5/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  281. package/dist/es5/context/state-tracker/deep-array-equal.js +28 -0
  282. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -0
  283. package/dist/es5/context/state-tracker/track-context-state.js +196 -0
  284. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -0
  285. package/dist/es5/context/state-tracker/with-parameters.js +44 -0
  286. package/dist/es5/context/state-tracker/with-parameters.js.map +1 -0
  287. package/dist/es5/debug/debug-program-configuration.js +48 -20
  288. package/dist/es5/debug/debug-program-configuration.js.map +1 -1
  289. package/dist/es5/debug/debug-uniforms.js +110 -70
  290. package/dist/es5/debug/debug-uniforms.js.map +1 -1
  291. package/dist/es5/debug/debug-vertex-array.js +49 -54
  292. package/dist/es5/debug/debug-vertex-array.js.map +1 -1
  293. package/dist/es5/helpers/get-program-bindings.js +274 -0
  294. package/dist/es5/helpers/get-program-bindings.js.map +1 -0
  295. package/dist/es5/helpers/program-bindings.js +2 -0
  296. package/dist/es5/helpers/program-bindings.js.map +1 -0
  297. package/dist/es5/index.js +268 -192
  298. package/dist/es5/index.js.map +1 -1
  299. package/dist/es5/init.js +18 -14
  300. package/dist/es5/init.js.map +1 -1
  301. package/dist/es5/types/accessor.d.ts +29 -0
  302. package/dist/es5/webgl-utils/attribute-utils.js +74 -87
  303. package/dist/es5/webgl-utils/attribute-utils.js.map +1 -1
  304. package/dist/es5/webgl-utils/constants-to-keys.js +7 -7
  305. package/dist/es5/webgl-utils/constants-to-keys.js.map +1 -1
  306. package/dist/es5/webgl-utils/format-utils.js +4 -4
  307. package/dist/es5/webgl-utils/format-utils.js.map +1 -1
  308. package/dist/es5/webgl-utils/get-error.js +18 -18
  309. package/dist/es5/webgl-utils/get-error.js.map +1 -1
  310. package/dist/es5/webgl-utils/index.js +10 -10
  311. package/dist/es5/webgl-utils/parse-shader-compiler-log.js +53 -25
  312. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +1 -1
  313. package/dist/es5/webgl-utils/texture-utils.js +32 -36
  314. package/dist/es5/webgl-utils/texture-utils.js.map +1 -1
  315. package/dist/es5/webgl-utils/typed-array-utils.js +33 -32
  316. package/dist/es5/webgl-utils/typed-array-utils.js.map +1 -1
  317. package/dist/esm/_deprecated/context-api.js +76 -0
  318. package/dist/esm/_deprecated/context-api.js.map +1 -0
  319. package/dist/esm/_deprecated/features.js +111 -0
  320. package/dist/esm/_deprecated/features.js.map +1 -0
  321. package/dist/esm/adapter/converters/set-device-parameters.js +124 -0
  322. package/dist/esm/adapter/converters/set-device-parameters.js.map +1 -0
  323. package/dist/esm/adapter/converters/webgpu-texture-formats.js +285 -0
  324. package/dist/esm/adapter/converters/webgpu-texture-formats.js.map +1 -0
  325. package/dist/esm/adapter/device-helpers/device-features.js +123 -0
  326. package/dist/esm/adapter/device-helpers/device-features.js.map +1 -0
  327. package/dist/esm/adapter/device-helpers/device-limits.js +90 -0
  328. package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -0
  329. package/dist/esm/adapter/device-helpers/get-device-info.js +44 -0
  330. package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -0
  331. package/dist/{features/check-old-ie.js → esm/adapter/device-helpers/is-old-ie.js} +3 -3
  332. package/dist/esm/adapter/device-helpers/is-old-ie.js.map +1 -0
  333. package/dist/esm/adapter/webgl-device.js +207 -0
  334. package/dist/esm/adapter/webgl-device.js.map +1 -0
  335. package/dist/esm/adapter/webgl-shader.js +82 -0
  336. package/dist/esm/adapter/webgl-shader.js.map +1 -0
  337. package/dist/esm/classes/accessor.js +2 -2
  338. package/dist/esm/classes/accessor.js.map +1 -1
  339. package/dist/esm/classes/accessor.ts.disabled +1 -1
  340. package/dist/esm/classes/clear.js +7 -4
  341. package/dist/esm/classes/clear.js.map +1 -1
  342. package/dist/esm/classes/copy-and-blit.js +30 -25
  343. package/dist/esm/classes/copy-and-blit.js.map +1 -1
  344. package/dist/esm/classes/framebuffer.js +15 -15
  345. package/dist/esm/classes/framebuffer.js.map +1 -1
  346. package/dist/esm/classes/program-configuration.js +10 -97
  347. package/dist/esm/classes/program-configuration.js.map +1 -1
  348. package/dist/esm/classes/program.js +39 -28
  349. package/dist/esm/classes/program.js.map +1 -1
  350. package/dist/esm/classes/query.js +6 -5
  351. package/dist/esm/classes/query.js.map +1 -1
  352. package/dist/esm/classes/renderbuffer-formats.js +1 -1
  353. package/dist/esm/classes/renderbuffer-formats.js.map +1 -1
  354. package/dist/esm/classes/renderbuffer.js +4 -3
  355. package/dist/esm/classes/renderbuffer.js.map +1 -1
  356. package/dist/esm/classes/{webgl-shader.js → shader.js} +7 -79
  357. package/dist/esm/classes/shader.js.map +1 -0
  358. package/dist/esm/classes/texture-2d.js +5 -8
  359. package/dist/esm/classes/texture-2d.js.map +1 -1
  360. package/dist/esm/classes/texture-3d.js +15 -6
  361. package/dist/esm/classes/texture-3d.js.map +1 -1
  362. package/dist/esm/classes/texture-cube.js +3 -4
  363. package/dist/esm/classes/texture-cube.js.map +1 -1
  364. package/dist/esm/classes/texture-formats.js +1 -1
  365. package/dist/esm/classes/texture-formats.js.map +1 -1
  366. package/dist/esm/classes/texture.js +19 -18
  367. package/dist/esm/classes/texture.js.map +1 -1
  368. package/dist/esm/classes/transform-feedback.js +5 -4
  369. package/dist/esm/classes/transform-feedback.js.map +1 -1
  370. package/dist/esm/classes/uniform-buffer-layout.js +1 -1
  371. package/dist/esm/classes/uniform-buffer-layout.js.map +1 -1
  372. package/dist/esm/classes/uniforms.js +1 -2
  373. package/dist/esm/classes/uniforms.js.map +1 -1
  374. package/dist/esm/classes/vertex-array-object.js +11 -12
  375. package/dist/esm/classes/vertex-array-object.js.map +1 -1
  376. package/dist/esm/classes/vertex-array.js +3 -4
  377. package/dist/esm/classes/vertex-array.js.map +1 -1
  378. package/dist/esm/classes/webgl-buffer.js +8 -5
  379. package/dist/esm/classes/webgl-buffer.js.map +1 -1
  380. package/dist/esm/classes/webgl-resource.js +12 -8
  381. package/dist/esm/classes/webgl-resource.js.map +1 -1
  382. package/dist/esm/context/context/context-state.js +26 -0
  383. package/dist/esm/context/context/context-state.js.map +1 -0
  384. package/dist/esm/context/context/create-context.js +37 -0
  385. package/dist/esm/context/context/create-context.js.map +1 -0
  386. package/dist/esm/context/context/device-pixels.js +98 -0
  387. package/dist/esm/context/context/device-pixels.js.map +1 -0
  388. package/dist/esm/context/context/get-canvas.js +31 -0
  389. package/dist/esm/context/context/get-canvas.js.map +1 -0
  390. package/dist/esm/context/context/resize-context.js +15 -0
  391. package/dist/esm/context/context/resize-context.js.map +1 -0
  392. package/dist/esm/context/context/webgl-checks.js +34 -0
  393. package/dist/esm/context/context/webgl-checks.js.map +1 -0
  394. package/dist/esm/context/parameters/unified-parameter-api.js +65 -0
  395. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -0
  396. package/dist/esm/context/parameters/webgl-parameter-tables.js +445 -0
  397. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -0
  398. package/dist/esm/context/parameters/webgl-parameters.js +2 -0
  399. package/dist/esm/context/parameters/webgl-parameters.js.map +1 -0
  400. package/dist/esm/context/polyfill/get-parameter-polyfill.js +91 -0
  401. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -0
  402. package/dist/esm/context/polyfill/polyfill-context.js +91 -0
  403. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -0
  404. package/dist/esm/context/polyfill/polyfill-table.js +160 -0
  405. package/dist/esm/context/polyfill/polyfill-table.js.map +1 -0
  406. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js +335 -0
  407. package/dist/esm/context/polyfill/polyfill-vertex-array-object.js.map +1 -0
  408. package/dist/esm/context/state-tracker/deep-array-equal.js +21 -0
  409. package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -0
  410. package/dist/esm/context/state-tracker/track-context-state.js +169 -0
  411. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -0
  412. package/dist/esm/context/state-tracker/with-parameters.js +36 -0
  413. package/dist/esm/context/state-tracker/with-parameters.js.map +1 -0
  414. package/dist/esm/debug/debug-uniforms.js +1 -1
  415. package/dist/esm/debug/debug-uniforms.js.map +1 -1
  416. package/dist/esm/debug/debug-vertex-array.js +2 -2
  417. package/dist/esm/debug/debug-vertex-array.js.map +1 -1
  418. package/dist/esm/helpers/get-program-bindings.js +228 -0
  419. package/dist/esm/helpers/get-program-bindings.js.map +1 -0
  420. package/dist/esm/helpers/program-bindings.js +2 -0
  421. package/dist/esm/helpers/program-bindings.js.map +1 -0
  422. package/dist/esm/index.js +26 -20
  423. package/dist/esm/index.js.map +1 -1
  424. package/dist/esm/init.js +11 -8
  425. package/dist/esm/init.js.map +1 -1
  426. package/dist/esm/types/accessor.d.ts +29 -0
  427. package/dist/esm/webgl-utils/attribute-utils.js +1 -1
  428. package/dist/esm/webgl-utils/attribute-utils.js.map +1 -1
  429. package/dist/esm/webgl-utils/constants-to-keys.js +1 -1
  430. package/dist/esm/webgl-utils/constants-to-keys.js.map +1 -1
  431. package/dist/esm/webgl-utils/format-utils.js +1 -1
  432. package/dist/esm/webgl-utils/format-utils.js.map +1 -1
  433. package/dist/esm/webgl-utils/texture-utils.js +2 -2
  434. package/dist/esm/webgl-utils/texture-utils.js.map +1 -1
  435. package/dist/esm/webgl-utils/typed-array-utils.js +22 -18
  436. package/dist/esm/webgl-utils/typed-array-utils.js.map +1 -1
  437. package/dist/helpers/get-program-bindings.d.ts +8 -0
  438. package/dist/helpers/get-program-bindings.d.ts.map +1 -0
  439. package/dist/helpers/get-program-bindings.js +228 -0
  440. package/dist/helpers/get-program-bindings.js.map +1 -0
  441. package/dist/helpers/program-bindings.d.ts +41 -0
  442. package/dist/helpers/program-bindings.d.ts.map +1 -0
  443. package/dist/helpers/program-bindings.js +2 -0
  444. package/dist/helpers/program-bindings.js.map +1 -0
  445. package/dist/index.d.ts +41 -20
  446. package/dist/index.d.ts.map +1 -1
  447. package/dist/index.js +26 -20
  448. package/dist/index.js.map +1 -1
  449. package/dist/init.d.ts.map +1 -1
  450. package/dist/init.js +11 -8
  451. package/dist/init.js.map +1 -1
  452. package/dist/types/accessor.d.ts +29 -0
  453. package/dist/webgl-utils/attribute-utils.d.ts +1 -1
  454. package/dist/webgl-utils/attribute-utils.js +1 -1
  455. package/dist/webgl-utils/attribute-utils.js.map +1 -1
  456. package/dist/webgl-utils/constants-to-keys.js +1 -1
  457. package/dist/webgl-utils/constants-to-keys.js.map +1 -1
  458. package/dist/webgl-utils/format-utils.d.ts +2 -2
  459. package/dist/webgl-utils/format-utils.js +1 -1
  460. package/dist/webgl-utils/format-utils.js.map +1 -1
  461. package/dist/webgl-utils/texture-utils.d.ts +12 -8
  462. package/dist/webgl-utils/texture-utils.d.ts.map +1 -1
  463. package/dist/webgl-utils/texture-utils.js +2 -2
  464. package/dist/webgl-utils/texture-utils.js.map +1 -1
  465. package/dist/webgl-utils/typed-array-utils.d.ts +39 -32
  466. package/dist/webgl-utils/typed-array-utils.d.ts.map +1 -1
  467. package/dist/webgl-utils/typed-array-utils.js +22 -18
  468. package/dist/webgl-utils/typed-array-utils.js.map +1 -1
  469. package/package.json +5 -6
  470. package/src/.DS_Store +0 -0
  471. package/src/_deprecated/context-api.ts +146 -0
  472. package/src/_deprecated/features.ts +159 -0
  473. package/src/adapter/converters/set-device-parameters.ts +182 -0
  474. package/src/adapter/converters/webgpu-texture-formats.ts +167 -0
  475. package/src/adapter/device-helpers/device-features.ts +227 -0
  476. package/src/adapter/device-helpers/device-limits.ts +150 -0
  477. package/src/adapter/device-helpers/get-device-info.ts +49 -0
  478. package/src/{features/check-old-ie.ts → adapter/device-helpers/is-old-ie.ts} +3 -3
  479. package/src/adapter/webgl-device.ts +399 -0
  480. package/src/adapter/webgl-shader.ts +84 -0
  481. package/src/classes/accessor.js +2 -2
  482. package/src/classes/accessor.ts.disabled +1 -1
  483. package/src/classes/clear.ts +9 -4
  484. package/src/classes/copy-and-blit.ts +49 -52
  485. package/src/classes/framebuffer.ts +38 -35
  486. package/src/classes/program-configuration.ts +28 -81
  487. package/src/classes/program.ts +89 -75
  488. package/src/classes/query.ts +6 -6
  489. package/src/classes/renderbuffer-formats.ts +1 -1
  490. package/src/classes/renderbuffer.ts +5 -4
  491. package/src/classes/{webgl-shader.ts → shader.ts} +7 -78
  492. package/src/classes/texture-2d.ts +6 -11
  493. package/src/classes/texture-3d.ts +16 -11
  494. package/src/classes/texture-cube.ts +7 -7
  495. package/src/classes/texture-formats.ts +1 -1
  496. package/src/classes/texture.ts +39 -40
  497. package/src/classes/transform-feedback.ts +14 -13
  498. package/src/classes/uniform-buffer-layout.ts +1 -1
  499. package/src/classes/uniforms.ts +4 -10
  500. package/src/classes/vertex-array-object.ts +17 -20
  501. package/src/classes/vertex-array.ts +16 -11
  502. package/src/classes/webgl-buffer.ts +7 -5
  503. package/src/classes/webgl-resource.ts +20 -18
  504. package/src/context/context/context-state.ts +39 -0
  505. package/src/context/context/create-context.ts +83 -0
  506. package/src/context/context/device-pixels.ts +147 -0
  507. package/src/context/context/get-canvas.ts +37 -0
  508. package/src/context/context/resize-context.ts +37 -0
  509. package/src/context/context/webgl-checks.ts +49 -0
  510. package/src/context/parameters/unified-parameter-api.ts +128 -0
  511. package/src/context/parameters/webgl-parameter-tables.ts +625 -0
  512. package/src/context/parameters/webgl-parameters.ts +197 -0
  513. package/src/context/polyfill/get-parameter-polyfill.ts +118 -0
  514. package/src/context/polyfill/polyfill-context.ts +98 -0
  515. package/src/context/polyfill/polyfill-table.ts +162 -0
  516. package/src/context/polyfill/polyfill-vertex-array-object.ts +360 -0
  517. package/src/context/state-tracker/deep-array-equal.ts +20 -0
  518. package/src/context/state-tracker/track-context-state.ts +250 -0
  519. package/src/context/state-tracker/with-parameters.ts +50 -0
  520. package/src/debug/debug-uniforms.ts +1 -1
  521. package/src/debug/debug-vertex-array.ts +2 -4
  522. package/src/helpers/get-program-bindings.ts +244 -0
  523. package/src/helpers/program-bindings.ts +46 -0
  524. package/src/index.ts +94 -23
  525. package/src/init.ts +12 -9
  526. package/src/types/accessor.d.ts +29 -0
  527. package/src/types.ts +1 -1
  528. package/src/webgl-utils/attribute-utils.ts +1 -1
  529. package/src/webgl-utils/constants-to-keys.ts +1 -1
  530. package/src/webgl-utils/format-utils.ts +1 -1
  531. package/src/webgl-utils/{texture-utils.js → texture-utils.ts} +13 -10
  532. package/src/webgl-utils/{typed-array-utils.js → typed-array-utils.ts} +59 -16
  533. package/dist/classes/webgl-shader.d.ts.map +0 -1
  534. package/dist/classes/webgl-shader.js.map +0 -1
  535. package/dist/context/gl-context.d.ts +0 -15
  536. package/dist/context/gl-context.d.ts.map +0 -1
  537. package/dist/context/gl-context.js +0 -32
  538. package/dist/context/gl-context.js.map +0 -1
  539. package/dist/context/luma-context-data.d.ts +0 -31
  540. package/dist/context/luma-context-data.d.ts.map +0 -1
  541. package/dist/context/luma-context-data.js +0 -5
  542. package/dist/context/luma-context-data.js.map +0 -1
  543. package/dist/es5/classes/webgl-shader.js +0 -213
  544. package/dist/es5/classes/webgl-shader.js.map +0 -1
  545. package/dist/es5/context/gl-context.js +0 -46
  546. package/dist/es5/context/gl-context.js.map +0 -1
  547. package/dist/es5/context/luma-context-data.js +0 -12
  548. package/dist/es5/context/luma-context-data.js.map +0 -1
  549. package/dist/es5/features/check-glsl-extension.js +0 -40
  550. package/dist/es5/features/check-glsl-extension.js.map +0 -1
  551. package/dist/es5/features/check-old-ie.js +0 -15
  552. package/dist/es5/features/check-old-ie.js.map +0 -1
  553. package/dist/es5/features/features.js +0 -85
  554. package/dist/es5/features/features.js.map +0 -1
  555. package/dist/es5/features/index.js +0 -64
  556. package/dist/es5/features/index.js.map +0 -1
  557. package/dist/es5/features/limits.js +0 -72
  558. package/dist/es5/features/limits.js.map +0 -1
  559. package/dist/es5/features/webgl-features-table.js +0 -84
  560. package/dist/es5/features/webgl-features-table.js.map +0 -1
  561. package/dist/es5/features/webgl-limits-table.js +0 -172
  562. package/dist/es5/features/webgl-limits-table.js.map +0 -1
  563. package/dist/es5/utils/array-utils-flat.js +0 -50
  564. package/dist/es5/utils/array-utils-flat.js.map +0 -1
  565. package/dist/es5/utils/assert.js +0 -13
  566. package/dist/es5/utils/assert.js.map +0 -1
  567. package/dist/es5/utils/check-props.js +0 -50
  568. package/dist/es5/utils/check-props.js.map +0 -1
  569. package/dist/es5/utils/format-value.js +0 -57
  570. package/dist/es5/utils/format-value.js.map +0 -1
  571. package/dist/es5/utils/index.js +0 -68
  572. package/dist/es5/utils/index.js.map +0 -1
  573. package/dist/es5/utils/is-old-ie.js +0 -13
  574. package/dist/es5/utils/is-old-ie.js.map +0 -1
  575. package/dist/es5/utils/load-file.js +0 -43
  576. package/dist/es5/utils/load-file.js.map +0 -1
  577. package/dist/es5/utils/stub-methods.js +0 -25
  578. package/dist/es5/utils/stub-methods.js.map +0 -1
  579. package/dist/es5/utils/utils.js +0 -31
  580. package/dist/es5/utils/utils.js.map +0 -1
  581. package/dist/es5/webgl-utils/texture-utils.d.ts +0 -11
  582. package/dist/es5/webgl-utils/typed-array-utils.d.ts +0 -36
  583. package/dist/esm/classes/webgl-shader.js.map +0 -1
  584. package/dist/esm/context/gl-context.js +0 -32
  585. package/dist/esm/context/gl-context.js.map +0 -1
  586. package/dist/esm/context/luma-context-data.js +0 -5
  587. package/dist/esm/context/luma-context-data.js.map +0 -1
  588. package/dist/esm/features/check-glsl-extension.js +0 -27
  589. package/dist/esm/features/check-glsl-extension.js.map +0 -1
  590. package/dist/esm/features/check-old-ie.js.map +0 -1
  591. package/dist/esm/features/features.js +0 -67
  592. package/dist/esm/features/features.js.map +0 -1
  593. package/dist/esm/features/index.js +0 -5
  594. package/dist/esm/features/index.js.map +0 -1
  595. package/dist/esm/features/limits.js +0 -55
  596. package/dist/esm/features/limits.js.map +0 -1
  597. package/dist/esm/features/webgl-features-table.js +0 -71
  598. package/dist/esm/features/webgl-features-table.js.map +0 -1
  599. package/dist/esm/features/webgl-limits-table.js +0 -161
  600. package/dist/esm/features/webgl-limits-table.js.map +0 -1
  601. package/dist/esm/utils/array-utils-flat.js +0 -39
  602. package/dist/esm/utils/array-utils-flat.js.map +0 -1
  603. package/dist/esm/utils/assert.js +0 -6
  604. package/dist/esm/utils/assert.js.map +0 -1
  605. package/dist/esm/utils/check-props.js +0 -38
  606. package/dist/esm/utils/check-props.js.map +0 -1
  607. package/dist/esm/utils/format-value.js +0 -50
  608. package/dist/esm/utils/format-value.js.map +0 -1
  609. package/dist/esm/utils/index.js +0 -7
  610. package/dist/esm/utils/index.js.map +0 -1
  611. package/dist/esm/utils/is-old-ie.js +0 -5
  612. package/dist/esm/utils/is-old-ie.js.map +0 -1
  613. package/dist/esm/utils/load-file.js +0 -30
  614. package/dist/esm/utils/load-file.js.map +0 -1
  615. package/dist/esm/utils/stub-methods.js +0 -16
  616. package/dist/esm/utils/stub-methods.js.map +0 -1
  617. package/dist/esm/utils/utils.js +0 -20
  618. package/dist/esm/utils/utils.js.map +0 -1
  619. package/dist/esm/webgl-utils/texture-utils.d.ts +0 -11
  620. package/dist/esm/webgl-utils/typed-array-utils.d.ts +0 -36
  621. package/dist/features/check-glsl-extension.d.ts +0 -2
  622. package/dist/features/check-glsl-extension.d.ts.map +0 -1
  623. package/dist/features/check-glsl-extension.js +0 -27
  624. package/dist/features/check-glsl-extension.js.map +0 -1
  625. package/dist/features/check-old-ie.d.ts +0 -2
  626. package/dist/features/check-old-ie.d.ts.map +0 -1
  627. package/dist/features/check-old-ie.js.map +0 -1
  628. package/dist/features/features.d.ts +0 -6
  629. package/dist/features/features.d.ts.map +0 -1
  630. package/dist/features/features.js +0 -67
  631. package/dist/features/features.js.map +0 -1
  632. package/dist/features/index.d.ts +0 -5
  633. package/dist/features/index.d.ts.map +0 -1
  634. package/dist/features/index.js +0 -5
  635. package/dist/features/index.js.map +0 -1
  636. package/dist/features/limits.d.ts +0 -28
  637. package/dist/features/limits.d.ts.map +0 -1
  638. package/dist/features/limits.js +0 -55
  639. package/dist/features/limits.js.map +0 -1
  640. package/dist/features/webgl-features-table.d.ts.map +0 -1
  641. package/dist/features/webgl-features-table.js +0 -71
  642. package/dist/features/webgl-features-table.js.map +0 -1
  643. package/dist/features/webgl-limits-table.d.ts +0 -161
  644. package/dist/features/webgl-limits-table.d.ts.map +0 -1
  645. package/dist/features/webgl-limits-table.js +0 -161
  646. package/dist/features/webgl-limits-table.js.map +0 -1
  647. package/dist/utils/array-utils-flat.d.ts +0 -9
  648. package/dist/utils/array-utils-flat.d.ts.map +0 -1
  649. package/dist/utils/array-utils-flat.js +0 -39
  650. package/dist/utils/array-utils-flat.js.map +0 -1
  651. package/dist/utils/assert.d.ts +0 -2
  652. package/dist/utils/assert.d.ts.map +0 -1
  653. package/dist/utils/assert.js +0 -6
  654. package/dist/utils/assert.js.map +0 -1
  655. package/dist/utils/check-props.d.ts +0 -2
  656. package/dist/utils/check-props.d.ts.map +0 -1
  657. package/dist/utils/check-props.js +0 -38
  658. package/dist/utils/check-props.js.map +0 -1
  659. package/dist/utils/format-value.d.ts +0 -5
  660. package/dist/utils/format-value.d.ts.map +0 -1
  661. package/dist/utils/format-value.js +0 -50
  662. package/dist/utils/format-value.js.map +0 -1
  663. package/dist/utils/index.d.ts +0 -7
  664. package/dist/utils/index.d.ts.map +0 -1
  665. package/dist/utils/index.js +0 -7
  666. package/dist/utils/index.js.map +0 -1
  667. package/dist/utils/is-old-ie.d.ts +0 -4
  668. package/dist/utils/is-old-ie.d.ts.map +0 -1
  669. package/dist/utils/is-old-ie.js +0 -5
  670. package/dist/utils/is-old-ie.js.map +0 -1
  671. package/dist/utils/load-file.d.ts +0 -4
  672. package/dist/utils/load-file.d.ts.map +0 -1
  673. package/dist/utils/load-file.js +0 -30
  674. package/dist/utils/load-file.js.map +0 -1
  675. package/dist/utils/stub-methods.d.ts +0 -2
  676. package/dist/utils/stub-methods.d.ts.map +0 -1
  677. package/dist/utils/stub-methods.js +0 -16
  678. package/dist/utils/stub-methods.js.map +0 -1
  679. package/dist/utils/utils.d.ts +0 -15
  680. package/dist/utils/utils.d.ts.map +0 -1
  681. package/dist/utils/utils.js +0 -20
  682. package/dist/utils/utils.js.map +0 -1
  683. package/src/context/gl-context.ts +0 -31
  684. package/src/context/luma-context-data.ts +0 -27
  685. package/src/features/check-glsl-extension.ts +0 -34
  686. package/src/features/features.ts +0 -80
  687. package/src/features/index.ts +0 -5
  688. package/src/features/limits.ts +0 -66
  689. package/src/features/webgl-features-table.ts +0 -104
  690. package/src/features/webgl-limits-table.ts +0 -51
  691. package/src/utils/array-utils-flat.ts +0 -56
  692. package/src/utils/assert.ts +0 -7
  693. package/src/utils/check-props.ts +0 -68
  694. package/src/utils/format-value.ts +0 -37
  695. package/src/utils/index.ts +0 -6
  696. package/src/utils/is-old-ie.ts +0 -6
  697. package/src/utils/load-file.ts +0 -40
  698. package/src/utils/stub-methods.ts +0 -20
  699. package/src/utils/utils.ts +0 -35
  700. package/src/webgl-utils/texture-utils.d.ts +0 -11
  701. package/src/webgl-utils/typed-array-utils.d.ts +0 -36
@@ -1,50 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.checkProps = checkProps;
7
-
8
- var _gltools = require("@luma.gl/gltools");
9
-
10
- function checkProps(className, props, propChecks) {
11
- const {
12
- removedProps = {},
13
- deprecatedProps = {},
14
- replacedProps = {}
15
- } = propChecks;
16
-
17
- for (const propName in removedProps) {
18
- if (propName in props) {
19
- const replacementProp = removedProps[propName];
20
- const replacement = replacementProp ? "".concat(className, ".").concat(removedProps[propName]) : 'N/A';
21
-
22
- _gltools.log.removed("".concat(className, ".").concat(propName), replacement)();
23
- }
24
- }
25
-
26
- for (const propName in deprecatedProps) {
27
- if (propName in props) {
28
- const replacementProp = deprecatedProps[propName];
29
-
30
- _gltools.log.deprecated("".concat(className, ".").concat(propName), "".concat(className, ".").concat(replacementProp))();
31
- }
32
- }
33
-
34
- let newProps = null;
35
-
36
- for (const propName in replacedProps) {
37
- if (propName in props) {
38
- const replacementProp = replacedProps[propName];
39
-
40
- _gltools.log.deprecated("".concat(className, ".").concat(propName), "".concat(className, ".").concat(replacementProp))();
41
-
42
- newProps = newProps || Object.assign({}, props);
43
- newProps[replacementProp] = props[propName];
44
- delete newProps[propName];
45
- }
46
- }
47
-
48
- return newProps || props;
49
- }
50
- //# sourceMappingURL=check-props.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/check-props.ts"],"names":["checkProps","className","props","propChecks","removedProps","deprecatedProps","replacedProps","propName","replacementProp","replacement","log","removed","deprecated","newProps","Object","assign"],"mappings":";;;;;;;AA6BA;;AAEO,SAASA,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;;AACAG,mBAAIC,OAAJ,WAAeV,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;;AACAG,mBAAIE,UAAJ,WAAkBX,SAAlB,cAA+BM,QAA/B,aAA8CN,SAA9C,cAA2DO,eAA3D;AACD;AACF;;AAID,MAAIK,QAAQ,GAAG,IAAf;;AACA,OAAK,MAAMN,QAAX,IAAuBD,aAAvB,EAAsC;AACpC,QAAIC,QAAQ,IAAIL,KAAhB,EAAuB;AACrB,YAAMM,eAAe,GAAGF,aAAa,CAACC,QAAD,CAArC;;AACAG,mBAAIE,UAAJ,WAAkBX,SAAlB,cAA+BM,QAA/B,aAA8CN,SAA9C,cAA2DO,eAA3D;;AACAK,MAAAA,QAAQ,GAAGA,QAAQ,IAAIC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBb,KAAlB,CAAvB;AACAW,MAAAA,QAAQ,CAACL,eAAD,CAAR,GAA4BN,KAAK,CAACK,QAAD,CAAjC;AACA,aAAOM,QAAQ,CAACN,QAAD,CAAf;AACD;AACF;;AAED,SAAOM,QAAQ,IAAIX,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,57 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.formatValue = formatValue;
7
-
8
- function formatArrayValue(v, opts) {
9
- const {
10
- maxElts = 16,
11
- size = 1
12
- } = opts;
13
- let string = '[';
14
-
15
- for (let i = 0; i < v.length && i < maxElts; ++i) {
16
- if (i > 0) {
17
- string += ",".concat(i % size === 0 ? ' ' : '');
18
- }
19
-
20
- string += formatValue(v[i], opts);
21
- }
22
-
23
- const terminator = v.length > maxElts ? '...' : ']';
24
- return "".concat(string).concat(terminator);
25
- }
26
-
27
- function formatValue(v, opts) {
28
- const EPSILON = 1e-16;
29
- const {
30
- isInteger = false
31
- } = opts || {};
32
-
33
- if (Array.isArray(v) || ArrayBuffer.isView(v)) {
34
- return formatArrayValue(v, opts);
35
- }
36
-
37
- if (!Number.isFinite(v)) {
38
- return String(v);
39
- }
40
-
41
- if (Math.abs(v) < EPSILON) {
42
- return isInteger ? '0' : '0.';
43
- }
44
-
45
- if (isInteger) {
46
- return v.toFixed(0);
47
- }
48
-
49
- if (Math.abs(v) > 100 && Math.abs(v) < 10000) {
50
- return v.toFixed(0);
51
- }
52
-
53
- const string = v.toPrecision(2);
54
- const decimal = string.indexOf('.0');
55
- return decimal === string.length - 2 ? string.slice(0, -1) : string;
56
- }
57
- //# 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;;AAEM,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,68 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "assert", {
9
- enumerable: true,
10
- get: function () {
11
- return _assert.default;
12
- }
13
- });
14
- Object.defineProperty(exports, "isOldIE", {
15
- enumerable: true,
16
- get: function () {
17
- return _isOldIe.default;
18
- }
19
- });
20
- Object.defineProperty(exports, "uid", {
21
- enumerable: true,
22
- get: function () {
23
- return _utils.uid;
24
- }
25
- });
26
- Object.defineProperty(exports, "isPowerOfTwo", {
27
- enumerable: true,
28
- get: function () {
29
- return _utils.isPowerOfTwo;
30
- }
31
- });
32
- Object.defineProperty(exports, "isObjectEmpty", {
33
- enumerable: true,
34
- get: function () {
35
- return _utils.isObjectEmpty;
36
- }
37
- });
38
- Object.defineProperty(exports, "formatValue", {
39
- enumerable: true,
40
- get: function () {
41
- return _formatValue.formatValue;
42
- }
43
- });
44
- Object.defineProperty(exports, "stubRemovedMethods", {
45
- enumerable: true,
46
- get: function () {
47
- return _stubMethods.stubRemovedMethods;
48
- }
49
- });
50
- Object.defineProperty(exports, "checkProps", {
51
- enumerable: true,
52
- get: function () {
53
- return _checkProps.checkProps;
54
- }
55
- });
56
-
57
- var _assert = _interopRequireDefault(require("./assert"));
58
-
59
- var _isOldIe = _interopRequireDefault(require("./is-old-ie"));
60
-
61
- var _utils = require("./utils");
62
-
63
- var _formatValue = require("./format-value");
64
-
65
- var _stubMethods = require("./stub-methods");
66
-
67
- var _checkProps = require("./check-props");
68
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA","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,13 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = isOldIE;
7
-
8
- var _env = require("probe.gl/env");
9
-
10
- function isOldIE(opts) {
11
- return (0, _env.getBrowser)(opts.userAgent) === 'IE';
12
- }
13
- //# sourceMappingURL=is-old-ie.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/is-old-ie.ts"],"names":["isOldIE","opts","userAgent"],"mappings":";;;;;;;AAAA;;AAGe,SAASA,OAAT,CAAiBC,IAAjB,EAA8C;AAC3D,SAAO,qBAAWA,IAAI,CAACC,SAAhB,MAA+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,43 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.setPathPrefix = setPathPrefix;
7
- exports.loadFile = loadFile;
8
- exports.loadImage = loadImage;
9
-
10
- var _utils = require("../utils");
11
-
12
- let pathPrefix = '';
13
-
14
- function setPathPrefix(prefix) {
15
- pathPrefix = prefix;
16
- }
17
-
18
- function loadFile(url, options = {}) {
19
- (0, _utils.assert)(typeof url === 'string');
20
- url = pathPrefix + url;
21
- const dataType = options.dataType || 'text';
22
- return fetch(url, options).then(res => res[dataType]());
23
- }
24
-
25
- function loadImage(url, opts) {
26
- (0, _utils.assert)(typeof url === 'string');
27
- url = pathPrefix + url;
28
- return new Promise((resolve, reject) => {
29
- try {
30
- const image = new Image();
31
-
32
- image.onload = () => resolve(image);
33
-
34
- image.onerror = () => reject(new Error("Could not load image ".concat(url, ".")));
35
-
36
- image.crossOrigin = opts && opts.crossOrigin || 'anonymous';
37
- image.src = url;
38
- } catch (error) {
39
- reject(error);
40
- }
41
- });
42
- }
43
- //# sourceMappingURL=load-file.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/load-file.ts"],"names":["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;;AAEA,IAAIA,UAAU,GAAG,EAAjB;;AAKO,SAASC,aAAT,CAAuBC,MAAvB,EAA+B;AACpCF,EAAAA,UAAU,GAAGE,MAAb;AACD;;AAGM,SAASC,QAAT,CAAkBC,GAAlB,EAAuBC,OAAO,GAAG,EAAjC,EAAqC;AAC1C,qBAAO,OAAOD,GAAP,KAAe,QAAtB;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;;AAOM,SAASI,SAAT,CAAmBN,GAAnB,EAAwBO,IAAxB,EAA8B;AACnC,qBAAO,OAAOP,GAAP,KAAe,QAAtB;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,25 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.stubRemovedMethods = stubRemovedMethods;
7
-
8
- var _gltools = require("@luma.gl/gltools");
9
-
10
- function stubRemovedMethods(instance, className, version, methodNames) {
11
- const upgradeMessage = "See luma.gl ".concat(version, " Upgrade Guide at https://luma.gl/docs/upgrade-guide");
12
- const prototype = Object.getPrototypeOf(instance);
13
- methodNames.forEach(methodName => {
14
- if (prototype.methodName) {
15
- return;
16
- }
17
-
18
- prototype[methodName] = () => {
19
- _gltools.log.removed("Calling removed method ".concat(className, ".").concat(methodName, ": "), upgradeMessage)();
20
-
21
- throw new Error(methodName);
22
- };
23
- });
24
- }
25
- //# sourceMappingURL=stub-methods.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/stub-methods.ts"],"names":["stubRemovedMethods","instance","className","version","methodNames","upgradeMessage","prototype","Object","getPrototypeOf","forEach","methodName","log","removed","Error"],"mappings":";;;;;;;AAAA;;AAGO,SAASA,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;AAC5BC,mBAAIC,OAAJ,kCAAsCV,SAAtC,cAAmDQ,UAAnD,SAAmEL,cAAnE;;AACA,YAAM,IAAIQ,KAAJ,CAAUH,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,31 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.uid = uid;
7
- exports.isPowerOfTwo = isPowerOfTwo;
8
- exports.isObjectEmpty = isObjectEmpty;
9
- const uidCounters = {};
10
-
11
- function uid(id = 'id') {
12
- uidCounters[id] = uidCounters[id] || 1;
13
- const count = uidCounters[id]++;
14
- return "".concat(id, "-").concat(count);
15
- }
16
-
17
- function isPowerOfTwo(n) {
18
- return n && (n & n - 1) === 0;
19
- }
20
-
21
- function isObjectEmpty(obj) {
22
- let isEmpty = true;
23
-
24
- for (const key in obj) {
25
- isEmpty = false;
26
- break;
27
- }
28
-
29
- return isEmpty;
30
- }
31
- //# 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;;AAOO,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;;AAOM,SAASC,YAAT,CAAsBC,CAAtB,EAA0C;AAC/C,SAAOA,CAAC,IAAI,CAACA,CAAC,GAAIA,CAAC,GAAG,CAAV,MAAkB,CAA9B;AACD;;AAGM,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,11 +0,0 @@
1
- import Texture2D from '../classes/texture-2d';
2
- import TextureCube from '../classes/texture-cube';
3
- import Texture3D from '../classes/texture-3d';
4
- import Texture from '../classes/texture';
5
- import Framebuffer, {FramebufferProps} from '../classes/framebuffer';
6
-
7
- type TextureType = Texture2D | TextureCube | Texture3D;
8
-
9
- export function cloneTextureFrom<T extends TextureType>(refTexture: T, overrides?: any): T;
10
-
11
- export function toFramebuffer(texture: Texture, opts?: FramebufferProps): Framebuffer;
@@ -1,36 +0,0 @@
1
- type TypedArrayConstructor =
2
- | Float32ArrayConstructor
3
- | Uint16ArrayConstructor
4
- | Uint32ArrayConstructor
5
- | Uint8ArrayConstructor
6
- | Uint8ClampedArrayConstructor
7
- | Int8ArrayConstructor
8
- | Int16ArrayConstructor
9
- | Int32ArrayConstructor;
10
-
11
- export function getGLTypeFromTypedArray(arrayOrType: any): any;
12
-
13
- export function getTypedArrayFromGLType(
14
- glType: any,
15
- options?: {
16
- clamped?: boolean;
17
- }
18
- ): TypedArrayConstructor;
19
-
20
- export function flipRows(options: {
21
- data: any;
22
- width: any;
23
- height: any;
24
- bytesPerPixel?: number;
25
- temp?: any;
26
- }): void;
27
-
28
- export function scalePixels(options: {
29
- data: any;
30
- width: any;
31
- height: any;
32
- }): {
33
- data: Uint8Array;
34
- width: number;
35
- height: number;
36
- };
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/classes/webgl-shader.ts"],"names":["GL","assertWebGLContext","log","getShaderInfo","formatCompilerLog","Shader","ShaderAPI","parseShaderCompilerLog","uid","assert","ERR_SOURCE","WEBGLShader","constructor","gl","props","id","getShaderIdFromProps","stage","handle","createShader","VERTEX_SHADER","FRAGMENT_SHADER","Error","_compile","source","destroy","removeStats","deleteShader","compilationInfo","getShaderInfoLog","startsWith","shaderSource","compileShader","compileStatus","getShaderParameter","COMPILE_STATUS","shaderLog","messages","filter","message","type","formattedLog","shaderName","name","shaderDescription","error","getTypeName","shaderType","initialize","getParameter","pname","toString","getName","getSource","getShaderSource","getTranslatedSource","extension","getExtension","getTranslatedShaderSource","_getOptsFromHandle","SHADER_TYPE","VertexShader","getShaderProps","_createHandle","FragmentShader"],"mappings":";AACA,OAAOA,EAAP,MAAe,oBAAf;AACA,SAAQC,kBAAR,EAA4BC,GAA5B,QAAsC,kBAAtC;AACA,SAAQC,aAAR,EAAwCC,iBAAxC,QAAgE,sBAAhE;AACA,SAAQC,MAAM,IAAIC,SAAlB,QAA+C,cAA/C;AACA,SAAQC,sBAAR,QAAqC,0CAArC;AACA,SAAQC,GAAR,EAAaC,MAAb,QAA0B,UAA1B;AAEA,MAAMC,UAAU,GAAG,sDAAnB;AAKA,OAAO,MAAMC,WAAN,SAA0BL,SAA1B,CAAoC;AAMzCM,EAAAA,WAAW,CAACC,EAAD,EAA4BC,KAA5B,EAAgD;AACzD,UAAMD,EAAN,EAAiB;AAACE,MAAAA,EAAE,EAAEC,oBAAoB,CAACF,KAAD,CAAzB;AAAkC,SAAGA;AAArC,KAAjB;;AADyD;;AAAA;;AAAA;;AAEzD,SAAKD,EAAL,GAAUA,EAAV;;AACA,YAAQ,KAAKC,KAAL,CAAWG,KAAnB;AACE,WAAK,QAAL;AACE,aAAKC,MAAL,GAAc,KAAKJ,KAAL,CAAWI,MAAX,IAAqB,KAAKL,EAAL,CAAQM,YAAR,CAAqBnB,EAAE,CAACoB,aAAxB,CAAnC;AACA;;AACF,WAAK,UAAL;AACE,aAAKF,MAAL,GAAc,KAAKJ,KAAL,CAAWI,MAAX,IAAqB,KAAKL,EAAL,CAAQM,YAAR,CAAqBnB,EAAE,CAACqB,eAAxB,CAAnC;AACA;;AACF;AACE,cAAM,IAAIC,KAAJ,CAAU,KAAKR,KAAL,CAAWG,KAArB,CAAN;AARJ;;AAUA,SAAKA,KAAL,GAAa,KAAKH,KAAL,CAAWG,KAAxB;;AACA,SAAKM,QAAL,CAAcT,KAAK,CAACU,MAApB;AACD;;AAEDC,EAAAA,OAAO,GAAS;AACd,QAAI,KAAKP,MAAT,EAAiB;AACf,WAAKQ,WAAL;AACA,WAAKb,EAAL,CAAQc,YAAR,CAAqB,KAAKT,MAA1B;AAEA,WAAKA,MAAL,GAAc,IAAd;AACD;AACF;;AAEoB,QAAfU,eAAe,GAAwC;AAC3D,UAAM1B,GAAG,GAAG,KAAKW,EAAL,CAAQgB,gBAAR,CAAyB,KAAKX,MAA9B,CAAZ;AACA,WAAOX,sBAAsB,CAACL,GAAD,CAA7B;AACD;;AAGDqB,EAAAA,QAAQ,CAACC,MAAD,EAAS;AACf,QAAI,CAACA,MAAM,CAACM,UAAP,CAAkB,WAAlB,CAAL,EAAqC;AACnCN,MAAAA,MAAM,2BAAoBA,MAApB,CAAN;AACD;;AACD,SAAKX,EAAL,CAAQkB,YAAR,CAAqB,KAAKb,MAA1B,EAAkCM,MAAlC;AACA,SAAKX,EAAL,CAAQmB,aAAR,CAAsB,KAAKd,MAA3B;AAKA,UAAMe,aAAa,GAAG,KAAKpB,EAAL,CAAQqB,kBAAR,CAA2B,KAAKhB,MAAhC,EAAwClB,EAAE,CAACmC,cAA3C,CAAtB;;AACA,QAAI,CAACF,aAAL,EAAoB;AAClB,YAAMG,SAAS,GAAG,KAAKvB,EAAL,CAAQgB,gBAAR,CAAyB,KAAKX,MAA9B,CAAlB;AACA,YAAMmB,QAAQ,GAAG9B,sBAAsB,CAAC6B,SAAD,CAAtB,CAAkCE,MAAlC,CAAyCC,OAAO,IAAIA,OAAO,CAACC,IAAR,KAAiB,OAArE,CAAjB;AACA,YAAMC,YAAY,GAAGrC,iBAAiB,CAACiC,QAAD,EAAWb,MAAX,CAAtC;AACA,YAAMkB,UAAkB,GAAGvC,aAAa,CAACqB,MAAD,CAAb,CAAsBmB,IAAjD;AACA,YAAMC,iBAAiB,aAAM,KAAK3B,KAAX,qBAA2ByB,UAA3B,CAAvB;AACAxC,MAAAA,GAAG,CAAC2C,KAAJ,sCAAwCH,UAAxC,eAAuDD,YAAvD;AACA,YAAM,IAAInB,KAAJ,sCAAwCoB,UAAxC,EAAN;AACD;AACF;;AA1DwC;AAiE3C,OAAO,MAAMrC,MAAN,SAAqBM,WAArB,CAAiC;AAIpB,SAAXmC,WAAW,CAACC,UAAD,EAAmE;AACnF,YAAQA,UAAR;AACE,WAAK/C,EAAE,CAACoB,aAAR;AACE,eAAO,eAAP;;AACF,WAAKpB,EAAE,CAACqB,eAAR;AACE,eAAO,iBAAP;;AACF;AACEZ,QAAAA,MAAM,CAAC,KAAD,CAAN;AACA,eAAO,SAAP;AAPJ;AASD;;AAEDG,EAAAA,WAAW,CAACC,EAAD,EAA4BC,KAA5B,EAA+D;AACxEb,IAAAA,kBAAkB,CAACY,EAAD,CAAlB;AACAJ,IAAAA,MAAM,CAAC,OAAOK,KAAK,CAACU,MAAb,KAAwB,QAAzB,EAAmCd,UAAnC,CAAN;AAGA,UAAMG,EAAN,EAAU,EAAC,GAAGC,KAAJ;AAAWC,MAAAA,EAAE,EAAEC,oBAAoB,CAACF,KAAD,CAAnC;AAA4CG,MAAAA,KAAK,EAAEH,KAAK,CAACiC,UAAN,KAAqB/C,EAAE,CAACoB,aAAxB,GAAwC,QAAxC,GAAmD;AAAtG,KAAV;;AALwE;;AAAA;;AAOxE,SAAK2B,UAAL,GAAkBjC,KAAK,CAACiC,UAAxB;AACA,SAAKvB,MAAL,GAAcV,KAAK,CAACU,MAApB;AAEA,UAAMkB,UAAU,GAAGvC,aAAa,CAACW,KAAK,CAACU,MAAP,CAAb,CAA4BmB,IAA/C;;AACA,QAAID,UAAJ,EAAgB;AACd,WAAK3B,EAAL,GAAUP,GAAG,CAACkC,UAAD,CAAb;AACD;AACF;;AAEDM,EAAAA,UAAU,CAAClC,KAAD,EAA2B;AACnC,SAAKS,QAAL,CAAcT,KAAK,CAACU,MAApB;;AACA,UAAMkB,UAAU,GAAGvC,aAAa,CAACW,KAAK,CAACU,MAAP,CAAb,CAA4BmB,IAA/C;;AACA,QAAID,UAAJ,EAAgB;AACd,WAAK3B,EAAL,GAAUP,GAAG,CAACkC,UAAD,CAAb;AACD;;AACD,WAAO,IAAP;AACD;;AAIDO,EAAAA,YAAY,CAACC,KAAD,EAAqB;AAC/B,WAAO,KAAKrC,EAAL,CAAQqB,kBAAR,CAA2B,KAAKhB,MAAhC,EAAwCgC,KAAxC,CAAP;AACD;;AAEDC,EAAAA,QAAQ,GAAW;AACjB,qBAAU9C,MAAM,CAACyC,WAAP,CAAmB,KAAKC,UAAxB,CAAV,cAAiD,KAAKhC,EAAtD;AACD;;AAEDqC,EAAAA,OAAO,GAAW;AAChB,WAAOjD,aAAa,CAAC,KAAKqB,MAAN,CAAb,CAA2BmB,IAA3B,IAAmC,gBAA1C;AACD;;AAEDU,EAAAA,SAAS,GAAW;AAClB,WAAO,KAAKxC,EAAL,CAAQyC,eAAR,CAAwB,KAAKpC,MAA7B,CAAP;AACD;;AAGDqC,EAAAA,mBAAmB,GAAW;AAC5B,UAAMC,SAAS,GAAG,KAAK3C,EAAL,CAAQ4C,YAAR,CAAqB,qBAArB,CAAlB;AACA,WAAOD,SAAS,GACZA,SAAS,CAACE,yBAAV,CAAoC,KAAKxC,MAAzC,CADY,GAEZ,qEAFJ;AAGD;;AAIDyC,EAAAA,kBAAkB,GAAG;AACnB,WAAO;AACLnB,MAAAA,IAAI,EAAE,KAAKS,YAAL,CAAkBjD,EAAE,CAAC4D,WAArB,CADD;AAELpC,MAAAA,MAAM,EAAE,KAAK6B,SAAL;AAFH,KAAP;AAID;;AA1EqC;AAiFvC,OAAO,MAAMQ,YAAN,SAA2BxD,MAA3B,CAAkC;AACxCO,EAAAA,WAAW,CAACC,EAAD,EAA4BC,KAA5B,EAAwE;AACjF,UAAMD,EAAN,EAAUiD,cAAc,CAAChD,KAAD,EAAQd,EAAE,CAACoB,aAAX,CAAxB;AACD;;AAGD2C,EAAAA,aAAa,GAAG;AACd,WAAO,KAAKlD,EAAL,CAAQM,YAAR,CAAqBnB,EAAE,CAACoB,aAAxB,CAAP;AACD;;AARuC;AAezC,OAAO,MAAM4C,cAAN,SAA6B3D,MAA7B,CAAoC;AAC1CO,EAAAA,WAAW,CAACC,EAAD,EAA4BC,KAA5B,EAAwE;AACjF,UAAMD,EAAN,EAAUiD,cAAc,CAAChD,KAAD,EAAQd,EAAE,CAACqB,eAAX,CAAxB;AACD;;AAGD0C,EAAAA,aAAa,GAAG;AACd,WAAO,KAAKlD,EAAL,CAAQM,YAAR,CAAqBnB,EAAE,CAACqB,eAAxB,CAAP;AACD;;AARyC;;AAa5C,SAASyC,cAAT,CAAwBhD,KAAxB,EAAoEiC,UAApE,EAAmJ;AACjJ,MAAI,OAAOjC,KAAP,KAAiB,QAArB,EAA+B;AAC7B,WAAO;AAACU,MAAAA,MAAM,EAAEV,KAAT;AAAgBiC,MAAAA;AAAhB,KAAP;AACD;;AACD,SAAO,EAAC,GAAGjC,KAAJ;AAAWiC,IAAAA;AAAX,GAAP;AACD;;AAGD,SAAS/B,oBAAT,CAA8BF,KAA9B,EAA0D;AACxD,SAAOX,aAAa,CAACW,KAAK,CAACU,MAAP,CAAb,CAA4BmB,IAA5B,IACL7B,KAAK,CAACC,EADD,IAELP,GAAG,mBAAYM,KAAK,CAACG,KAAN,IAAeZ,MAAM,CAACyC,WAAP,CAAmBhC,KAAK,CAACiC,UAAzB,CAA3B,EAFL;AAGD","sourcesContent":["// luma.gl, MIT license\nimport GL from '@luma.gl/constants';\nimport {assertWebGLContext, log} from '@luma.gl/gltools';\nimport {getShaderInfo, CompilerMessage, formatCompilerLog} from '@luma.gl/shadertools';\nimport {Shader as ShaderAPI, ShaderProps} from '@luma.gl/api';\nimport {parseShaderCompilerLog} from '../webgl-utils/parse-shader-compiler-log';\nimport {uid, assert} from '../utils';\n\nconst ERR_SOURCE = 'Shader: GLSL source code must be a JavaScript string';\n\n\nexport type {ShaderProps};\n\nexport class WEBGLShader extends ShaderAPI {\n readonly gl: WebGLRenderingContext;\n readonly handle: WebGLShader;\n\n readonly stage: 'vertex' | 'fragment';\n\n constructor(gl: WebGLRenderingContext, props: ShaderProps) {\n super(gl as any, {id: getShaderIdFromProps(props), ...props});\n this.gl = gl;\n switch (this.props.stage) {\n case 'vertex':\n this.handle = this.props.handle || this.gl.createShader(GL.VERTEX_SHADER);\n break;\n case 'fragment':\n this.handle = this.props.handle || this.gl.createShader(GL.FRAGMENT_SHADER);\n break;\n default:\n throw new Error(this.props.stage);\n }\n this.stage = this.props.stage;\n this._compile(props.source);\n }\n\n destroy(): void {\n if (this.handle) {\n this.removeStats();\n this.gl.deleteShader(this.handle);\n // @ts-expect-error\n this.handle = null;\n }\n } \n \n async compilationInfo(): Promise<readonly CompilerMessage[]> {\n const log = this.gl.getShaderInfoLog(this.handle);\n return parseShaderCompilerLog(log);\n }\n\n // PRIVATE METHODS\n _compile(source) {\n if (!source.startsWith('#version ')) {\n source = `#version 100\\n${source}`;\n }\n this.gl.shaderSource(this.handle, source);\n this.gl.compileShader(this.handle);\n\n // TODO - For performance reasons, avoid checking shader compilation errors on production?\n // TODO - Load log even when no error reported, to catch warnings?\n // https://gamedev.stackexchange.com/questions/30429/how-to-detect-glsl-warnings\n const compileStatus = this.gl.getShaderParameter(this.handle, GL.COMPILE_STATUS);\n if (!compileStatus) {\n const shaderLog = this.gl.getShaderInfoLog(this.handle);\n const messages = parseShaderCompilerLog(shaderLog).filter(message => message.type === 'error');\n const formattedLog = formatCompilerLog(messages, source);\n const shaderName: string = getShaderInfo(source).name;\n const shaderDescription = `${this.stage} shader ${shaderName}`;\n log.error(`GLSL compilation errors in ${shaderName}\\n${formattedLog}`)();\n throw new Error(`GLSL compilation errors in ${shaderName}`);\n }\n }\n}\n \n/**\n * Encapsulates the compiled or linked Shaders that execute portions of the WebGL Pipeline\n * For now this is an internal class\n */\nexport class Shader extends WEBGLShader {\n shaderType: GL.FRAGMENT_SHADER | GL.VERTEX_SHADER;\n source: string;\n\n static getTypeName(shaderType: any): 'vertex-shader' | 'fragment-shader' | 'unknown' {\n switch (shaderType) {\n case GL.VERTEX_SHADER:\n return 'vertex-shader';\n case GL.FRAGMENT_SHADER:\n return 'fragment-shader';\n default:\n assert(false);\n return 'unknown';\n }\n }\n\n constructor(gl: WebGLRenderingContext, props: Omit<ShaderProps, 'stage'>) {\n assertWebGLContext(gl);\n assert(typeof props.source === 'string', ERR_SOURCE);\n\n // @ts-expect-error\n super(gl, {...props, id: getShaderIdFromProps(props), stage: props.shaderType === GL.VERTEX_SHADER ? 'vertex' : 'fragment'});\n\n this.shaderType = props.shaderType;\n this.source = props.source;\n\n const shaderName = getShaderInfo(props.source).name;\n if (shaderName) {\n this.id = uid(shaderName);\n }\n }\n\n initialize(props: ShaderProps): this {\n this._compile(props.source);\n const shaderName = getShaderInfo(props.source).name;\n if (shaderName) {\n this.id = uid(shaderName);\n }\n return this;\n }\n\n // Accessors\n\n getParameter(pname: number): any {\n return this.gl.getShaderParameter(this.handle, pname);\n }\n\n toString(): string {\n return `${Shader.getTypeName(this.shaderType)}:${this.id}`;\n }\n\n getName(): string {\n return getShaderInfo(this.source).name || 'unnamed-shader';\n }\n\n getSource(): string {\n return this.gl.getShaderSource(this.handle);\n }\n\n /** Debug method - Returns translated source if available */\n getTranslatedSource(): string {\n const extension = this.gl.getExtension('WEBGL_debug_shaders');\n return extension\n ? extension.getTranslatedShaderSource(this.handle)\n : 'No translated source available. WEBGL_debug_shaders not implemented';\n }\n\n // PRIVATE METHODS\n\n _getOptsFromHandle() {\n return {\n type: this.getParameter(GL.SHADER_TYPE),\n source: this.getSource()\n };\n }\n}\n\n/**\n * Encapsulates the compiled or linked Shaders that execute portions of the WebGL Pipeline\n * @deprecated Use `device.createShader({stage: 'vertex', ...})`\n */\n export class VertexShader extends Shader {\n constructor(gl: WebGLRenderingContext, props: Omit<ShaderProps, 'stage'> | string) {\n super(gl, getShaderProps(props, GL.VERTEX_SHADER));\n }\n\n // PRIVATE METHODS\n _createHandle() {\n return this.gl.createShader(GL.VERTEX_SHADER);\n }\n}\n\n/**\n * Encapsulates the compiled or linked Shaders that execute portions of the WebGL Pipeline\n * @deprecated Use `device.createShader({stage: 'fragment', ...})`\n */\n export class FragmentShader extends Shader {\n constructor(gl: WebGLRenderingContext, props: Omit<ShaderProps, 'stage'> | string) {\n super(gl, getShaderProps(props, GL.FRAGMENT_SHADER));\n }\n\n // PRIVATE METHODS\n _createHandle() {\n return this.gl.createShader(GL.FRAGMENT_SHADER);\n }\n}\n\n// HELPERS\n\nfunction getShaderProps(props: Omit<ShaderProps, 'stage'> | string, shaderType: GL.VERTEX_SHADER | GL.FRAGMENT_SHADER): Omit<ShaderProps, 'stage'> {\n if (typeof props === 'string') {\n return {source: props, shaderType};\n }\n return {...props, shaderType};\n}\n\n/** Deduce an id, from shader source, or supplied id, or shader type */\nfunction getShaderIdFromProps(props: ShaderProps): string {\n return getShaderInfo(props.source).name ||\n props.id ||\n uid(`unnamed ${props.stage || Shader.getTypeName(props.shaderType)}`);\n}\n"],"file":"webgl-shader.js"}
@@ -1,32 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { createGLContext, isWebGL2 } from '@luma.gl/gltools';
3
- import { Device } from '@luma.gl/api';
4
- import WEBGLBuffer from '../classes/webgl-buffer';
5
- import { WEBGLShader } from '../classes/webgl-shader';
6
- import Texture2D from '../classes/texture-2d';
7
- export default class GLContext extends Device {
8
- constructor(props) {
9
- super();
10
-
11
- _defineProperty(this, "gl", void 0);
12
-
13
- _defineProperty(this, "gl2", void 0);
14
-
15
- this.gl = createGLContext(props);
16
- this.gl2 = isWebGL2(this.gl) ? this.gl : null;
17
- }
18
-
19
- createBuffer(props) {
20
- return new WEBGLBuffer(this.gl, props);
21
- }
22
-
23
- createTexture(props) {
24
- return new Texture2D(this.gl, props);
25
- }
26
-
27
- createShader(props) {
28
- return new WEBGLShader(this.gl, props);
29
- }
30
-
31
- }
32
- //# sourceMappingURL=gl-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/context/gl-context.ts"],"names":["createGLContext","isWebGL2","Device","WEBGLBuffer","WEBGLShader","Texture2D","GLContext","constructor","props","gl","gl2","createBuffer","createTexture","createShader"],"mappings":";AAEA,SAAQA,eAAR,EAAyBC,QAAzB,QAAwC,kBAAxC;AACA,SAAQC,MAAR,QAAqB,cAArB;AAEA,OAAOC,WAAP,MAAwB,yBAAxB;AACA,SAAQC,WAAR,QAA4B,yBAA5B;AACA,OAAOC,SAAP,MAAwC,uBAAxC;AAEA,eAAe,MAAMC,SAAN,SAAwBJ,MAAxB,CAA+B;AAI5CK,EAAAA,WAAW,CAACC,KAAD,EAA0B;AACnC;;AADmC;;AAAA;;AAEnC,SAAKC,EAAL,GAAUT,eAAe,CAACQ,KAAD,CAAzB;AACA,SAAKE,GAAL,GAAWT,QAAQ,CAAC,KAAKQ,EAAN,CAAR,GAAoB,KAAKA,EAAzB,GAAwD,IAAnE;AACD;;AAEDE,EAAAA,YAAY,CAACH,KAAD,EAAkC;AAC5C,WAAO,IAAIL,WAAJ,CAAgB,KAAKM,EAArB,EAAyBD,KAAzB,CAAP;AACD;;AAEDI,EAAAA,aAAa,CAACJ,KAAD,EAAmC;AAC9C,WAAO,IAAIH,SAAJ,CAAc,KAAKI,EAAnB,EAAuBD,KAAvB,CAAP;AACD;;AAEDK,EAAAA,YAAY,CAACL,KAAD,EAAkC;AAC5C,WAAO,IAAIJ,WAAJ,CAAgB,KAAKK,EAArB,EAAyBD,KAAzB,CAAP;AACD;;AApB2C","sourcesContent":["// \nimport type {GLContextOptions} from '@luma.gl/gltools';\nimport {createGLContext, isWebGL2} from '@luma.gl/gltools';\nimport {Device} from '@luma.gl/api';\nimport type {BufferProps, ShaderProps} from '@luma.gl/api';\nimport WEBGLBuffer from '../classes/webgl-buffer';\nimport {WEBGLShader, } from '../classes/webgl-shader';\nimport Texture2D, {Texture2DProps} from '../classes/texture-2d';\n\nexport default class GLContext extends Device {\n readonly gl: WebGLRenderingContext;\n readonly gl2: WebGL2RenderingContext | null;\n\n constructor(props: GLContextOptions) {\n super();\n this.gl = createGLContext(props);\n this.gl2 = isWebGL2(this.gl) ? this.gl as WebGL2RenderingContext : null;\n }\n\n createBuffer(props: BufferProps): WEBGLBuffer {\n return new WEBGLBuffer(this.gl, props);\n }\n\n createTexture(props: Texture2DProps): Texture2D {\n return new Texture2D(this.gl, props);\n }\n\n createShader(props: ShaderProps): WEBGLShader {\n return new WEBGLShader(this.gl, props);\n }\n}\n"],"file":"gl-context.js"}
@@ -1,5 +0,0 @@
1
- export function getLumaContextData(gl) {
2
- gl.luma = gl.luma || {};
3
- return gl.luma;
4
- }
5
- //# sourceMappingURL=luma-context-data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/context/luma-context-data.ts"],"names":["getLumaContextData","gl","luma"],"mappings":"AAqBA,OAAO,SAASA,kBAAT,CAA4BC,EAA5B,EAAwE;AAE7EA,EAAAA,EAAE,CAACC,IAAH,GAAUD,EAAE,CAACC,IAAH,IAAW,EAArB;AAEA,SAAOD,EAAE,CAACC,IAAV;AACD","sourcesContent":["import type {default as Framebuffer} from '../classes/framebuffer';\nimport type {default as VertexArrayObject} from '../classes/vertex-array-object';\n\n/**\n * Data stored by luma.gl on the context\n */\nexport type LumaContextData = {\n defaultFramebuffer?: Framebuffer;\n defaultVertexArray?: VertexArrayObject;\n info: {[key: string]: any};\n caps: {[key: string]: any};\n limits: {[key: string]: any};\n webgl1MinLimits: {[key: string]: any};\n webgl2MinLimits: {[key: string]: any};\n};\n\n/**\n * \n * @param gl \n * @returns \n */\nexport function getLumaContextData(gl: WebGLRenderingContext): LumaContextData {\n // @ts-ignore\n gl.luma = gl.luma || {};\n // @ts-ignore\n return gl.luma as LumaContextData;\n}"],"file":"luma-context-data.js"}
@@ -1,27 +0,0 @@
1
- import isOldIE from './check-old-ie';
2
- import WEBGL_FEATURES from './webgl-features-table';
3
- import { assert } from '../utils';
4
- const compiledGlslExtensions = {};
5
- export default function canCompileGLGSExtension(gl, cap, options = {}) {
6
- const feature = WEBGL_FEATURES[cap];
7
- assert(feature, cap);
8
-
9
- if (!isOldIE(options)) {
10
- return true;
11
- }
12
-
13
- if (cap in compiledGlslExtensions) {
14
- return compiledGlslExtensions[cap];
15
- }
16
-
17
- const extensionName = feature[0];
18
- const source = "#extension GL_".concat(extensionName, " : enable\nvoid main(void) {}");
19
- const shader = gl.createShader(gl.VERTEX_SHADER);
20
- gl.shaderSource(shader, source);
21
- gl.compileShader(shader);
22
- const canCompile = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
23
- gl.deleteShader(shader);
24
- compiledGlslExtensions[cap] = canCompile;
25
- return canCompile;
26
- }
27
- //# sourceMappingURL=check-glsl-extension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/features/check-glsl-extension.ts"],"names":["isOldIE","WEBGL_FEATURES","assert","compiledGlslExtensions","canCompileGLGSExtension","gl","cap","options","feature","extensionName","source","shader","createShader","VERTEX_SHADER","shaderSource","compileShader","canCompile","getShaderParameter","COMPILE_STATUS","deleteShader"],"mappings":"AAAA,OAAOA,OAAP,MAAoB,gBAApB;AACA,OAAOC,cAAP,MAA2B,wBAA3B;AACA,SAAQC,MAAR,QAAqB,UAArB;AAMA,MAAMC,sBAAsB,GAAG,EAA/B;AAGA,eAAe,SAASC,uBAAT,CAAiCC,EAAjC,EAAqCC,GAArC,EAA0CC,OAAO,GAAG,EAApD,EAAwD;AACrE,QAAMC,OAAO,GAAGP,cAAc,CAACK,GAAD,CAA9B;AACAJ,EAAAA,MAAM,CAACM,OAAD,EAAUF,GAAV,CAAN;;AAEA,MAAI,CAACN,OAAO,CAACO,OAAD,CAAZ,EAAuB;AACrB,WAAO,IAAP;AACD;;AAED,MAAID,GAAG,IAAIH,sBAAX,EAAmC;AACjC,WAAOA,sBAAsB,CAACG,GAAD,CAA7B;AACD;;AAED,QAAMG,aAAa,GAAGD,OAAO,CAAC,CAAD,CAA7B;AACA,QAAME,MAAM,2BAAoBD,aAApB,kCAAZ;AAEA,QAAME,MAAM,GAAGN,EAAE,CAACO,YAAH,CAAgBP,EAAE,CAACQ,aAAnB,CAAf;AACAR,EAAAA,EAAE,CAACS,YAAH,CAAgBH,MAAhB,EAAwBD,MAAxB;AACAL,EAAAA,EAAE,CAACU,aAAH,CAAiBJ,MAAjB;AACA,QAAMK,UAAU,GAAGX,EAAE,CAACY,kBAAH,CAAsBN,MAAtB,EAA8BN,EAAE,CAACa,cAAjC,CAAnB;AACAb,EAAAA,EAAE,CAACc,YAAH,CAAgBR,MAAhB;AACAR,EAAAA,sBAAsB,CAACG,GAAD,CAAtB,GAA8BU,UAA9B;AACA,SAAOA,UAAP;AACD","sourcesContent":["import isOldIE from './check-old-ie';\nimport WEBGL_FEATURES from './webgl-features-table';\nimport {assert} from '../utils';\n\n// Enables feature detection in IE11 due to a bug where gl.getExtension may return true\n// but fail to compile when the extension is enabled in the shader. Specifically,\n// the OES_standard_derivatives extension fails to compile in IE11 even though its included\n// in the list of supported extensions.\nconst compiledGlslExtensions = {};\n\n// options allows user agent to be overridden for testing\nexport default function canCompileGLGSExtension(gl, cap, options = {}) {\n const feature = WEBGL_FEATURES[cap];\n assert(feature, cap);\n\n if (!isOldIE(options)) {\n return true;\n }\n\n if (cap in compiledGlslExtensions) {\n return compiledGlslExtensions[cap];\n }\n\n const extensionName = feature[0];\n const source = `#extension GL_${extensionName} : enable\\nvoid main(void) {}`;\n\n const shader = gl.createShader(gl.VERTEX_SHADER);\n gl.shaderSource(shader, source);\n gl.compileShader(shader);\n const canCompile = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n gl.deleteShader(shader);\n compiledGlslExtensions[cap] = canCompile;\n return canCompile;\n}\n"],"file":"check-glsl-extension.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/features/check-old-ie.ts"],"names":["isOldIE","opts","navigator","window","userAgent","isMSIE","indexOf","isTrident"],"mappings":"AACA,eAAe,SAASA,OAAT,CAAiBC,IAAI,GAAG,EAAxB,EAA4B;AACzC,QAAMC,SAAS,GAAI,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACD,SAAzC,IAAuD,EAAzE;AAEA,QAAME,SAAS,GAAGH,IAAI,CAACG,SAAL,IAAkBF,SAAS,CAACE,SAA5B,IAAyC,EAA3D;AAGA,QAAMC,MAAM,GAAGD,SAAS,CAACE,OAAV,CAAkB,OAAlB,MAA+B,CAAC,CAA/C;AACA,QAAMC,SAAS,GAAGH,SAAS,CAACE,OAAV,CAAkB,UAAlB,MAAkC,CAAC,CAArD;AACA,SAAOD,MAAM,IAAIE,SAAjB;AACD","sourcesContent":["// opts allows user agent to be overridden for testing\nexport default function isOldIE(opts = {}) {\n const navigator = (typeof window !== 'undefined' && window.navigator) || {};\n // @ts-ignore\n const userAgent = opts.userAgent || navigator.userAgent || '';\n // We only care about older versions of IE (IE 11 and below). Newer versions of IE (Edge)\n // have much better web standards support.\n const isMSIE = userAgent.indexOf('MSIE ') !== -1;\n const isTrident = userAgent.indexOf('Trident/') !== -1;\n return isMSIE || isTrident;\n}\n"],"file":"check-old-ie.js"}
@@ -1,67 +0,0 @@
1
- import WEBGL_FEATURES from './webgl-features-table';
2
- import { isWebGL2, log } from '@luma.gl/gltools';
3
- import { assert } from '../utils';
4
- import { getLumaContextData } from '../context/luma-context-data';
5
- const LOG_UNSUPPORTED_FEATURE = 2;
6
- export function hasFeature(gl, feature) {
7
- return hasFeatures(gl, feature);
8
- }
9
- export function hasFeatures(gl, features) {
10
- features = Array.isArray(features) ? features : [features];
11
- return features.every(feature => {
12
- return isFeatureSupported(gl, feature);
13
- });
14
- }
15
- export function getFeatures(gl) {
16
- const lumaContextData = getLumaContextData(gl);
17
- lumaContextData.caps = lumaContextData.caps || {};
18
-
19
- for (const cap in WEBGL_FEATURES) {
20
- if (lumaContextData.caps[cap] === undefined) {
21
- lumaContextData.caps[cap] = isFeatureSupported(gl, cap);
22
- }
23
- }
24
-
25
- return lumaContextData.caps;
26
- }
27
-
28
- function isFeatureSupported(gl, cap) {
29
- const lumaContextData = getLumaContextData(gl);
30
- lumaContextData.caps = lumaContextData.caps || {};
31
-
32
- if (lumaContextData.caps[cap] === undefined) {
33
- lumaContextData.caps[cap] = queryFeature(gl, cap);
34
- }
35
-
36
- if (!lumaContextData.caps[cap]) {
37
- log.log(LOG_UNSUPPORTED_FEATURE, "Feature: ".concat(cap, " not supported"))();
38
- }
39
-
40
- return lumaContextData.caps[cap];
41
- }
42
-
43
- function queryFeature(gl, cap) {
44
- const feature = WEBGL_FEATURES[cap];
45
- assert(feature, cap);
46
- let isSupported;
47
- const featureDefinition = isWebGL2(gl) ? feature[1] || feature[0] : feature[0];
48
-
49
- if (typeof featureDefinition === 'function') {
50
- isSupported = featureDefinition(gl);
51
- } else if (Array.isArray(featureDefinition)) {
52
- isSupported = true;
53
-
54
- for (const extension of featureDefinition) {
55
- isSupported = isSupported && Boolean(gl.getExtension(extension));
56
- }
57
- } else if (typeof featureDefinition === 'string') {
58
- isSupported = Boolean(gl.getExtension(featureDefinition));
59
- } else if (typeof featureDefinition === 'boolean') {
60
- isSupported = featureDefinition;
61
- } else {
62
- assert(false);
63
- }
64
-
65
- return isSupported;
66
- }
67
- //# sourceMappingURL=features.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/features/features.ts"],"names":["WEBGL_FEATURES","isWebGL2","log","assert","getLumaContextData","LOG_UNSUPPORTED_FEATURE","hasFeature","gl","feature","hasFeatures","features","Array","isArray","every","isFeatureSupported","getFeatures","lumaContextData","caps","cap","undefined","queryFeature","isSupported","featureDefinition","extension","Boolean","getExtension"],"mappings":"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","sourcesContent":["// Feature detection for WebGL\n//\n// Provides a function that enables simple checking of which WebGL features are\n// available in an WebGL1 or WebGL2 environment.\n\nimport WEBGL_FEATURES from './webgl-features-table';\nimport {isWebGL2, log} from '@luma.gl/gltools';\nimport {assert} from '../utils';\nimport {getLumaContextData} from '../context/luma-context-data';\n\nconst LOG_UNSUPPORTED_FEATURE = 2;\n\n// Check one feature\nexport function hasFeature(gl, feature) {\n return hasFeatures(gl, feature);\n}\n\n// Check one or more features\nexport function hasFeatures(gl, features) {\n features = Array.isArray(features) ? features : [features];\n return features.every((feature) => {\n return isFeatureSupported(gl, feature);\n });\n}\n\n// Return a list of supported features\nexport function getFeatures(gl) {\n const lumaContextData = getLumaContextData(gl);\n lumaContextData.caps = lumaContextData.caps || {};\n for (const cap in WEBGL_FEATURES) {\n if (lumaContextData.caps[cap] === undefined) {\n lumaContextData.caps[cap] = isFeatureSupported(gl, cap);\n }\n }\n return lumaContextData.caps;\n}\n\n// TODO - cache the value\nfunction isFeatureSupported(gl, cap) {\n const lumaContextData = getLumaContextData(gl);\n lumaContextData.caps = lumaContextData.caps || {};\n\n if (lumaContextData.caps[cap] === undefined) {\n lumaContextData.caps[cap] = queryFeature(gl, cap);\n }\n\n if (!lumaContextData.caps[cap]) {\n log.log(LOG_UNSUPPORTED_FEATURE, `Feature: ${cap} not supported`)();\n }\n\n return lumaContextData.caps[cap];\n}\n\nfunction queryFeature(gl, cap) {\n const feature = WEBGL_FEATURES[cap];\n assert(feature, cap);\n\n let isSupported;\n\n // Get extension name from table\n const featureDefinition = isWebGL2(gl) ? feature[1] || feature[0] : feature[0];\n\n // Check if the value is dependent on checking one or more extensions\n if (typeof featureDefinition === 'function') {\n isSupported = featureDefinition(gl);\n } else if (Array.isArray(featureDefinition)) {\n isSupported = true;\n for (const extension of featureDefinition) {\n isSupported = isSupported && Boolean(gl.getExtension(extension));\n }\n } else if (typeof featureDefinition === 'string') {\n isSupported = Boolean(gl.getExtension(featureDefinition));\n } else if (typeof featureDefinition === 'boolean') {\n isSupported = featureDefinition;\n } else {\n assert(false);\n }\n\n return isSupported;\n}\n"],"file":"features.js"}
@@ -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
- export { default as canCompileGLGSExtension } from './check-glsl-extension';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/features/index.ts"],"names":["getContextInfo","getGLContextInfo","getContextLimits","FEATURES","hasFeature","hasFeatures","getFeatures","default","canCompileGLGSExtension"],"mappings":"AAAA,SAAQA,cAAR,EAAwBC,gBAAxB,EAA0CC,gBAA1C,QAAiE,UAAjE;AACA,SAAQC,QAAR,QAAuB,wBAAvB;AACA,SAAQC,UAAR,EAAoBC,WAApB,EAAiCC,WAAjC,QAAmD,YAAnD;AAEA,SAAQC,OAAO,IAAIC,uBAAnB,QAAiD,wBAAjD","sourcesContent":["export {getContextInfo, getGLContextInfo, getContextLimits} from './limits';\nexport {FEATURES} from './webgl-features-table';\nexport {hasFeature, hasFeatures, getFeatures} from './features';\n\nexport {default as canCompileGLGSExtension} from './check-glsl-extension';\n"],"file":"index.js"}