@luma.gl/webgl 8.6.0-alpha.5 → 9.0.0-alpha.11

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 (784) hide show
  1. package/README.md +3 -67
  2. package/dist/adapter/converters/device-parameters.d.ts +27 -0
  3. package/dist/adapter/converters/device-parameters.d.ts.map +1 -0
  4. package/dist/adapter/converters/{set-device-parameters.js → device-parameters.js} +50 -6
  5. package/dist/adapter/converters/device-parameters.js.map +1 -0
  6. package/dist/{classes → adapter/converters}/renderbuffer-formats.d.ts +0 -0
  7. package/dist/adapter/converters/renderbuffer-formats.d.ts.map +1 -0
  8. package/dist/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  9. package/dist/adapter/converters/renderbuffer-formats.js.map +1 -0
  10. package/dist/adapter/converters/sampler-parameters.d.ts +19 -0
  11. package/dist/adapter/converters/sampler-parameters.d.ts.map +1 -0
  12. package/dist/adapter/converters/sampler-parameters.js +227 -0
  13. package/dist/adapter/converters/sampler-parameters.js.map +1 -0
  14. package/dist/adapter/converters/texture-formats.d.ts +93 -0
  15. package/dist/adapter/converters/texture-formats.d.ts.map +1 -0
  16. package/dist/adapter/converters/texture-formats.js +954 -0
  17. package/dist/adapter/converters/texture-formats.js.map +1 -0
  18. package/dist/adapter/converters/vertex-formats.d.ts +4 -0
  19. package/dist/adapter/converters/vertex-formats.d.ts.map +1 -0
  20. package/dist/adapter/converters/vertex-formats.js +35 -0
  21. package/dist/adapter/converters/vertex-formats.js.map +1 -0
  22. package/dist/adapter/device-helpers/device-features.d.ts +3 -6
  23. package/dist/adapter/device-helpers/device-features.d.ts.map +1 -1
  24. package/dist/adapter/device-helpers/device-features.js +39 -50
  25. package/dist/adapter/device-helpers/device-features.js.map +1 -1
  26. package/dist/adapter/device-helpers/device-limits.d.ts +1 -0
  27. package/dist/adapter/device-helpers/device-limits.d.ts.map +1 -1
  28. package/dist/adapter/device-helpers/device-limits.js +1 -0
  29. package/dist/adapter/device-helpers/device-limits.js.map +1 -1
  30. package/dist/adapter/device-helpers/get-device-info.js +7 -7
  31. package/dist/adapter/device-helpers/get-device-info.js.map +1 -1
  32. package/dist/adapter/helpers/attribute-utils.d.ts +11 -0
  33. package/dist/adapter/helpers/attribute-utils.d.ts.map +1 -0
  34. package/dist/adapter/helpers/attribute-utils.js +81 -0
  35. package/dist/adapter/helpers/attribute-utils.js.map +1 -0
  36. package/dist/adapter/helpers/get-shader-layout.d.ts +55 -0
  37. package/dist/adapter/helpers/get-shader-layout.d.ts.map +1 -0
  38. package/dist/adapter/helpers/get-shader-layout.js +330 -0
  39. package/dist/adapter/helpers/get-shader-layout.js.map +1 -0
  40. package/dist/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.d.ts +0 -0
  41. package/dist/adapter/helpers/parse-shader-compiler-log.d.ts.map +1 -0
  42. package/dist/{esm/webgl-utils → adapter/helpers}/parse-shader-compiler-log.js +0 -0
  43. package/dist/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  44. package/dist/adapter/helpers/set-uniform.d.ts +4 -0
  45. package/dist/adapter/helpers/set-uniform.d.ts.map +1 -0
  46. package/dist/adapter/helpers/set-uniform.js +115 -0
  47. package/dist/adapter/helpers/set-uniform.js.map +1 -0
  48. package/dist/adapter/helpers/uniforms.d.ts +26 -0
  49. package/dist/adapter/helpers/uniforms.d.ts.map +1 -0
  50. package/dist/adapter/helpers/uniforms.js +99 -0
  51. package/dist/adapter/helpers/uniforms.js.map +1 -0
  52. package/dist/adapter/objects/constants-to-keys.d.ts +5 -0
  53. package/dist/adapter/objects/constants-to-keys.d.ts.map +1 -0
  54. package/dist/{esm/webgl-utils → adapter/objects}/constants-to-keys.js +1 -0
  55. package/dist/adapter/objects/constants-to-keys.js.map +1 -0
  56. package/dist/adapter/objects/webgl-renderbuffer.d.ts +40 -0
  57. package/dist/adapter/objects/webgl-renderbuffer.d.ts.map +1 -0
  58. package/dist/{esm/classes/renderbuffer.js → adapter/objects/webgl-renderbuffer.js} +38 -72
  59. package/dist/adapter/objects/webgl-renderbuffer.js.map +1 -0
  60. package/dist/{classes → adapter/objects}/webgl-resource.d.ts +15 -14
  61. package/dist/adapter/objects/webgl-resource.d.ts.map +1 -0
  62. package/dist/{classes → adapter/objects}/webgl-resource.js +7 -3
  63. package/dist/adapter/objects/webgl-resource.js.map +1 -0
  64. package/dist/adapter/objects/webgl-vertex-array-object.d.ts +27 -0
  65. package/dist/adapter/objects/webgl-vertex-array-object.d.ts.map +1 -0
  66. package/dist/adapter/objects/webgl-vertex-array-object.js +84 -0
  67. package/dist/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  68. package/dist/adapter/resources/webgl-buffer.d.ts +27 -0
  69. package/dist/adapter/resources/webgl-buffer.d.ts.map +1 -0
  70. package/dist/adapter/resources/webgl-buffer.js +164 -0
  71. package/dist/adapter/resources/webgl-buffer.js.map +1 -0
  72. package/dist/adapter/resources/webgl-command-buffer.d.ts +25 -0
  73. package/dist/adapter/resources/webgl-command-buffer.d.ts.map +1 -0
  74. package/dist/adapter/resources/webgl-command-buffer.js +65 -0
  75. package/dist/adapter/resources/webgl-command-buffer.js.map +1 -0
  76. package/dist/adapter/resources/webgl-command-encoder.d.ts +18 -0
  77. package/dist/adapter/resources/webgl-command-encoder.d.ts.map +1 -0
  78. package/dist/adapter/resources/webgl-command-encoder.js +53 -0
  79. package/dist/adapter/resources/webgl-command-encoder.js.map +1 -0
  80. package/dist/adapter/resources/webgl-external-texture.d.ts +1 -0
  81. package/dist/adapter/resources/webgl-external-texture.d.ts.map +1 -0
  82. package/dist/adapter/resources/webgl-external-texture.js +2 -0
  83. package/dist/{es5/helpers/program-bindings.js.map → adapter/resources/webgl-external-texture.js.map} +1 -1
  84. package/dist/adapter/resources/webgl-framebuffer.d.ts +41 -0
  85. package/dist/adapter/resources/webgl-framebuffer.d.ts.map +1 -0
  86. package/dist/adapter/resources/webgl-framebuffer.js +267 -0
  87. package/dist/adapter/resources/webgl-framebuffer.js.map +1 -0
  88. package/dist/adapter/resources/webgl-render-pass.d.ts +11 -0
  89. package/dist/adapter/resources/webgl-render-pass.d.ts.map +1 -0
  90. package/dist/adapter/resources/webgl-render-pass.js +21 -0
  91. package/dist/adapter/resources/webgl-render-pass.js.map +1 -0
  92. package/dist/adapter/resources/webgl-render-pipeline.d.ts +55 -0
  93. package/dist/adapter/resources/webgl-render-pipeline.d.ts.map +1 -0
  94. package/dist/adapter/resources/webgl-render-pipeline.js +428 -0
  95. package/dist/adapter/resources/webgl-render-pipeline.js.map +1 -0
  96. package/dist/adapter/resources/webgl-sampler.d.ts +20 -0
  97. package/dist/adapter/resources/webgl-sampler.d.ts.map +1 -0
  98. package/dist/adapter/resources/webgl-sampler.js +50 -0
  99. package/dist/adapter/resources/webgl-sampler.js.map +1 -0
  100. package/dist/adapter/{webgl-shader.d.ts → resources/webgl-shader.d.ts} +3 -6
  101. package/dist/adapter/resources/webgl-shader.d.ts.map +1 -0
  102. package/dist/{esm/adapter → adapter/resources}/webgl-shader.js +17 -23
  103. package/dist/adapter/resources/webgl-shader.js.map +1 -0
  104. package/dist/adapter/resources/webgl-texture.d.ts +193 -0
  105. package/dist/adapter/resources/webgl-texture.d.ts.map +1 -0
  106. package/dist/{classes/texture.js → adapter/resources/webgl-texture.js} +280 -232
  107. package/dist/adapter/resources/webgl-texture.js.map +1 -0
  108. package/dist/adapter/webgl-canvas-context.d.ts +36 -0
  109. package/dist/adapter/webgl-canvas-context.d.ts.map +1 -0
  110. package/dist/adapter/webgl-canvas-context.js +52 -0
  111. package/dist/adapter/webgl-canvas-context.js.map +1 -0
  112. package/dist/adapter/webgl-device.d.ts +77 -83
  113. package/dist/adapter/webgl-device.d.ts.map +1 -1
  114. package/dist/adapter/webgl-device.js +253 -115
  115. package/dist/adapter/webgl-device.js.map +1 -1
  116. package/dist/classic/accessor.d.ts +32 -0
  117. package/dist/classic/accessor.d.ts.map +1 -0
  118. package/dist/{classes → classic}/accessor.js +33 -1
  119. package/dist/classic/accessor.js.map +1 -0
  120. package/dist/{classes/webgl-buffer.d.ts → classic/buffer.d.ts} +28 -33
  121. package/dist/classic/buffer.d.ts.map +1 -0
  122. package/dist/{classes/webgl-buffer.js → classic/buffer.js} +67 -57
  123. package/dist/classic/buffer.js.map +1 -0
  124. package/dist/{webgl-utils → classic}/typed-array-utils.d.ts +3 -2
  125. package/dist/classic/typed-array-utils.d.ts.map +1 -0
  126. package/dist/{esm/webgl-utils → classic}/typed-array-utils.js +0 -0
  127. package/dist/classic/typed-array-utils.js.map +1 -0
  128. package/dist/context/context/context-state.d.ts +0 -5
  129. package/dist/context/context/context-state.d.ts.map +1 -1
  130. package/dist/context/context/context-state.js +1 -6
  131. package/dist/context/context/context-state.js.map +1 -1
  132. package/dist/context/context/{create-context.d.ts → create-browser-context.d.ts} +2 -1
  133. package/dist/context/context/create-browser-context.d.ts.map +1 -0
  134. package/dist/{esm/context/context/create-context.js → context/context/create-browser-context.js} +27 -3
  135. package/dist/context/context/create-browser-context.js.map +1 -0
  136. package/dist/context/context/create-headless-context.d.ts +9 -0
  137. package/dist/context/context/create-headless-context.d.ts.map +1 -0
  138. package/dist/context/context/create-headless-context.js +43 -0
  139. package/dist/context/context/create-headless-context.js.map +1 -0
  140. package/dist/context/debug/spector.d.ts +18 -0
  141. package/dist/context/debug/spector.d.ts.map +1 -0
  142. package/dist/context/debug/spector.js +76 -0
  143. package/dist/context/debug/spector.js.map +1 -0
  144. package/dist/context/debug/webgl-developer-tools.d.ts +19 -0
  145. package/dist/context/debug/webgl-developer-tools.d.ts.map +1 -0
  146. package/dist/context/debug/webgl-developer-tools.js +121 -0
  147. package/dist/context/debug/webgl-developer-tools.js.map +1 -0
  148. package/dist/context/parameters/unified-parameter-api.d.ts +9 -7
  149. package/dist/context/parameters/unified-parameter-api.d.ts.map +1 -1
  150. package/dist/context/parameters/unified-parameter-api.js +9 -8
  151. package/dist/context/parameters/unified-parameter-api.js.map +1 -1
  152. package/dist/context/parameters/webgl-parameter-tables.d.ts +40 -36
  153. package/dist/context/parameters/webgl-parameter-tables.d.ts.map +1 -1
  154. package/dist/context/parameters/webgl-parameter-tables.js.map +1 -1
  155. package/dist/context/polyfill/get-parameter-polyfill.js.map +1 -1
  156. package/dist/context/polyfill/polyfill-context.js +3 -3
  157. package/dist/context/polyfill/polyfill-context.js.map +1 -1
  158. package/dist/context/polyfill/polyfill-table.d.ts +1 -1
  159. package/dist/context/polyfill/polyfill-table.d.ts.map +1 -1
  160. package/dist/context/polyfill/polyfill-table.js +1 -1
  161. package/dist/context/polyfill/polyfill-table.js.map +1 -1
  162. package/dist/context/state-tracker/deep-array-equal.d.ts.map +1 -1
  163. package/dist/context/state-tracker/deep-array-equal.js.map +1 -1
  164. package/dist/context/state-tracker/track-context-state.d.ts.map +1 -1
  165. package/dist/context/state-tracker/track-context-state.js +26 -12
  166. package/dist/context/state-tracker/track-context-state.js.map +1 -1
  167. package/dist/context/state-tracker/with-parameters.d.ts +2 -1
  168. package/dist/context/state-tracker/with-parameters.d.ts.map +1 -1
  169. package/dist/context/state-tracker/with-parameters.js +6 -2
  170. package/dist/context/state-tracker/with-parameters.js.map +1 -1
  171. package/dist/es5/adapter/converters/{set-device-parameters.js → device-parameters.js} +53 -6
  172. package/dist/es5/adapter/converters/device-parameters.js.map +1 -0
  173. package/dist/es5/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  174. package/dist/es5/adapter/converters/renderbuffer-formats.js.map +1 -0
  175. package/dist/es5/adapter/converters/sampler-parameters.js +245 -0
  176. package/dist/es5/adapter/converters/sampler-parameters.js.map +1 -0
  177. package/dist/es5/adapter/converters/texture-formats.js +1031 -0
  178. package/dist/es5/adapter/converters/texture-formats.js.map +1 -0
  179. package/dist/es5/adapter/converters/vertex-formats.js +45 -0
  180. package/dist/es5/adapter/converters/vertex-formats.js.map +1 -0
  181. package/dist/es5/adapter/device-helpers/device-features.js +61 -58
  182. package/dist/es5/adapter/device-helpers/device-features.js.map +1 -1
  183. package/dist/es5/adapter/device-helpers/device-limits.js +1 -1
  184. package/dist/es5/adapter/device-helpers/device-limits.js.map +1 -1
  185. package/dist/es5/adapter/device-helpers/get-device-info.js +7 -7
  186. package/dist/es5/adapter/device-helpers/get-device-info.js.map +1 -1
  187. package/dist/es5/adapter/helpers/attribute-utils.js +91 -0
  188. package/dist/es5/adapter/helpers/attribute-utils.js.map +1 -0
  189. package/dist/es5/{helpers/get-program-bindings.js → adapter/helpers/get-shader-layout.js} +211 -94
  190. package/dist/es5/adapter/helpers/get-shader-layout.js.map +1 -0
  191. package/dist/es5/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.js +0 -0
  192. package/dist/es5/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  193. package/dist/es5/adapter/helpers/set-uniform.js +125 -0
  194. package/dist/es5/adapter/helpers/set-uniform.js.map +1 -0
  195. package/dist/es5/adapter/helpers/uniforms.js +112 -0
  196. package/dist/es5/adapter/helpers/uniforms.js.map +1 -0
  197. package/dist/es5/{webgl-utils → adapter/objects}/constants-to-keys.js +1 -0
  198. package/dist/es5/adapter/objects/constants-to-keys.js.map +1 -0
  199. package/dist/es5/{classes/renderbuffer.js → adapter/objects/webgl-renderbuffer.js} +48 -98
  200. package/dist/es5/adapter/objects/webgl-renderbuffer.js.map +1 -0
  201. package/dist/es5/{classes → adapter/objects}/webgl-resource.js +8 -3
  202. package/dist/es5/adapter/objects/webgl-resource.js.map +1 -0
  203. package/dist/es5/adapter/objects/webgl-vertex-array-object.js +137 -0
  204. package/dist/es5/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  205. package/dist/es5/adapter/resources/webgl-buffer.js +243 -0
  206. package/dist/es5/adapter/resources/webgl-buffer.js.map +1 -0
  207. package/dist/es5/adapter/resources/webgl-command-buffer.js +96 -0
  208. package/dist/es5/adapter/resources/webgl-command-buffer.js.map +1 -0
  209. package/dist/es5/adapter/resources/webgl-command-encoder.js +98 -0
  210. package/dist/es5/adapter/resources/webgl-command-encoder.js.map +1 -0
  211. package/dist/es5/adapter/resources/webgl-external-texture.js +2 -0
  212. package/dist/{esm/helpers/program-bindings.js.map → es5/adapter/resources/webgl-external-texture.js.map} +1 -1
  213. package/dist/es5/adapter/resources/webgl-framebuffer.js +346 -0
  214. package/dist/es5/adapter/resources/webgl-framebuffer.js.map +1 -0
  215. package/dist/es5/{classes/texture-2d.js → adapter/resources/webgl-render-pass.js} +26 -45
  216. package/dist/es5/adapter/resources/webgl-render-pass.js.map +1 -0
  217. package/dist/es5/adapter/resources/webgl-render-pipeline.js +530 -0
  218. package/dist/es5/adapter/resources/webgl-render-pipeline.js.map +1 -0
  219. package/dist/es5/adapter/resources/webgl-sampler.js +96 -0
  220. package/dist/es5/adapter/resources/webgl-sampler.js.map +1 -0
  221. package/dist/es5/adapter/{webgl-shader.js → resources/webgl-shader.js} +16 -21
  222. package/dist/es5/adapter/resources/webgl-shader.js.map +1 -0
  223. package/dist/es5/{classes/texture.js → adapter/resources/webgl-texture.js} +374 -298
  224. package/dist/es5/adapter/resources/webgl-texture.js.map +1 -0
  225. package/dist/es5/adapter/webgl-canvas-context.js +94 -0
  226. package/dist/es5/adapter/webgl-canvas-context.js.map +1 -0
  227. package/dist/es5/adapter/webgl-device.js +325 -131
  228. package/dist/es5/adapter/webgl-device.js.map +1 -1
  229. package/dist/es5/{classes → classic}/accessor.js +25 -1
  230. package/dist/es5/classic/accessor.js.map +1 -0
  231. package/dist/es5/{classes/webgl-buffer.js → classic/buffer.js} +88 -72
  232. package/dist/es5/classic/buffer.js.map +1 -0
  233. package/dist/es5/{webgl-utils → classic}/typed-array-utils.js +0 -0
  234. package/dist/es5/classic/typed-array-utils.js.map +1 -0
  235. package/dist/es5/context/context/context-state.js +1 -6
  236. package/dist/es5/context/context/context-state.js.map +1 -1
  237. package/dist/es5/context/context/{create-context.js → create-browser-context.js} +29 -3
  238. package/dist/es5/context/context/create-browser-context.js.map +1 -0
  239. package/dist/es5/context/context/create-headless-context.js +60 -0
  240. package/dist/es5/context/context/create-headless-context.js.map +1 -0
  241. package/dist/es5/context/debug/spector.js +133 -0
  242. package/dist/es5/context/debug/spector.js.map +1 -0
  243. package/dist/es5/context/debug/webgl-developer-tools.js +198 -0
  244. package/dist/es5/context/debug/webgl-developer-tools.js.map +1 -0
  245. package/dist/es5/context/parameters/unified-parameter-api.js +15 -9
  246. package/dist/es5/context/parameters/unified-parameter-api.js.map +1 -1
  247. package/dist/es5/context/parameters/webgl-parameter-tables.js.map +1 -1
  248. package/dist/es5/context/polyfill/get-parameter-polyfill.js.map +1 -1
  249. package/dist/es5/context/polyfill/polyfill-context.js +3 -3
  250. package/dist/es5/context/polyfill/polyfill-context.js.map +1 -1
  251. package/dist/es5/context/polyfill/polyfill-table.js +1 -1
  252. package/dist/es5/context/polyfill/polyfill-table.js.map +1 -1
  253. package/dist/es5/context/state-tracker/deep-array-equal.js.map +1 -1
  254. package/dist/es5/context/state-tracker/track-context-state.js +39 -24
  255. package/dist/es5/context/state-tracker/track-context-state.js.map +1 -1
  256. package/dist/es5/context/state-tracker/with-parameters.js +8 -2
  257. package/dist/es5/context/state-tracker/with-parameters.js.map +1 -1
  258. package/dist/es5/index.js +63 -305
  259. package/dist/es5/index.js.map +1 -1
  260. package/dist/es5/init.js +1 -41
  261. package/dist/es5/init.js.map +1 -1
  262. package/dist/es5/{context/parameters/webgl-parameters.js → types/webgl.js} +1 -1
  263. package/dist/es5/types/webgl.js.map +1 -0
  264. package/dist/esm/adapter/converters/{set-device-parameters.js → device-parameters.js} +50 -6
  265. package/dist/esm/adapter/converters/device-parameters.js.map +1 -0
  266. package/dist/esm/{classes → adapter/converters}/renderbuffer-formats.js +1 -1
  267. package/dist/esm/adapter/converters/renderbuffer-formats.js.map +1 -0
  268. package/dist/esm/adapter/converters/sampler-parameters.js +227 -0
  269. package/dist/esm/adapter/converters/sampler-parameters.js.map +1 -0
  270. package/dist/esm/adapter/converters/texture-formats.js +954 -0
  271. package/dist/esm/adapter/converters/texture-formats.js.map +1 -0
  272. package/dist/esm/adapter/converters/vertex-formats.js +35 -0
  273. package/dist/esm/adapter/converters/vertex-formats.js.map +1 -0
  274. package/dist/esm/adapter/device-helpers/device-features.js +39 -50
  275. package/dist/esm/adapter/device-helpers/device-features.js.map +1 -1
  276. package/dist/esm/adapter/device-helpers/device-limits.js +1 -0
  277. package/dist/esm/adapter/device-helpers/device-limits.js.map +1 -1
  278. package/dist/esm/adapter/device-helpers/get-device-info.js +7 -7
  279. package/dist/esm/adapter/device-helpers/get-device-info.js.map +1 -1
  280. package/dist/esm/adapter/helpers/attribute-utils.js +81 -0
  281. package/dist/esm/adapter/helpers/attribute-utils.js.map +1 -0
  282. package/dist/esm/adapter/helpers/get-shader-layout.js +330 -0
  283. package/dist/esm/adapter/helpers/get-shader-layout.js.map +1 -0
  284. package/dist/{webgl-utils → esm/adapter/helpers}/parse-shader-compiler-log.js +0 -0
  285. package/dist/esm/adapter/helpers/parse-shader-compiler-log.js.map +1 -0
  286. package/dist/esm/adapter/helpers/set-uniform.js +115 -0
  287. package/dist/esm/adapter/helpers/set-uniform.js.map +1 -0
  288. package/dist/esm/adapter/helpers/uniforms.js +99 -0
  289. package/dist/esm/adapter/helpers/uniforms.js.map +1 -0
  290. package/dist/{webgl-utils → esm/adapter/objects}/constants-to-keys.js +1 -0
  291. package/dist/esm/adapter/objects/constants-to-keys.js.map +1 -0
  292. package/dist/{classes/renderbuffer.js → esm/adapter/objects/webgl-renderbuffer.js} +38 -72
  293. package/dist/esm/adapter/objects/webgl-renderbuffer.js.map +1 -0
  294. package/dist/esm/{classes → adapter/objects}/webgl-resource.js +7 -3
  295. package/dist/esm/adapter/objects/webgl-resource.js.map +1 -0
  296. package/dist/esm/adapter/objects/webgl-vertex-array-object.js +84 -0
  297. package/dist/esm/adapter/objects/webgl-vertex-array-object.js.map +1 -0
  298. package/dist/esm/adapter/resources/webgl-buffer.js +164 -0
  299. package/dist/esm/adapter/resources/webgl-buffer.js.map +1 -0
  300. package/dist/esm/adapter/resources/webgl-command-buffer.js +65 -0
  301. package/dist/esm/adapter/resources/webgl-command-buffer.js.map +1 -0
  302. package/dist/esm/adapter/resources/webgl-command-encoder.js +53 -0
  303. package/dist/esm/adapter/resources/webgl-command-encoder.js.map +1 -0
  304. package/dist/esm/adapter/resources/webgl-external-texture.js +2 -0
  305. package/dist/{helpers/program-bindings.js.map → esm/adapter/resources/webgl-external-texture.js.map} +1 -1
  306. package/dist/esm/adapter/resources/webgl-framebuffer.js +267 -0
  307. package/dist/esm/adapter/resources/webgl-framebuffer.js.map +1 -0
  308. package/dist/esm/adapter/resources/webgl-render-pass.js +21 -0
  309. package/dist/esm/adapter/resources/webgl-render-pass.js.map +1 -0
  310. package/dist/esm/adapter/resources/webgl-render-pipeline.js +428 -0
  311. package/dist/esm/adapter/resources/webgl-render-pipeline.js.map +1 -0
  312. package/dist/esm/adapter/resources/webgl-sampler.js +50 -0
  313. package/dist/esm/adapter/resources/webgl-sampler.js.map +1 -0
  314. package/dist/{adapter → esm/adapter/resources}/webgl-shader.js +17 -23
  315. package/dist/esm/adapter/resources/webgl-shader.js.map +1 -0
  316. package/dist/esm/{classes/texture.js → adapter/resources/webgl-texture.js} +280 -232
  317. package/dist/esm/adapter/resources/webgl-texture.js.map +1 -0
  318. package/dist/esm/adapter/webgl-canvas-context.js +52 -0
  319. package/dist/esm/adapter/webgl-canvas-context.js.map +1 -0
  320. package/dist/esm/adapter/webgl-device.js +253 -115
  321. package/dist/esm/adapter/webgl-device.js.map +1 -1
  322. package/dist/esm/{classes → classic}/accessor.js +33 -1
  323. package/dist/esm/classic/accessor.js.map +1 -0
  324. package/dist/esm/{classes/webgl-buffer.js → classic/buffer.js} +67 -57
  325. package/dist/esm/classic/buffer.js.map +1 -0
  326. package/dist/{webgl-utils → esm/classic}/typed-array-utils.js +0 -0
  327. package/dist/esm/classic/typed-array-utils.js.map +1 -0
  328. package/dist/esm/context/context/context-state.js +1 -6
  329. package/dist/esm/context/context/context-state.js.map +1 -1
  330. package/dist/{context/context/create-context.js → esm/context/context/create-browser-context.js} +27 -3
  331. package/dist/esm/context/context/create-browser-context.js.map +1 -0
  332. package/dist/esm/context/context/create-headless-context.js +43 -0
  333. package/dist/esm/context/context/create-headless-context.js.map +1 -0
  334. package/dist/esm/context/debug/spector.js +76 -0
  335. package/dist/esm/context/debug/spector.js.map +1 -0
  336. package/dist/esm/context/debug/webgl-developer-tools.js +121 -0
  337. package/dist/esm/context/debug/webgl-developer-tools.js.map +1 -0
  338. package/dist/esm/context/parameters/unified-parameter-api.js +9 -8
  339. package/dist/esm/context/parameters/unified-parameter-api.js.map +1 -1
  340. package/dist/esm/context/parameters/webgl-parameter-tables.js.map +1 -1
  341. package/dist/esm/context/polyfill/get-parameter-polyfill.js.map +1 -1
  342. package/dist/esm/context/polyfill/polyfill-context.js +3 -3
  343. package/dist/esm/context/polyfill/polyfill-context.js.map +1 -1
  344. package/dist/esm/context/polyfill/polyfill-table.js +1 -1
  345. package/dist/esm/context/polyfill/polyfill-table.js.map +1 -1
  346. package/dist/esm/context/state-tracker/deep-array-equal.js.map +1 -1
  347. package/dist/esm/context/state-tracker/track-context-state.js +26 -12
  348. package/dist/esm/context/state-tracker/track-context-state.js.map +1 -1
  349. package/dist/esm/context/state-tracker/with-parameters.js +6 -2
  350. package/dist/esm/context/state-tracker/with-parameters.js.map +1 -1
  351. package/dist/esm/index.js +20 -32
  352. package/dist/esm/index.js.map +1 -1
  353. package/dist/esm/init.js +2 -31
  354. package/dist/esm/init.js.map +1 -1
  355. package/dist/esm/types/webgl.js +2 -0
  356. package/dist/esm/types/webgl.js.map +1 -0
  357. package/dist/index.d.ts +25 -47
  358. package/dist/index.d.ts.map +1 -1
  359. package/dist/index.js +20 -32
  360. package/dist/index.js.map +1 -1
  361. package/dist/init.d.ts +1 -4
  362. package/dist/init.d.ts.map +1 -1
  363. package/dist/init.js +2 -31
  364. package/dist/init.js.map +1 -1
  365. package/dist/types/webgl.d.ts +145 -0
  366. package/dist/types/webgl.d.ts.map +1 -0
  367. package/dist/types/webgl.js +2 -0
  368. package/dist/types/webgl.js.map +1 -0
  369. package/package.json +5 -5
  370. package/src/adapter/converters/{set-device-parameters.ts → device-parameters.ts} +81 -12
  371. package/src/{classes → adapter/converters}/renderbuffer-formats.ts +1 -1
  372. package/src/adapter/converters/sampler-parameters.ts +184 -0
  373. package/src/adapter/converters/texture-formats.ts +633 -0
  374. package/src/adapter/converters/vertex-formats.ts +22 -0
  375. package/src/adapter/device-helpers/device-features.ts +55 -124
  376. package/src/adapter/device-helpers/device-limits.ts +6 -3
  377. package/src/adapter/device-helpers/get-device-info.ts +8 -8
  378. package/src/adapter/helpers/attribute-utils.ts +61 -0
  379. package/src/adapter/helpers/get-shader-layout.ts +407 -0
  380. package/src/{webgl-utils → adapter/helpers}/parse-shader-compiler-log.ts +0 -0
  381. package/src/adapter/helpers/set-uniform.ts +87 -0
  382. package/src/adapter/helpers/uniforms.ts +121 -0
  383. package/src/{webgl-utils → adapter/objects}/constants-to-keys.ts +6 -3
  384. package/src/adapter/objects/webgl-renderbuffer.ts +104 -0
  385. package/src/{classes → adapter/objects}/webgl-resource.ts +23 -17
  386. package/src/adapter/objects/webgl-vertex-array-object.ts +111 -0
  387. package/src/adapter/resources/webgl-buffer.ts +219 -0
  388. package/src/adapter/resources/webgl-command-buffer.ts +94 -0
  389. package/src/adapter/resources/webgl-command-encoder.ts +58 -0
  390. package/src/adapter/resources/webgl-external-texture.ts +92 -0
  391. package/src/adapter/resources/webgl-framebuffer.ts +282 -0
  392. package/src/adapter/resources/webgl-render-pass.ts +24 -0
  393. package/src/adapter/resources/webgl-render-pipeline.ts +425 -0
  394. package/src/adapter/resources/webgl-sampler.ts +56 -0
  395. package/src/adapter/{webgl-shader.ts → resources/webgl-shader.ts} +19 -24
  396. package/src/adapter/resources/webgl-texture.ts +1036 -0
  397. package/src/adapter/webgl-canvas-context.ts +72 -0
  398. package/src/adapter/webgl-device.ts +312 -285
  399. package/{dist/esm/classes/accessor.ts.disabled → src/classic/accessor.ts} +38 -37
  400. package/src/{classes/webgl-buffer.ts → classic/buffer.ts} +76 -84
  401. package/src/{webgl-utils → classic}/typed-array-utils.ts +5 -1
  402. package/src/context/context/context-state.ts +4 -12
  403. package/src/context/context/{create-context.ts → create-browser-context.ts} +41 -6
  404. package/src/context/context/create-headless-context.ts +48 -0
  405. package/src/context/debug/spector.ts +92 -0
  406. package/src/context/debug/webgl-developer-tools.ts +162 -0
  407. package/src/context/parameters/unified-parameter-api.ts +21 -13
  408. package/src/context/parameters/webgl-parameter-tables.ts +38 -36
  409. package/src/context/polyfill/get-parameter-polyfill.ts +1 -1
  410. package/src/context/polyfill/polyfill-context.ts +4 -5
  411. package/src/context/polyfill/polyfill-table.ts +1 -1
  412. package/src/context/state-tracker/deep-array-equal.ts +1 -1
  413. package/src/context/state-tracker/track-context-state.ts +34 -26
  414. package/src/context/state-tracker/with-parameters.ts +7 -2
  415. package/src/index.ts +42 -105
  416. package/src/init.ts +2 -46
  417. package/src/types/webgl.ts +284 -0
  418. package/dist/_deprecated/context-api.d.ts +0 -85
  419. package/dist/_deprecated/context-api.d.ts.map +0 -1
  420. package/dist/_deprecated/context-api.js +0 -76
  421. package/dist/_deprecated/context-api.js.map +0 -1
  422. package/dist/_deprecated/features.d.ts +0 -27
  423. package/dist/_deprecated/features.d.ts.map +0 -1
  424. package/dist/_deprecated/features.js +0 -111
  425. package/dist/_deprecated/features.js.map +0 -1
  426. package/dist/adapter/converters/set-device-parameters.d.ts +0 -5
  427. package/dist/adapter/converters/set-device-parameters.d.ts.map +0 -1
  428. package/dist/adapter/converters/set-device-parameters.js.map +0 -1
  429. package/dist/adapter/converters/webgpu-texture-formats.d.ts +0 -281
  430. package/dist/adapter/converters/webgpu-texture-formats.d.ts.map +0 -1
  431. package/dist/adapter/converters/webgpu-texture-formats.js +0 -285
  432. package/dist/adapter/converters/webgpu-texture-formats.js.map +0 -1
  433. package/dist/adapter/webgl-shader.d.ts.map +0 -1
  434. package/dist/adapter/webgl-shader.js.map +0 -1
  435. package/dist/classes/accessor.d.ts +0 -28
  436. package/dist/classes/accessor.d.ts.map +0 -1
  437. package/dist/classes/accessor.js.map +0 -1
  438. package/dist/classes/accessor.ts.disabled +0 -159
  439. package/dist/classes/clear.d.ts +0 -17
  440. package/dist/classes/clear.d.ts.map +0 -1
  441. package/dist/classes/clear.js +0 -105
  442. package/dist/classes/clear.js.map +0 -1
  443. package/dist/classes/copy-and-blit.d.ts +0 -86
  444. package/dist/classes/copy-and-blit.d.ts.map +0 -1
  445. package/dist/classes/copy-and-blit.js +0 -338
  446. package/dist/classes/copy-and-blit.js.map +0 -1
  447. package/dist/classes/framebuffer.d.ts +0 -139
  448. package/dist/classes/framebuffer.d.ts.map +0 -1
  449. package/dist/classes/framebuffer.js +0 -656
  450. package/dist/classes/framebuffer.js.map +0 -1
  451. package/dist/classes/program-configuration.d.ts +0 -24
  452. package/dist/classes/program-configuration.d.ts.map +0 -1
  453. package/dist/classes/program-configuration.js +0 -73
  454. package/dist/classes/program-configuration.js.map +0 -1
  455. package/dist/classes/program.d.ts +0 -66
  456. package/dist/classes/program.d.ts.map +0 -1
  457. package/dist/classes/program.js +0 -379
  458. package/dist/classes/program.js.map +0 -1
  459. package/dist/classes/query.d.ts +0 -27
  460. package/dist/classes/query.d.ts.map +0 -1
  461. package/dist/classes/query.js +0 -145
  462. package/dist/classes/query.js.map +0 -1
  463. package/dist/classes/renderbuffer-formats.d.ts.map +0 -1
  464. package/dist/classes/renderbuffer-formats.js.map +0 -1
  465. package/dist/classes/renderbuffer.d.ts +0 -60
  466. package/dist/classes/renderbuffer.d.ts.map +0 -1
  467. package/dist/classes/renderbuffer.js.map +0 -1
  468. package/dist/classes/shader.d.ts +0 -42
  469. package/dist/classes/shader.d.ts.map +0 -1
  470. package/dist/classes/shader.js +0 -118
  471. package/dist/classes/shader.js.map +0 -1
  472. package/dist/classes/texture-2d.d.ts +0 -9
  473. package/dist/classes/texture-2d.d.ts.map +0 -1
  474. package/dist/classes/texture-2d.js +0 -36
  475. package/dist/classes/texture-2d.js.map +0 -1
  476. package/dist/classes/texture-3d.d.ts +0 -29
  477. package/dist/classes/texture-3d.d.ts.map +0 -1
  478. package/dist/classes/texture-3d.js +0 -76
  479. package/dist/classes/texture-3d.js.map +0 -1
  480. package/dist/classes/texture-cube.d.ts +0 -28
  481. package/dist/classes/texture-cube.d.ts.map +0 -1
  482. package/dist/classes/texture-cube.js +0 -130
  483. package/dist/classes/texture-cube.js.map +0 -1
  484. package/dist/classes/texture-formats.d.ts +0 -37
  485. package/dist/classes/texture-formats.d.ts.map +0 -1
  486. package/dist/classes/texture-formats.js +0 -98
  487. package/dist/classes/texture-formats.js.map +0 -1
  488. package/dist/classes/texture.d.ts +0 -123
  489. package/dist/classes/texture.d.ts.map +0 -1
  490. package/dist/classes/texture.js.map +0 -1
  491. package/dist/classes/transform-feedback.d.ts +0 -33
  492. package/dist/classes/transform-feedback.d.ts.map +0 -1
  493. package/dist/classes/transform-feedback.js +0 -198
  494. package/dist/classes/transform-feedback.js.map +0 -1
  495. package/dist/classes/uniform-buffer-layout.d.ts +0 -17
  496. package/dist/classes/uniform-buffer-layout.d.ts.map +0 -1
  497. package/dist/classes/uniform-buffer-layout.js +0 -104
  498. package/dist/classes/uniform-buffer-layout.js.map +0 -1
  499. package/dist/classes/uniforms.d.ts +0 -37
  500. package/dist/classes/uniforms.d.ts.map +0 -1
  501. package/dist/classes/uniforms.js +0 -250
  502. package/dist/classes/uniforms.js.map +0 -1
  503. package/dist/classes/vertex-array-object.d.ts +0 -76
  504. package/dist/classes/vertex-array-object.d.ts.map +0 -1
  505. package/dist/classes/vertex-array-object.js +0 -261
  506. package/dist/classes/vertex-array-object.js.map +0 -1
  507. package/dist/classes/vertex-array.d.ts +0 -75
  508. package/dist/classes/vertex-array.d.ts.map +0 -1
  509. package/dist/classes/vertex-array.js +0 -408
  510. package/dist/classes/vertex-array.js.map +0 -1
  511. package/dist/classes/webgl-buffer.d.ts.map +0 -1
  512. package/dist/classes/webgl-buffer.js.map +0 -1
  513. package/dist/classes/webgl-resource.d.ts.map +0 -1
  514. package/dist/classes/webgl-resource.js.map +0 -1
  515. package/dist/context/context/create-context.d.ts.map +0 -1
  516. package/dist/context/context/create-context.js.map +0 -1
  517. package/dist/context/context/device-pixels.d.ts +0 -25
  518. package/dist/context/context/device-pixels.d.ts.map +0 -1
  519. package/dist/context/context/device-pixels.js +0 -98
  520. package/dist/context/context/device-pixels.js.map +0 -1
  521. package/dist/context/context/get-canvas.d.ts +0 -13
  522. package/dist/context/context/get-canvas.d.ts.map +0 -1
  523. package/dist/context/context/get-canvas.js +0 -31
  524. package/dist/context/context/get-canvas.js.map +0 -1
  525. package/dist/context/context/resize-context.d.ts +0 -20
  526. package/dist/context/context/resize-context.d.ts.map +0 -1
  527. package/dist/context/context/resize-context.js +0 -15
  528. package/dist/context/context/resize-context.js.map +0 -1
  529. package/dist/context/parameters/webgl-parameters.d.ts +0 -144
  530. package/dist/context/parameters/webgl-parameters.d.ts.map +0 -1
  531. package/dist/context/parameters/webgl-parameters.js +0 -2
  532. package/dist/context/parameters/webgl-parameters.js.map +0 -1
  533. package/dist/debug/debug-program-configuration.d.ts +0 -2
  534. package/dist/debug/debug-program-configuration.d.ts.map +0 -1
  535. package/dist/debug/debug-program-configuration.js +0 -40
  536. package/dist/debug/debug-program-configuration.js.map +0 -1
  537. package/dist/debug/debug-uniforms.d.ts +0 -12
  538. package/dist/debug/debug-uniforms.d.ts.map +0 -1
  539. package/dist/debug/debug-uniforms.js +0 -108
  540. package/dist/debug/debug-uniforms.js.map +0 -1
  541. package/dist/debug/debug-vertex-array.d.ts +0 -5
  542. package/dist/debug/debug-vertex-array.d.ts.map +0 -1
  543. package/dist/debug/debug-vertex-array.js +0 -118
  544. package/dist/debug/debug-vertex-array.js.map +0 -1
  545. package/dist/es5/_deprecated/context-api.js +0 -116
  546. package/dist/es5/_deprecated/context-api.js.map +0 -1
  547. package/dist/es5/_deprecated/features.js +0 -118
  548. package/dist/es5/_deprecated/features.js.map +0 -1
  549. package/dist/es5/adapter/converters/set-device-parameters.js.map +0 -1
  550. package/dist/es5/adapter/converters/webgpu-texture-formats.js +0 -296
  551. package/dist/es5/adapter/converters/webgpu-texture-formats.js.map +0 -1
  552. package/dist/es5/adapter/webgl-shader.js.map +0 -1
  553. package/dist/es5/classes/accessor.d.ts +0 -28
  554. package/dist/es5/classes/accessor.js.map +0 -1
  555. package/dist/es5/classes/accessor.ts.disabled +0 -159
  556. package/dist/es5/classes/clear.js +0 -135
  557. package/dist/es5/classes/clear.js.map +0 -1
  558. package/dist/es5/classes/copy-and-blit.js +0 -382
  559. package/dist/es5/classes/copy-and-blit.js.map +0 -1
  560. package/dist/es5/classes/framebuffer.js +0 -807
  561. package/dist/es5/classes/framebuffer.js.map +0 -1
  562. package/dist/es5/classes/program-configuration.js +0 -119
  563. package/dist/es5/classes/program-configuration.js.map +0 -1
  564. package/dist/es5/classes/program.js +0 -471
  565. package/dist/es5/classes/program.js.map +0 -1
  566. package/dist/es5/classes/query.js +0 -222
  567. package/dist/es5/classes/query.js.map +0 -1
  568. package/dist/es5/classes/renderbuffer-formats.js.map +0 -1
  569. package/dist/es5/classes/renderbuffer.js.map +0 -1
  570. package/dist/es5/classes/shader.js +0 -195
  571. package/dist/es5/classes/shader.js.map +0 -1
  572. package/dist/es5/classes/texture-2d.js.map +0 -1
  573. package/dist/es5/classes/texture-3d.js +0 -142
  574. package/dist/es5/classes/texture-3d.js.map +0 -1
  575. package/dist/es5/classes/texture-cube.js +0 -202
  576. package/dist/es5/classes/texture-cube.js.map +0 -1
  577. package/dist/es5/classes/texture-formats.js +0 -87
  578. package/dist/es5/classes/texture-formats.js.map +0 -1
  579. package/dist/es5/classes/texture.js.map +0 -1
  580. package/dist/es5/classes/transform-feedback.js +0 -267
  581. package/dist/es5/classes/transform-feedback.js.map +0 -1
  582. package/dist/es5/classes/uniform-buffer-layout.js +0 -130
  583. package/dist/es5/classes/uniform-buffer-layout.js.map +0 -1
  584. package/dist/es5/classes/uniforms.js +0 -232
  585. package/dist/es5/classes/uniforms.js.map +0 -1
  586. package/dist/es5/classes/vertex-array-object.js +0 -337
  587. package/dist/es5/classes/vertex-array-object.js.map +0 -1
  588. package/dist/es5/classes/vertex-array.js +0 -465
  589. package/dist/es5/classes/vertex-array.js.map +0 -1
  590. package/dist/es5/classes/webgl-buffer.js.map +0 -1
  591. package/dist/es5/classes/webgl-resource.js.map +0 -1
  592. package/dist/es5/context/context/create-context.js.map +0 -1
  593. package/dist/es5/context/context/device-pixels.js +0 -115
  594. package/dist/es5/context/context/device-pixels.js.map +0 -1
  595. package/dist/es5/context/context/get-canvas.js +0 -40
  596. package/dist/es5/context/context/get-canvas.js.map +0 -1
  597. package/dist/es5/context/context/resize-context.js +0 -23
  598. package/dist/es5/context/context/resize-context.js.map +0 -1
  599. package/dist/es5/context/parameters/webgl-parameters.js.map +0 -1
  600. package/dist/es5/debug/debug-program-configuration.js +0 -76
  601. package/dist/es5/debug/debug-program-configuration.js.map +0 -1
  602. package/dist/es5/debug/debug-uniforms.js +0 -156
  603. package/dist/es5/debug/debug-uniforms.js.map +0 -1
  604. package/dist/es5/debug/debug-vertex-array.js +0 -126
  605. package/dist/es5/debug/debug-vertex-array.js.map +0 -1
  606. package/dist/es5/helpers/get-program-bindings.js.map +0 -1
  607. package/dist/es5/helpers/program-bindings.js +0 -2
  608. package/dist/es5/types/accessor.d.ts +0 -29
  609. package/dist/es5/webgl-utils/attribute-utils.js +0 -186
  610. package/dist/es5/webgl-utils/attribute-utils.js.map +0 -1
  611. package/dist/es5/webgl-utils/constants-to-keys.js.map +0 -1
  612. package/dist/es5/webgl-utils/format-utils.js +0 -58
  613. package/dist/es5/webgl-utils/format-utils.js.map +0 -1
  614. package/dist/es5/webgl-utils/get-error.js +0 -49
  615. package/dist/es5/webgl-utils/get-error.js.map +0 -1
  616. package/dist/es5/webgl-utils/index.js +0 -74
  617. package/dist/es5/webgl-utils/index.js.map +0 -1
  618. package/dist/es5/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  619. package/dist/es5/webgl-utils/request-animation-frame.js +0 -16
  620. package/dist/es5/webgl-utils/request-animation-frame.js.map +0 -1
  621. package/dist/es5/webgl-utils/texture-utils.js +0 -61
  622. package/dist/es5/webgl-utils/texture-utils.js.map +0 -1
  623. package/dist/es5/webgl-utils/typed-array-utils.js.map +0 -1
  624. package/dist/esm/_deprecated/context-api.js +0 -76
  625. package/dist/esm/_deprecated/context-api.js.map +0 -1
  626. package/dist/esm/_deprecated/features.js +0 -111
  627. package/dist/esm/_deprecated/features.js.map +0 -1
  628. package/dist/esm/adapter/converters/set-device-parameters.js.map +0 -1
  629. package/dist/esm/adapter/converters/webgpu-texture-formats.js +0 -285
  630. package/dist/esm/adapter/converters/webgpu-texture-formats.js.map +0 -1
  631. package/dist/esm/adapter/webgl-shader.js.map +0 -1
  632. package/dist/esm/classes/accessor.d.ts +0 -28
  633. package/dist/esm/classes/accessor.js.map +0 -1
  634. package/dist/esm/classes/clear.js +0 -105
  635. package/dist/esm/classes/clear.js.map +0 -1
  636. package/dist/esm/classes/copy-and-blit.js +0 -338
  637. package/dist/esm/classes/copy-and-blit.js.map +0 -1
  638. package/dist/esm/classes/framebuffer.js +0 -656
  639. package/dist/esm/classes/framebuffer.js.map +0 -1
  640. package/dist/esm/classes/program-configuration.js +0 -73
  641. package/dist/esm/classes/program-configuration.js.map +0 -1
  642. package/dist/esm/classes/program.js +0 -379
  643. package/dist/esm/classes/program.js.map +0 -1
  644. package/dist/esm/classes/query.js +0 -145
  645. package/dist/esm/classes/query.js.map +0 -1
  646. package/dist/esm/classes/renderbuffer-formats.js.map +0 -1
  647. package/dist/esm/classes/renderbuffer.js.map +0 -1
  648. package/dist/esm/classes/shader.js +0 -118
  649. package/dist/esm/classes/shader.js.map +0 -1
  650. package/dist/esm/classes/texture-2d.js +0 -36
  651. package/dist/esm/classes/texture-2d.js.map +0 -1
  652. package/dist/esm/classes/texture-3d.js +0 -76
  653. package/dist/esm/classes/texture-3d.js.map +0 -1
  654. package/dist/esm/classes/texture-cube.js +0 -130
  655. package/dist/esm/classes/texture-cube.js.map +0 -1
  656. package/dist/esm/classes/texture-formats.js +0 -98
  657. package/dist/esm/classes/texture-formats.js.map +0 -1
  658. package/dist/esm/classes/texture.js.map +0 -1
  659. package/dist/esm/classes/transform-feedback.js +0 -198
  660. package/dist/esm/classes/transform-feedback.js.map +0 -1
  661. package/dist/esm/classes/uniform-buffer-layout.js +0 -104
  662. package/dist/esm/classes/uniform-buffer-layout.js.map +0 -1
  663. package/dist/esm/classes/uniforms.js +0 -250
  664. package/dist/esm/classes/uniforms.js.map +0 -1
  665. package/dist/esm/classes/vertex-array-object.js +0 -261
  666. package/dist/esm/classes/vertex-array-object.js.map +0 -1
  667. package/dist/esm/classes/vertex-array.js +0 -408
  668. package/dist/esm/classes/vertex-array.js.map +0 -1
  669. package/dist/esm/classes/webgl-buffer.js.map +0 -1
  670. package/dist/esm/classes/webgl-resource.js.map +0 -1
  671. package/dist/esm/context/context/create-context.js.map +0 -1
  672. package/dist/esm/context/context/device-pixels.js +0 -98
  673. package/dist/esm/context/context/device-pixels.js.map +0 -1
  674. package/dist/esm/context/context/get-canvas.js +0 -31
  675. package/dist/esm/context/context/get-canvas.js.map +0 -1
  676. package/dist/esm/context/context/resize-context.js +0 -15
  677. package/dist/esm/context/context/resize-context.js.map +0 -1
  678. package/dist/esm/context/parameters/webgl-parameters.js +0 -2
  679. package/dist/esm/context/parameters/webgl-parameters.js.map +0 -1
  680. package/dist/esm/debug/debug-program-configuration.js +0 -40
  681. package/dist/esm/debug/debug-program-configuration.js.map +0 -1
  682. package/dist/esm/debug/debug-uniforms.js +0 -108
  683. package/dist/esm/debug/debug-uniforms.js.map +0 -1
  684. package/dist/esm/debug/debug-vertex-array.js +0 -118
  685. package/dist/esm/debug/debug-vertex-array.js.map +0 -1
  686. package/dist/esm/helpers/get-program-bindings.js +0 -228
  687. package/dist/esm/helpers/get-program-bindings.js.map +0 -1
  688. package/dist/esm/helpers/program-bindings.js +0 -2
  689. package/dist/esm/types/accessor.d.ts +0 -29
  690. package/dist/esm/webgl-utils/attribute-utils.js +0 -182
  691. package/dist/esm/webgl-utils/attribute-utils.js.map +0 -1
  692. package/dist/esm/webgl-utils/constants-to-keys.js.map +0 -1
  693. package/dist/esm/webgl-utils/format-utils.js +0 -45
  694. package/dist/esm/webgl-utils/format-utils.js.map +0 -1
  695. package/dist/esm/webgl-utils/get-error.js +0 -41
  696. package/dist/esm/webgl-utils/get-error.js.map +0 -1
  697. package/dist/esm/webgl-utils/index.js +0 -5
  698. package/dist/esm/webgl-utils/index.js.map +0 -1
  699. package/dist/esm/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  700. package/dist/esm/webgl-utils/request-animation-frame.js +0 -7
  701. package/dist/esm/webgl-utils/request-animation-frame.js.map +0 -1
  702. package/dist/esm/webgl-utils/texture-utils.js +0 -48
  703. package/dist/esm/webgl-utils/texture-utils.js.map +0 -1
  704. package/dist/esm/webgl-utils/typed-array-utils.js.map +0 -1
  705. package/dist/helpers/get-program-bindings.d.ts +0 -8
  706. package/dist/helpers/get-program-bindings.d.ts.map +0 -1
  707. package/dist/helpers/get-program-bindings.js +0 -228
  708. package/dist/helpers/get-program-bindings.js.map +0 -1
  709. package/dist/helpers/program-bindings.d.ts +0 -41
  710. package/dist/helpers/program-bindings.d.ts.map +0 -1
  711. package/dist/helpers/program-bindings.js +0 -2
  712. package/dist/types/accessor.d.ts +0 -29
  713. package/dist/webgl-utils/attribute-utils.d.ts +0 -18
  714. package/dist/webgl-utils/attribute-utils.d.ts.map +0 -1
  715. package/dist/webgl-utils/attribute-utils.js +0 -182
  716. package/dist/webgl-utils/attribute-utils.js.map +0 -1
  717. package/dist/webgl-utils/constants-to-keys.d.ts +0 -4
  718. package/dist/webgl-utils/constants-to-keys.d.ts.map +0 -1
  719. package/dist/webgl-utils/constants-to-keys.js.map +0 -1
  720. package/dist/webgl-utils/format-utils.d.ts +0 -3
  721. package/dist/webgl-utils/format-utils.d.ts.map +0 -1
  722. package/dist/webgl-utils/format-utils.js +0 -45
  723. package/dist/webgl-utils/format-utils.js.map +0 -1
  724. package/dist/webgl-utils/get-error.d.ts +0 -3
  725. package/dist/webgl-utils/get-error.d.ts.map +0 -1
  726. package/dist/webgl-utils/get-error.js +0 -41
  727. package/dist/webgl-utils/get-error.js.map +0 -1
  728. package/dist/webgl-utils/index.d.ts +0 -5
  729. package/dist/webgl-utils/index.d.ts.map +0 -1
  730. package/dist/webgl-utils/index.js +0 -5
  731. package/dist/webgl-utils/index.js.map +0 -1
  732. package/dist/webgl-utils/parse-shader-compiler-log.d.ts.map +0 -1
  733. package/dist/webgl-utils/parse-shader-compiler-log.js.map +0 -1
  734. package/dist/webgl-utils/request-animation-frame.d.ts +0 -4
  735. package/dist/webgl-utils/request-animation-frame.d.ts.map +0 -1
  736. package/dist/webgl-utils/request-animation-frame.js +0 -7
  737. package/dist/webgl-utils/request-animation-frame.js.map +0 -1
  738. package/dist/webgl-utils/texture-utils.d.ts +0 -15
  739. package/dist/webgl-utils/texture-utils.d.ts.map +0 -1
  740. package/dist/webgl-utils/texture-utils.js +0 -48
  741. package/dist/webgl-utils/texture-utils.js.map +0 -1
  742. package/dist/webgl-utils/typed-array-utils.d.ts.map +0 -1
  743. package/dist/webgl-utils/typed-array-utils.js.map +0 -1
  744. package/src/.DS_Store +0 -0
  745. package/src/_deprecated/context-api.ts +0 -146
  746. package/src/_deprecated/features.ts +0 -159
  747. package/src/adapter/converters/webgpu-texture-formats.ts +0 -167
  748. package/src/classes/accessor.d.ts +0 -28
  749. package/src/classes/accessor.js +0 -129
  750. package/src/classes/accessor.ts.disabled +0 -159
  751. package/src/classes/clear.ts +0 -108
  752. package/src/classes/copy-and-blit.ts +0 -460
  753. package/src/classes/framebuffer.ts +0 -763
  754. package/src/classes/program-configuration.ts +0 -77
  755. package/src/classes/program.ts +0 -431
  756. package/src/classes/query.ts +0 -171
  757. package/src/classes/renderbuffer.ts +0 -154
  758. package/src/classes/shader.ts +0 -129
  759. package/src/classes/texture-2d.ts +0 -35
  760. package/src/classes/texture-3d.ts +0 -123
  761. package/src/classes/texture-cube.ts +0 -162
  762. package/src/classes/texture-formats.ts +0 -171
  763. package/src/classes/texture.ts +0 -965
  764. package/src/classes/transform-feedback.ts +0 -191
  765. package/src/classes/uniform-buffer-layout.ts +0 -113
  766. package/src/classes/uniforms.ts +0 -394
  767. package/src/classes/vertex-array-object.ts +0 -339
  768. package/src/classes/vertex-array.ts +0 -484
  769. package/src/context/context/device-pixels.ts +0 -147
  770. package/src/context/context/get-canvas.ts +0 -37
  771. package/src/context/context/resize-context.ts +0 -37
  772. package/src/context/parameters/webgl-parameters.ts +0 -197
  773. package/src/debug/debug-program-configuration.ts +0 -32
  774. package/src/debug/debug-uniforms.ts +0 -100
  775. package/src/debug/debug-vertex-array.ts +0 -123
  776. package/src/helpers/get-program-bindings.ts +0 -244
  777. package/src/helpers/program-bindings.ts +0 -46
  778. package/src/types/accessor.d.ts +0 -29
  779. package/src/webgl-utils/attribute-utils.ts +0 -171
  780. package/src/webgl-utils/format-utils.ts +0 -43
  781. package/src/webgl-utils/get-error.ts +0 -56
  782. package/src/webgl-utils/index.ts +0 -12
  783. package/src/webgl-utils/request-animation-frame.ts +0 -14
  784. package/src/webgl-utils/texture-utils.ts +0 -60
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/context/state-tracker/track-context-state.ts"],"names":["GLState","gl","copyState","log","cache","Object","assign","GL_PARAMETER_DEFAULTS","_updateCache","bind","seal","values","stateStack","push","length","oldValues","pop","valueChanged","oldValue","key","undefined","value","cached","trackContextState","options","enable","state","global_","global","window","installProgramSpy","GL_HOOKED_SETTERS","setter","installSetterSpy","installGetterOverride","pushContextState","popContextState","functionName","originalGetterFunc","get","pname","NON_CACHE_PARAMETERS","has","defineProperty","configurable","originalSetterFunc","set","params","originalUseProgram","useProgram","useProgramLuma","handle","program"],"mappings":"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","sourcesContent":["// Support for listening to context state changes and intercepting state queries\n// NOTE: this system does not handle buffer bindings\nimport {assert} from '@luma.gl/api';\nimport {GL_PARAMETER_DEFAULTS, GL_HOOKED_SETTERS, NON_CACHE_PARAMETERS} from '../parameters/webgl-parameter-tables';\nimport {setParameters, getParameters} from '../parameters/unified-parameter-api';\nimport {deepArrayEqual} from './deep-array-equal';\n\n// HELPER CLASS - GLState\n\n/* eslint-disable no-shadow */\nclass GLState {\n gl: WebGLRenderingContext;\n program = null;\n stateStack = [];\n enable = true;\n cache;\n log;\n\n constructor(\n gl,\n {\n copyState = false, // Copy cache from params (slow) or initialize from WebGL defaults (fast)\n log = () => {} // Logging function, called when gl parameter change calls are actually issued\n } = {}\n ) {\n this.gl = gl;\n this.cache = copyState ? getParameters(gl) : Object.assign({}, GL_PARAMETER_DEFAULTS);\n this.log = log;\n\n this._updateCache = this._updateCache.bind(this);\n Object.seal(this);\n }\n\n push(values = {}) {\n this.stateStack.push({});\n }\n\n pop() {\n assert(this.stateStack.length > 0);\n // Use the saved values in the state stack to restore parameters\n const oldValues = this.stateStack[this.stateStack.length - 1];\n setParameters(this.gl, oldValues);\n // Don't pop until we have reset parameters (to make sure other \"stack frames\" are not affected)\n this.stateStack.pop();\n }\n\n /**\n // interceptor for context set functions - update our cache and our stack\n // values (Object) - the key values for this setter\n * @param values\n * @returns\n */\n _updateCache(values) {\n let valueChanged = false;\n let oldValue; // = undefined\n\n const oldValues = this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1];\n\n for (const key in values) {\n assert(key !== undefined);\n const value = values[key];\n const cached = this.cache[key];\n // Check that value hasn't already been shadowed\n if (!deepArrayEqual(value, cached)) {\n valueChanged = true;\n oldValue = cached;\n\n // First, save current value being shadowed\n // If a state stack frame is active, save the current parameter values for pop\n // but first check that value hasn't already been shadowed and saved\n if (oldValues && !(key in oldValues)) {\n oldValues[key] = cached;\n }\n\n // Save current value being shadowed\n this.cache[key] = value;\n }\n }\n\n return {valueChanged, oldValue};\n }\n}\n\n// PUBLIC API\n\n/**\n * Initialize WebGL state caching on a context\n * can be called multiple times to enable/disable\n *\n * @note After calling this function, context state will be cached\n * gl.state.push() and gl.state.pop() will be available for saving,\n * temporarily modifying, and then restoring state.\n */\n export function trackContextState(\n gl: WebGLRenderingContext,\n options?: {\n enable?: boolean;\n copyState?: boolean;\n log?: any;\n }\n): WebGLRenderingContext {\n const {enable = true, copyState} = options;\n assert(copyState !== undefined);\n // @ts-expect-error\n if (!gl.state) {\n const global_ = typeof global !== 'undefined' ? global : window;\n // @ts-ignore\n // const {polyfillContext} = global_;\n // if (polyfillContext) {\n // polyfillContext(gl);\n // }\n\n // Create a state cache\n // @ts-expect-error\n gl.state = new GLState(gl, {copyState});\n\n installProgramSpy(gl);\n\n // intercept all setter functions in the table\n for (const key in GL_HOOKED_SETTERS) {\n const setter = GL_HOOKED_SETTERS[key];\n installSetterSpy(gl, key, setter);\n }\n\n // intercept all getter functions in the table\n installGetterOverride(gl, 'getParameter');\n installGetterOverride(gl, 'isEnabled');\n }\n\n // @ts-expect-error\n gl.state.enable = enable;\n\n return gl;\n}\n\n/**\n * Saves current WebGL context state onto an internal per-context stack\n */\n export function pushContextState(gl: WebGLRenderingContext): void {\n // @ts-expect-error\n if (!gl.state) {\n trackContextState(gl, {copyState: false});\n }\n // @ts-expect-error\n gl.state.push();\n}\n\n\n/**\n * Restores previously saved WebGL context state\n */\nexport function popContextState(gl: WebGLRenderingContext): void {\n // @ts-expect-error\n assert(gl.state);\n // @ts-expect-error\n gl.state.pop();\n}\n\n// HELPER FUNCTIONS - INSTALL GET/SET INTERCEPTORS (SPYS) ON THE CONTEXT\n\n/**\n// Overrides a WebGLRenderingContext state \"getter\" function\n// to return values directly from cache\n * @param gl\n * @param functionName\n */\nfunction installGetterOverride(gl, functionName) {\n // Get the original function from the WebGLRenderingContext\n const originalGetterFunc = gl[functionName].bind(gl);\n\n // Wrap it with a spy so that we can update our state cache when it gets called\n gl[functionName] = function get(pname) {\n if (pname === undefined || NON_CACHE_PARAMETERS.has(pname)) {\n // Invalid or blacklisted parameter, do not cache\n return originalGetterFunc(pname);\n }\n\n if (!(pname in gl.state.cache)) {\n // WebGL limits are not prepopulated in the cache, call the original getter when first queried.\n gl.state.cache[pname] = originalGetterFunc(pname);\n }\n\n // Optionally call the original function to do a \"hard\" query from the WebGLRenderingContext\n return gl.state.enable\n ? // Call the getter the params so that it can e.g. serve from a cache\n gl.state.cache[pname]\n : // Optionally call the original function to do a \"hard\" query from the WebGLRenderingContext\n originalGetterFunc(pname);\n };\n\n // Set the name of this anonymous function to help in debugging and profiling\n Object.defineProperty(gl[functionName], 'name', {\n value: `${functionName}-from-cache`,\n configurable: false\n });\n}\n\n/**\n// Overrides a WebGLRenderingContext state \"setter\" function\n// to call a setter spy before the actual setter. Allows us to keep a cache\n// updated with a copy of the WebGL context state.\n * @param gl\n * @param functionName\n * @param setter\n * @returns\n */\nfunction installSetterSpy(gl, functionName, setter) {\n // Get the original function from the WebGLRenderingContext\n if (!gl[functionName]) {\n // This could happen if we try to intercept WebGL2 method on a WebGL1 context\n return;\n }\n const originalSetterFunc = gl[functionName].bind(gl);\n\n // Wrap it with a spy so that we can update our state cache when it gets called\n gl[functionName] = function set(...params) {\n // Update the value\n // Call the setter with the state cache and the params so that it can store the parameters\n const {valueChanged, oldValue} = setter(gl.state._updateCache, ...params);\n\n // Call the original WebGLRenderingContext func to make sure the context actually gets updated\n if (valueChanged) {\n originalSetterFunc(...params);\n }\n\n // Note: if the original function fails to set the value, our state cache will be bad\n // No solution for this at the moment, but assuming that this is unlikely to be a real problem\n // We could call the setter after the originalSetterFunc. Concern is that this would\n // cause different behavior in debug mode, where originalSetterFunc can throw exceptions\n\n return oldValue;\n };\n\n // Set the name of this anonymous function to help in debugging and profiling\n Object.defineProperty(gl[functionName], 'name', {\n value: `${functionName}-to-cache`,\n configurable: false\n });\n}\n\nfunction installProgramSpy(gl) {\n const originalUseProgram = gl.useProgram.bind(gl);\n\n gl.useProgram = function useProgramLuma(handle) {\n if (gl.state.program !== handle) {\n originalUseProgram(handle);\n gl.state.program = handle;\n }\n };\n}\n"],"file":"track-context-state.js"}
1
+ {"version":3,"sources":["../../../../src/context/state-tracker/track-context-state.ts"],"names":["GLState","gl","copyState","log","cache","Object","assign","GL_PARAMETER_DEFAULTS","_updateCache","bind","seal","values","stateStack","push","length","oldValues","pop","valueChanged","oldValue","key","undefined","value","cached","getContextState","state","trackContextState","options","enable","global_","global","window","installProgramSpy","GL_HOOKED_SETTERS","setter","installSetterSpy","installGetterOverride","glState","pushContextState","popContextState","functionName","originalGetterFunc","get","pname","NON_CACHE_PARAMETERS","has","defineProperty","configurable","originalSetterFunc","set","params","originalUseProgram","useProgram","useProgramLuma","handle","program"],"mappings":"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","sourcesContent":["// Support for listening to context state changes and intercepting state queries\n// NOTE: this system does not handle buffer bindings\nimport {assert} from '@luma.gl/api';\nimport {GL_PARAMETER_DEFAULTS, GL_HOOKED_SETTERS, NON_CACHE_PARAMETERS} from '../parameters/webgl-parameter-tables';\nimport {setParameters, getParameters} from '../parameters/unified-parameter-api';\nimport {deepArrayEqual} from './deep-array-equal';\n\n// HELPER CLASS - GLState\n\n/* eslint-disable no-shadow */\nclass GLState {\n gl: WebGLRenderingContext;\n program: unknown = null;\n stateStack: object[] = [];\n enable = true;\n cache: Record<string, any>;\n log;\n\n constructor(\n gl: WebGLRenderingContext,\n {\n copyState = false, // Copy cache from params (slow) or initialize from WebGL defaults (fast)\n log = () => {} // Logging function, called when gl parameter change calls are actually issued\n } = {}\n ) {\n this.gl = gl;\n this.cache = copyState ? getParameters(gl) : Object.assign({}, GL_PARAMETER_DEFAULTS);\n this.log = log;\n\n this._updateCache = this._updateCache.bind(this);\n Object.seal(this);\n }\n\n push(values = {}) {\n this.stateStack.push({});\n }\n\n pop() {\n assert(this.stateStack.length > 0);\n // Use the saved values in the state stack to restore parameters\n const oldValues = this.stateStack[this.stateStack.length - 1];\n setParameters(this.gl, oldValues);\n // Don't pop until we have reset parameters (to make sure other \"stack frames\" are not affected)\n this.stateStack.pop();\n }\n\n /**\n // interceptor for context set functions - update our cache and our stack\n // values (Object) - the key values for this setter\n * @param values\n * @returns\n */\n _updateCache(values: {[key: number | string]: any}) {\n let valueChanged = false;\n let oldValue; // = undefined\n\n const oldValues: {[key: number | string]: any} | null = this.stateStack.length > 0 ? this.stateStack[this.stateStack.length - 1] : null;\n\n for (const key in values) {\n assert(key !== undefined);\n const value = values[key];\n const cached = this.cache[key];\n // Check that value hasn't already been shadowed\n if (!deepArrayEqual(value, cached)) {\n valueChanged = true;\n oldValue = cached;\n\n // First, save current value being shadowed\n // If a state stack frame is active, save the current parameter values for pop\n // but first check that value hasn't already been shadowed and saved\n if (oldValues && !(key in oldValues)) {\n oldValues[key] = cached;\n }\n\n // Save current value being shadowed\n this.cache[key] = value;\n }\n }\n\n return {valueChanged, oldValue};\n }\n}\n\nfunction getContextState(gl: WebGLRenderingContext): GLState {\n // @ts-expect-error\n return gl.state as GLState;\n}\n\n// PUBLIC API\n\n/**\n * Initialize WebGL state caching on a context\n * can be called multiple times to enable/disable\n *\n * @note After calling this function, context state will be cached\n * gl.state.push() and gl.state.pop() will be available for saving,\n * temporarily modifying, and then restoring state.\n */\n export function trackContextState(\n gl: WebGLRenderingContext,\n options?: {\n enable?: boolean;\n copyState?: boolean;\n log?: any;\n }\n): WebGLRenderingContext {\n const {enable = true, copyState} = options;\n assert(copyState !== undefined);\n // @ts-expect-error\n if (!gl.state) {\n const global_ = typeof global !== 'undefined' ? global : window;\n // @ts-ignore\n // const {polyfillContext} = global_;\n // if (polyfillContext) {\n // polyfillContext(gl);\n // }\n\n // Create a state cache\n // @ts-expect-error\n gl.state = new GLState(gl, {copyState});\n\n installProgramSpy(gl);\n\n // intercept all setter functions in the table\n for (const key in GL_HOOKED_SETTERS) {\n const setter = GL_HOOKED_SETTERS[key];\n installSetterSpy(gl, key, setter);\n }\n\n // intercept all getter functions in the table\n installGetterOverride(gl, 'getParameter');\n installGetterOverride(gl, 'isEnabled');\n }\n\n const glState = getContextState(gl);\n glState.enable = enable;\n\n return gl;\n}\n\n/**\n * Saves current WebGL context state onto an internal per-context stack\n */\n export function pushContextState(gl: WebGLRenderingContext): void {\n let glState = getContextState(gl);\n if (!glState) {\n trackContextState(gl, {copyState: false});\n glState = getContextState(gl);\n }\n glState.push();\n}\n\n\n/**\n * Restores previously saved WebGL context state\n */\nexport function popContextState(gl: WebGLRenderingContext): void {\n const glState = getContextState(gl);\n assert(glState);\n glState.pop();\n}\n\n// HELPER FUNCTIONS - INSTALL GET/SET INTERCEPTORS (SPYS) ON THE CONTEXT\n\n/**\n// Overrides a WebGLRenderingContext state \"getter\" function\n// to return values directly from cache\n * @param gl\n * @param functionName\n */\nfunction installGetterOverride(gl: WebGLRenderingContext, functionName: string) {\n // Get the original function from the WebGLRenderingContext\n const originalGetterFunc = gl[functionName].bind(gl);\n\n // Wrap it with a spy so that we can update our state cache when it gets called\n gl[functionName] = function get(pname) {\n if (pname === undefined || NON_CACHE_PARAMETERS.has(pname)) {\n // Invalid or blacklisted parameter, do not cache\n return originalGetterFunc(pname);\n }\n\n const glState = getContextState(gl);\n if (!(pname in glState.cache)) {\n // WebGL limits are not prepopulated in the cache, call the original getter when first queried.\n glState.cache[pname] = originalGetterFunc(pname);\n }\n\n // Optionally call the original function to do a \"hard\" query from the WebGLRenderingContext\n return glState.enable\n ? // Call the getter the params so that it can e.g. serve from a cache\n glState.cache[pname]\n : // Optionally call the original function to do a \"hard\" query from the WebGLRenderingContext\n originalGetterFunc(pname);\n };\n\n // Set the name of this anonymous function to help in debugging and profiling\n Object.defineProperty(gl[functionName], 'name', {\n value: `${functionName}-from-cache`,\n configurable: false\n });\n}\n\n/**\n// Overrides a WebGLRenderingContext state \"setter\" function\n// to call a setter spy before the actual setter. Allows us to keep a cache\n// updated with a copy of the WebGL context state.\n * @param gl\n * @param functionName\n * @param setter\n * @returns\n */\nfunction installSetterSpy(gl: WebGLRenderingContext, functionName: string, setter) {\n // Get the original function from the WebGLRenderingContext\n if (!gl[functionName]) {\n // This could happen if we try to intercept WebGL2 method on a WebGL1 context\n return;\n }\n\n const originalSetterFunc = gl[functionName].bind(gl);\n\n // Wrap it with a spy so that we can update our state cache when it gets called\n gl[functionName] = function set(...params) {\n // Update the value\n // Call the setter with the state cache and the params so that it can store the parameters\n const glState = getContextState(gl);\n const {valueChanged, oldValue} = setter(glState._updateCache, ...params);\n\n // Call the original WebGLRenderingContext func to make sure the context actually gets updated\n if (valueChanged) {\n originalSetterFunc(...params);\n }\n\n // Note: if the original function fails to set the value, our state cache will be bad\n // No solution for this at the moment, but assuming that this is unlikely to be a real problem\n // We could call the setter after the originalSetterFunc. Concern is that this would\n // cause different behavior in debug mode, where originalSetterFunc can throw exceptions\n\n return oldValue;\n };\n\n // Set the name of this anonymous function to help in debugging and profiling\n Object.defineProperty(gl[functionName], 'name', {\n value: `${functionName}-to-cache`,\n configurable: false\n });\n}\n\nfunction installProgramSpy(gl: WebGLRenderingContext): void {\n const originalUseProgram = gl.useProgram.bind(gl);\n\n gl.useProgram = function useProgramLuma(handle) {\n const glState = getContextState(gl);\n if (glState.program !== handle) {\n originalUseProgram(handle);\n glState.program = handle;\n }\n };\n}\n"],"file":"track-context-state.js"}
@@ -5,13 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.withParameters = withParameters;
7
7
 
8
+ var _ = require("../..");
9
+
8
10
  var _unifiedParameterApi = require("../parameters/unified-parameter-api");
9
11
 
10
12
  var _trackContextState = require("./track-context-state");
11
13
 
12
- function withParameters(gl, parameters, func) {
14
+ function withParameters(device, parameters, func) {
15
+ var webglDevice = _.WebGLDevice.attach(device);
16
+
17
+ var gl = webglDevice.gl;
18
+
13
19
  if (isObjectEmpty(parameters)) {
14
- return func(gl);
20
+ return func(device);
15
21
  }
16
22
 
17
23
  var _parameters$nocatch = parameters.nocatch,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/context/state-tracker/with-parameters.ts"],"names":["withParameters","gl","parameters","func","isObjectEmpty","nocatch","value","object","key"],"mappings":";;;;;;;AAAA;;AACA;;AAUQ,SAASA,cAAT,CAAwBC,EAAxB,EAAmDC,UAAnD,EAAmGC,IAAnG,EAAmH;AACzH,MAAIC,aAAa,CAACF,UAAD,CAAjB,EAA+B;AAE7B,WAAOC,IAAI,CAACF,EAAD,CAAX;AACD;;AAED,4BAAyBC,UAAzB,CAAOG,OAAP;AAAA,MAAOA,OAAP,oCAAiB,IAAjB;AAEA,2CAAiBJ,EAAjB;AACA,0CAAcA,EAAd,EAAkBC,UAAlB;AAGA,MAAII,KAAJ;;AAEA,MAAID,OAAJ,EAAa;AAEXC,IAAAA,KAAK,GAAGH,IAAI,CAACF,EAAD,CAAZ;AACA,4CAAgBA,EAAhB;AACD,GAJD,MAIO;AAEL,QAAI;AACFK,MAAAA,KAAK,GAAGH,IAAI,CAACF,EAAD,CAAZ;AACD,KAFD,SAEU;AACR,8CAAgBA,EAAhB;AACD;AACF;;AAED,SAAOK,KAAP;AACD;;AAKD,SAASF,aAAT,CAAuBG,MAAvB,EAA+B;AAC7B,OAAK,IAAMC,GAAX,IAAkBD,MAAlB,EAA0B;AACxB,WAAO,KAAP;AACD;;AACD,SAAO,IAAP;AACD","sourcesContent":["import {GLParameters, setParameters} from '../parameters/unified-parameter-api';\nimport {pushContextState, popContextState} from './track-context-state';\n\n/**\n * Execute a function with a set of temporary WebGL parameter overrides\n * - Saves current \"global\" WebGL context settings\n * - Sets the supplies WebGL context parameters,\n * - Executes supplied function\n * - Restores parameters\n * - Returns the return value of the supplied function\n */\n export function withParameters(gl: WebGLRenderingContext, parameters: GLParameters & {nocatch?: boolean}, func: any): any {\n if (isObjectEmpty(parameters)) {\n // Avoid setting state if no parameters provided. Just call and return\n return func(gl);\n }\n\n const {nocatch = true} = parameters;\n\n pushContextState(gl);\n setParameters(gl, parameters);\n\n // Setup is done, call the function\n let value;\n\n if (nocatch) {\n // Avoid try catch to minimize stack size impact for safe execution paths\n value = func(gl);\n popContextState(gl);\n } else {\n // Wrap in a try-catch to ensure that parameters are restored on exceptions\n try {\n value = func(gl);\n } finally {\n popContextState(gl);\n }\n }\n\n return value;\n}\n\n// Helpers\n\n// Returns true if given object is empty, false otherwise.\nfunction isObjectEmpty(object) {\n for (const key in object) {\n return false;\n }\n return true;\n}\n"],"file":"with-parameters.js"}
1
+ {"version":3,"sources":["../../../../src/context/state-tracker/with-parameters.ts"],"names":["withParameters","device","parameters","func","webglDevice","WebGLDevice","attach","gl","isObjectEmpty","nocatch","value","object","key"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AAUQ,SAASA,cAAT,CAAwBC,MAAxB,EAAgEC,UAAhE,EAAgHC,IAAhH,EAAgI;AACtI,MAAMC,WAAW,GAAGC,cAAYC,MAAZ,CAAmBL,MAAnB,CAApB;;AACA,MAAMM,EAAE,GAAGH,WAAW,CAACG,EAAvB;;AAEA,MAAIC,aAAa,CAACN,UAAD,CAAjB,EAA+B;AAE7B,WAAOC,IAAI,CAACF,MAAD,CAAX;AACD;;AAED,4BAAyBC,UAAzB,CAAOO,OAAP;AAAA,MAAOA,OAAP,oCAAiB,IAAjB;AAEA,2CAAiBF,EAAjB;AACA,0CAAcA,EAAd,EAAkBL,UAAlB;AAGA,MAAIQ,KAAJ;;AAEA,MAAID,OAAJ,EAAa;AAEXC,IAAAA,KAAK,GAAGP,IAAI,CAACI,EAAD,CAAZ;AACA,4CAAgBA,EAAhB;AACD,GAJD,MAIO;AAEL,QAAI;AACFG,MAAAA,KAAK,GAAGP,IAAI,CAACI,EAAD,CAAZ;AACD,KAFD,SAEU;AACR,8CAAgBA,EAAhB;AACD;AACF;;AAED,SAAOG,KAAP;AACD;;AAKD,SAASF,aAAT,CAAuBG,MAAvB,EAA+B;AAC7B,OAAK,IAAMC,GAAX,IAAkBD,MAAlB,EAA0B;AACxB,WAAO,KAAP;AACD;;AACD,SAAO,IAAP;AACD","sourcesContent":["import type {Device} from '@luma.gl/api';\nimport {WebGLDevice} from '../..';\nimport {GLParameters, setParameters} from '../parameters/unified-parameter-api';\nimport {pushContextState, popContextState} from './track-context-state';\n\n/**\n * Execute a function with a set of temporary WebGL parameter overrides\n * - Saves current \"global\" WebGL context settings\n * - Sets the supplies WebGL context parameters,\n * - Executes supplied function\n * - Restores parameters\n * - Returns the return value of the supplied function\n */\n export function withParameters(device: Device | WebGLRenderingContext, parameters: GLParameters & {nocatch?: boolean}, func: any): any {\n const webglDevice = WebGLDevice.attach(device);\n const gl = webglDevice.gl;\n\n if (isObjectEmpty(parameters)) {\n // Avoid setting state if no parameters provided. Just call and return\n return func(device);\n }\n\n const {nocatch = true} = parameters;\n\n pushContextState(gl);\n setParameters(gl, parameters);\n\n // Setup is done, call the function\n let value;\n\n if (nocatch) {\n // Avoid try catch to minimize stack size impact for safe execution paths\n value = func(gl);\n popContextState(gl);\n } else {\n // Wrap in a try-catch to ensure that parameters are restored on exceptions\n try {\n value = func(gl);\n } finally {\n popContextState(gl);\n }\n }\n\n return value;\n}\n\n// Helpers\n\n// Returns true if given object is empty, false otherwise.\nfunction isObjectEmpty(object) {\n for (const key in object) {\n return false;\n }\n return true;\n}\n"],"file":"with-parameters.js"}
package/dist/es5/index.js CHANGED
@@ -2,15 +2,13 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
- Object.defineProperty(exports, "lumaStats", {
8
+ Object.defineProperty(exports, "registerHeadlessGL", {
11
9
  enumerable: true,
12
10
  get: function get() {
13
- return _init.lumaStats;
11
+ return _createHeadlessContext.registerHeadlessGL;
14
12
  }
15
13
  });
16
14
  Object.defineProperty(exports, "WebGLDevice", {
@@ -19,190 +17,100 @@ Object.defineProperty(exports, "WebGLDevice", {
19
17
  return _webglDevice.default;
20
18
  }
21
19
  });
22
- Object.defineProperty(exports, "getWebGLDevice", {
23
- enumerable: true,
24
- get: function get() {
25
- return _webglDevice.getWebGLDevice;
26
- }
27
- });
28
- Object.defineProperty(exports, "requestAnimationFrame", {
20
+ Object.defineProperty(exports, "WebGLCanvasContext", {
29
21
  enumerable: true,
30
22
  get: function get() {
31
- return _requestAnimationFrame.requestAnimationFrame;
23
+ return _webglCanvasContext.default;
32
24
  }
33
25
  });
34
- Object.defineProperty(exports, "cancelAnimationFrame", {
26
+ Object.defineProperty(exports, "WEBGLResource", {
35
27
  enumerable: true,
36
28
  get: function get() {
37
- return _requestAnimationFrame.cancelAnimationFrame;
29
+ return _webglResource.default;
38
30
  }
39
31
  });
40
- Object.defineProperty(exports, "cloneTextureFrom", {
32
+ Object.defineProperty(exports, "WebGLResource", {
41
33
  enumerable: true,
42
34
  get: function get() {
43
- return _textureUtils.cloneTextureFrom;
35
+ return _webglResource.default;
44
36
  }
45
37
  });
46
- Object.defineProperty(exports, "getKeyValue", {
47
- enumerable: true,
48
- get: function get() {
49
- return _constantsToKeys.getKeyValue;
50
- }
51
- });
52
- Object.defineProperty(exports, "getKey", {
53
- enumerable: true,
54
- get: function get() {
55
- return _constantsToKeys.getKey;
56
- }
57
- });
58
- Object.defineProperty(exports, "Accessor", {
59
- enumerable: true,
60
- get: function get() {
61
- return _accessor.default;
62
- }
63
- });
64
- Object.defineProperty(exports, "Buffer", {
38
+ Object.defineProperty(exports, "WEBGLBuffer", {
65
39
  enumerable: true,
66
40
  get: function get() {
67
41
  return _webglBuffer.default;
68
42
  }
69
43
  });
70
- Object.defineProperty(exports, "Texture2D", {
71
- enumerable: true,
72
- get: function get() {
73
- return _texture2d.default;
74
- }
75
- });
76
- Object.defineProperty(exports, "TextureCube", {
77
- enumerable: true,
78
- get: function get() {
79
- return _textureCube.default;
80
- }
81
- });
82
- Object.defineProperty(exports, "Program", {
83
- enumerable: true,
84
- get: function get() {
85
- return _program.default;
86
- }
87
- });
88
- Object.defineProperty(exports, "Framebuffer", {
44
+ Object.defineProperty(exports, "WEBGLTexture", {
89
45
  enumerable: true,
90
46
  get: function get() {
91
- return _framebuffer.default;
47
+ return _webglTexture.default;
92
48
  }
93
49
  });
94
- Object.defineProperty(exports, "Renderbuffer", {
50
+ Object.defineProperty(exports, "WEBGLShader", {
95
51
  enumerable: true,
96
52
  get: function get() {
97
- return _renderbuffer.default;
53
+ return _webglShader.default;
98
54
  }
99
55
  });
100
- Object.defineProperty(exports, "Shader", {
56
+ Object.defineProperty(exports, "WEBGLSampler", {
101
57
  enumerable: true,
102
58
  get: function get() {
103
- return _shader.Shader;
59
+ return _webglSampler.default;
104
60
  }
105
61
  });
106
- Object.defineProperty(exports, "VertexShader", {
62
+ Object.defineProperty(exports, "WEBGLFramebuffer", {
107
63
  enumerable: true,
108
64
  get: function get() {
109
- return _shader.VertexShader;
65
+ return _webglFramebuffer.default;
110
66
  }
111
67
  });
112
- Object.defineProperty(exports, "FragmentShader", {
68
+ Object.defineProperty(exports, "WEBGLRenderPipeline", {
113
69
  enumerable: true,
114
70
  get: function get() {
115
- return _shader.FragmentShader;
71
+ return _webglRenderPipeline.default;
116
72
  }
117
73
  });
118
- Object.defineProperty(exports, "clear", {
74
+ Object.defineProperty(exports, "WEBGLCommandEncoder", {
119
75
  enumerable: true,
120
76
  get: function get() {
121
- return _clear.clear;
77
+ return _webglCommandEncoder.default;
122
78
  }
123
79
  });
124
- Object.defineProperty(exports, "clearBuffer", {
80
+ Object.defineProperty(exports, "WEBGLRenderPass", {
125
81
  enumerable: true,
126
82
  get: function get() {
127
- return _clear.clearBuffer;
83
+ return _webglRenderPass.default;
128
84
  }
129
85
  });
130
- Object.defineProperty(exports, "readPixelsToArray", {
86
+ Object.defineProperty(exports, "WEBGLRenderbuffer", {
131
87
  enumerable: true,
132
88
  get: function get() {
133
- return _copyAndBlit.readPixelsToArray;
89
+ return _webglRenderbuffer.default;
134
90
  }
135
91
  });
136
- Object.defineProperty(exports, "readPixelsToBuffer", {
92
+ Object.defineProperty(exports, "WEBGLVertexArrayObject", {
137
93
  enumerable: true,
138
94
  get: function get() {
139
- return _copyAndBlit.readPixelsToBuffer;
95
+ return _webglVertexArrayObject.default;
140
96
  }
141
97
  });
142
- Object.defineProperty(exports, "copyToDataUrl", {
143
- enumerable: true,
144
- get: function get() {
145
- return _copyAndBlit.copyToDataUrl;
146
- }
147
- });
148
- Object.defineProperty(exports, "copyToImage", {
149
- enumerable: true,
150
- get: function get() {
151
- return _copyAndBlit.copyToImage;
152
- }
153
- });
154
- Object.defineProperty(exports, "copyToTexture", {
155
- enumerable: true,
156
- get: function get() {
157
- return _copyAndBlit.copyToTexture;
158
- }
159
- });
160
- Object.defineProperty(exports, "blit", {
161
- enumerable: true,
162
- get: function get() {
163
- return _copyAndBlit.blit;
164
- }
165
- });
166
- Object.defineProperty(exports, "Query", {
167
- enumerable: true,
168
- get: function get() {
169
- return _query.default;
170
- }
171
- });
172
- Object.defineProperty(exports, "Texture3D", {
173
- enumerable: true,
174
- get: function get() {
175
- return _texture3d.default;
176
- }
177
- });
178
- Object.defineProperty(exports, "TransformFeedback", {
179
- enumerable: true,
180
- get: function get() {
181
- return _transformFeedback.default;
182
- }
183
- });
184
- Object.defineProperty(exports, "VertexArrayObject", {
185
- enumerable: true,
186
- get: function get() {
187
- return _vertexArrayObject.default;
188
- }
189
- });
190
- Object.defineProperty(exports, "VertexArray", {
98
+ Object.defineProperty(exports, "Accessor", {
191
99
  enumerable: true,
192
100
  get: function get() {
193
- return _vertexArray.default;
101
+ return _accessor.default;
194
102
  }
195
103
  });
196
- Object.defineProperty(exports, "UniformBufferLayout", {
104
+ Object.defineProperty(exports, "ClassicBuffer", {
197
105
  enumerable: true,
198
106
  get: function get() {
199
- return _uniformBufferLayout.default;
107
+ return _buffer.default;
200
108
  }
201
109
  });
202
- Object.defineProperty(exports, "setDeviceParameters", {
110
+ Object.defineProperty(exports, "Buffer", {
203
111
  enumerable: true,
204
112
  get: function get() {
205
- return _setDeviceParameters.setDeviceParameters;
113
+ return _buffer.default;
206
114
  }
207
115
  });
208
116
  Object.defineProperty(exports, "isWebGL", {
@@ -235,16 +143,16 @@ Object.defineProperty(exports, "assertWebGL2Context", {
235
143
  return _webglChecks.assertWebGL2Context;
236
144
  }
237
145
  });
238
- Object.defineProperty(exports, "cssToDeviceRatio", {
146
+ Object.defineProperty(exports, "setDeviceParameters", {
239
147
  enumerable: true,
240
148
  get: function get() {
241
- return _devicePixels.cssToDeviceRatio;
149
+ return _deviceParameters.setDeviceParameters;
242
150
  }
243
151
  });
244
- Object.defineProperty(exports, "cssToDevicePixels", {
152
+ Object.defineProperty(exports, "withDeviceParameters", {
245
153
  enumerable: true,
246
154
  get: function get() {
247
- return _devicePixels.cssToDevicePixels;
155
+ return _deviceParameters.withDeviceParameters;
248
156
  }
249
157
  });
250
158
  Object.defineProperty(exports, "getParameters", {
@@ -295,198 +203,64 @@ Object.defineProperty(exports, "polyfillContext", {
295
203
  return _polyfillContext.polyfillContext;
296
204
  }
297
205
  });
298
- Object.defineProperty(exports, "parseUniformName", {
299
- enumerable: true,
300
- get: function get() {
301
- return _uniforms.parseUniformName;
302
- }
303
- });
304
- Object.defineProperty(exports, "getUniformSetter", {
206
+ Object.defineProperty(exports, "getShaderLayout", {
305
207
  enumerable: true,
306
208
  get: function get() {
307
- return _uniforms.getUniformSetter;
308
- }
309
- });
310
- Object.defineProperty(exports, "getDebugTableForUniforms", {
311
- enumerable: true,
312
- get: function get() {
313
- return _debugUniforms.getDebugTableForUniforms;
314
- }
315
- });
316
- Object.defineProperty(exports, "getDebugTableForVertexArray", {
317
- enumerable: true,
318
- get: function get() {
319
- return _debugVertexArray.getDebugTableForVertexArray;
320
- }
321
- });
322
- Object.defineProperty(exports, "getDebugTableForProgramConfiguration", {
323
- enumerable: true,
324
- get: function get() {
325
- return _debugProgramConfiguration.getDebugTableForProgramConfiguration;
209
+ return _getShaderLayout.getShaderLayout;
326
210
  }
327
211
  });
328
212
  Object.defineProperty(exports, "getProgramBindings", {
329
213
  enumerable: true,
330
214
  get: function get() {
331
- return _getProgramBindings.getProgramBindings;
332
- }
333
- });
334
- Object.defineProperty(exports, "log", {
335
- enumerable: true,
336
- get: function get() {
337
- return _api.log;
338
- }
339
- });
340
- Object.defineProperty(exports, "assert", {
341
- enumerable: true,
342
- get: function get() {
343
- return _api.assert;
344
- }
345
- });
346
- Object.defineProperty(exports, "uid", {
347
- enumerable: true,
348
- get: function get() {
349
- return _api.uid;
350
- }
351
- });
352
- Object.defineProperty(exports, "isObjectEmpty", {
353
- enumerable: true,
354
- get: function get() {
355
- return _api.isObjectEmpty;
356
- }
357
- });
358
- Object.defineProperty(exports, "setPathPrefix", {
359
- enumerable: true,
360
- get: function get() {
361
- return _api.setPathPrefix;
362
- }
363
- });
364
- Object.defineProperty(exports, "loadFile", {
365
- enumerable: true,
366
- get: function get() {
367
- return _api.loadFile;
368
- }
369
- });
370
- Object.defineProperty(exports, "loadImage", {
371
- enumerable: true,
372
- get: function get() {
373
- return _api.loadImage;
374
- }
375
- });
376
- Object.defineProperty(exports, "createGLContext", {
377
- enumerable: true,
378
- get: function get() {
379
- return _contextApi.createGLContext;
380
- }
381
- });
382
- Object.defineProperty(exports, "instrumentGLContext", {
383
- enumerable: true,
384
- get: function get() {
385
- return _contextApi.instrumentGLContext;
386
- }
387
- });
388
- Object.defineProperty(exports, "resizeGLContext", {
389
- enumerable: true,
390
- get: function get() {
391
- return _contextApi.resizeGLContext;
392
- }
393
- });
394
- Object.defineProperty(exports, "hasFeature", {
395
- enumerable: true,
396
- get: function get() {
397
- return _contextApi.hasFeature;
398
- }
399
- });
400
- Object.defineProperty(exports, "hasFeatures", {
401
- enumerable: true,
402
- get: function get() {
403
- return _contextApi.hasFeatures;
404
- }
405
- });
406
- Object.defineProperty(exports, "getFeatures", {
407
- enumerable: true,
408
- get: function get() {
409
- return _contextApi.getFeatures;
410
- }
411
- });
412
- Object.defineProperty(exports, "getContextInfo", {
413
- enumerable: true,
414
- get: function get() {
415
- return _contextApi.getContextInfo;
416
- }
417
- });
418
- Object.defineProperty(exports, "getGLContextInfo", {
419
- enumerable: true,
420
- get: function get() {
421
- return _contextApi.getGLContextInfo;
215
+ return _getShaderLayout.getProgramBindings;
422
216
  }
423
217
  });
424
- Object.defineProperty(exports, "getContextLimits", {
218
+ Object.defineProperty(exports, "_checkFloat32ColorAttachment", {
425
219
  enumerable: true,
426
220
  get: function get() {
427
- return _contextApi.getContextLimits;
221
+ return _textureFormats._checkFloat32ColorAttachment;
428
222
  }
429
223
  });
430
- Object.defineProperty(exports, "getContextDebugInfo", {
431
- enumerable: true,
432
- get: function get() {
433
- return _contextApi.getContextDebugInfo;
434
- }
435
- });
436
- Object.defineProperty(exports, "FEATURES", {
437
- enumerable: true,
438
- get: function get() {
439
- return _features.DEPRECATED_FEATURES;
440
- }
441
- });
442
-
443
- var _init = require("./init");
444
-
445
- var _webglDevice = _interopRequireWildcard(require("./adapter/webgl-device"));
446
224
 
447
- var _requestAnimationFrame = require("./webgl-utils/request-animation-frame");
225
+ require("@luma.gl/api");
448
226
 
449
- var _textureUtils = require("./webgl-utils/texture-utils");
227
+ require("./init");
450
228
 
451
- var _constantsToKeys = require("./webgl-utils/constants-to-keys");
229
+ var _createHeadlessContext = require("./context/context/create-headless-context");
452
230
 
453
- var _accessor = _interopRequireDefault(require("./classes/accessor"));
231
+ var _webglDevice = _interopRequireDefault(require("./adapter/webgl-device"));
454
232
 
455
- var _webglBuffer = _interopRequireDefault(require("./classes/webgl-buffer"));
233
+ var _webglCanvasContext = _interopRequireDefault(require("./adapter/webgl-canvas-context"));
456
234
 
457
- var _texture2d = _interopRequireDefault(require("./classes/texture-2d"));
235
+ var _webglResource = _interopRequireDefault(require("./adapter/objects/webgl-resource"));
458
236
 
459
- var _textureCube = _interopRequireDefault(require("./classes/texture-cube"));
237
+ var _webglBuffer = _interopRequireDefault(require("./adapter/resources/webgl-buffer"));
460
238
 
461
- var _program = _interopRequireDefault(require("./classes/program"));
239
+ var _webglTexture = _interopRequireDefault(require("./adapter/resources/webgl-texture"));
462
240
 
463
- var _framebuffer = _interopRequireDefault(require("./classes/framebuffer"));
241
+ var _webglShader = _interopRequireDefault(require("./adapter/resources/webgl-shader"));
464
242
 
465
- var _renderbuffer = _interopRequireDefault(require("./classes/renderbuffer"));
243
+ var _webglSampler = _interopRequireDefault(require("./adapter/resources/webgl-sampler"));
466
244
 
467
- var _shader = require("./classes/shader");
245
+ var _webglFramebuffer = _interopRequireDefault(require("./adapter/resources/webgl-framebuffer"));
468
246
 
469
- var _clear = require("./classes/clear");
247
+ var _webglRenderPipeline = _interopRequireDefault(require("./adapter/resources/webgl-render-pipeline"));
470
248
 
471
- var _copyAndBlit = require("./classes/copy-and-blit");
249
+ var _webglCommandEncoder = _interopRequireDefault(require("./adapter/resources/webgl-command-encoder"));
472
250
 
473
- var _query = _interopRequireDefault(require("./classes/query"));
251
+ var _webglRenderPass = _interopRequireDefault(require("./adapter/resources/webgl-render-pass"));
474
252
 
475
- var _texture3d = _interopRequireDefault(require("./classes/texture-3d"));
253
+ var _webglRenderbuffer = _interopRequireDefault(require("./adapter/objects/webgl-renderbuffer"));
476
254
 
477
- var _transformFeedback = _interopRequireDefault(require("./classes/transform-feedback"));
255
+ var _webglVertexArrayObject = _interopRequireDefault(require("./adapter/objects/webgl-vertex-array-object"));
478
256
 
479
- var _vertexArrayObject = _interopRequireDefault(require("./classes/vertex-array-object"));
257
+ var _accessor = _interopRequireDefault(require("./classic/accessor"));
480
258
 
481
- var _vertexArray = _interopRequireDefault(require("./classes/vertex-array"));
482
-
483
- var _uniformBufferLayout = _interopRequireDefault(require("./classes/uniform-buffer-layout"));
484
-
485
- var _setDeviceParameters = require("./adapter/converters/set-device-parameters");
259
+ var _buffer = _interopRequireDefault(require("./classic/buffer"));
486
260
 
487
261
  var _webglChecks = require("./context/context/webgl-checks");
488
262
 
489
- var _devicePixels = require("./context/context/device-pixels");
263
+ var _deviceParameters = require("./adapter/converters/device-parameters");
490
264
 
491
265
  var _unifiedParameterApi = require("./context/parameters/unified-parameter-api");
492
266
 
@@ -496,23 +270,7 @@ var _trackContextState = require("./context/state-tracker/track-context-state");
496
270
 
497
271
  var _polyfillContext = require("./context/polyfill/polyfill-context");
498
272
 
499
- var _uniforms = require("./classes/uniforms");
500
-
501
- var _debugUniforms = require("./debug/debug-uniforms");
502
-
503
- var _debugVertexArray = require("./debug/debug-vertex-array");
504
-
505
- var _debugProgramConfiguration = require("./debug/debug-program-configuration");
506
-
507
- var _getProgramBindings = require("./helpers/get-program-bindings");
508
-
509
- var _api = require("@luma.gl/api");
510
-
511
- var _contextApi = require("./_deprecated/context-api");
512
-
513
- var _features = require("./_deprecated/features");
514
-
515
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
273
+ var _getShaderLayout = require("./adapter/helpers/get-shader-layout");
516
274
 
517
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
275
+ var _textureFormats = require("./adapter/converters/texture-formats");
518
276
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;AAIA;;AAGA;;AAGA;;AACA;;AAGA;;AAIA;;AAEA;;AAEA;;AAGA;;AAEA;;AAEA;;AAIA;;AAEA;;AAGA;;AAWA;;AAEA;;AAEA;;AAEA;;AAEA;;AACA;;AAEA;;AAKA;;AASA;;AAKA;;AAMA;;AAKA;;AAOA;;AAGA;;AACA;;AACA;;AACA;;AAGA;;AAMA;;AAKA;;AAcA","sourcesContent":["// luma.gl Base WebGL wrapper library\n// Provides simple class/function wrappers around the low level webgl objects\n// These classes are intentionally close to the WebGL API\n// but make it easier to use.\n// Higher level abstractions can be built on these classes\n\n// Initialize any global state\nimport './init';\n\n// export type {WebGLDeviceProps, WebGLDeviceInfo, WebGPUDeviceLimits} from './lib/webgl-device';\nexport type {WebGLDeviceProps} from './adapter/webgl-device';\nexport {default as WebGLDevice, getWebGLDevice} from './adapter/webgl-device';\n\n// UTILS\nexport {requestAnimationFrame, cancelAnimationFrame} from './webgl-utils/request-animation-frame';\n\n// WebGL Functions\nexport {cloneTextureFrom} from './webgl-utils/texture-utils';\nexport {getKeyValue, getKey} from './webgl-utils/constants-to-keys';\n\n// WebGL Helper Classes\nexport {default as Accessor} from './classes/accessor';\n\n// WebGL1 classes\nexport type {BufferProps} from '@luma.gl/api';\nexport {default as Buffer} from './classes/webgl-buffer';\nexport type {Texture2DProps} from './classes/texture-2d';\nexport {default as Texture2D} from './classes/texture-2d';\nexport type {TextureCubeProps} from './classes/texture-cube';\nexport {default as TextureCube} from './classes/texture-cube';\n\nexport type {ProgramProps} from './classes/program';\nexport {default as Program} from './classes/program';\nexport type {FramebufferProps} from './classes/framebuffer';\nexport {default as Framebuffer} from './classes/framebuffer';\nexport type {RenderbufferProps} from './classes/renderbuffer';\nexport {default as Renderbuffer} from './classes/renderbuffer';\n\n// Classic luma.gl classes (For backwards compatibility)\nexport type {ShaderProps} from './classes/shader';\nexport {Shader, VertexShader, FragmentShader} from './classes/shader';\n\nexport {clear, clearBuffer} from './classes/clear';\n\n// Copy and Blit\nexport {\n readPixelsToArray,\n readPixelsToBuffer,\n copyToDataUrl,\n copyToImage,\n copyToTexture,\n blit\n} from './classes/copy-and-blit';\n\n// WebGL2 classes & Extensions\nexport type {QueryProps} from './classes/query';\nexport {default as Query} from './classes/query';\nexport type {Texture3DProps} from './classes/texture-3d';\nexport {default as Texture3D} from './classes/texture-3d';\nexport type {TransformFeedbackProps} from './classes/transform-feedback';\nexport {default as TransformFeedback} from './classes/transform-feedback';\nexport type {VertexArrayObjectProps} from './classes/vertex-array-object';\nexport {default as VertexArrayObject} from './classes/vertex-array-object';\nexport type {VertexArrayProps} from './classes/vertex-array';\nexport {default as VertexArray} from './classes/vertex-array';\nexport {default as UniformBufferLayout} from './classes/uniform-buffer-layout';\n\nexport {setDeviceParameters} from './adapter/converters/set-device-parameters';\n\n// experimental WebGL exports\n\n// UTILS\nexport {\n isWebGL,\n isWebGL2,\n getWebGL2Context,\n assertWebGLContext,\n assertWebGL2Context\n} from './context/context/webgl-checks';\n\n// Device ratio\nexport {cssToDeviceRatio, cssToDevicePixels} from './context/context/device-pixels';\n\n// Unified parameter API\n\nexport type {GLParameters} from './context/parameters/webgl-parameters';\nexport {\n getParameters,\n setParameters,\n resetParameters\n} from './context/parameters/unified-parameter-api';\n\nexport {\n withParameters\n} from './context/state-tracker/with-parameters';\n\n// State tracking\nexport {\n trackContextState,\n pushContextState,\n popContextState\n} from './context/state-tracker/track-context-state';\n\n// Polyfills (supports a subset of WebGL2 APIs on WebGL1 contexts)\nexport {polyfillContext} from './context/polyfill/polyfill-context';\n\n// INTERNAL\nexport {parseUniformName, getUniformSetter} from './classes/uniforms';\nexport {getDebugTableForUniforms} from './debug/debug-uniforms';\nexport {getDebugTableForVertexArray} from './debug/debug-vertex-array';\nexport {getDebugTableForProgramConfiguration} from './debug/debug-program-configuration';\n\n// HELPERS - EXPERIMENTAL\nexport {getProgramBindings} from './helpers/get-program-bindings';\n\n// DEPRECATED\n\n// Deprecated re-exports\nexport {lumaStats} from './init';\nexport {log, assert, uid, isObjectEmpty} from '@luma.gl/api';\nexport {setPathPrefix, loadFile, loadImage} from '@luma.gl/api';\n\n// GLTOOLS\nexport type {GLContextOptions} from './_deprecated/context-api';\nexport {\n createGLContext,\n instrumentGLContext,\n resizeGLContext,\n hasFeature,\n hasFeatures,\n getFeatures,\n getContextInfo,\n getGLContextInfo,\n getContextLimits,\n getContextDebugInfo\n} from './_deprecated/context-api';\n\n// Features\nexport {DEPRECATED_FEATURES as FEATURES} from './_deprecated/features';\n\n// REMOVED in v8.7\n// getShaderInfo,\n// getShaderName\n// getShaderVersion\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;AACA;;AAKA;;AAGA;;AACA;;AAGA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;AAKA;;AACA;;AAGA;;AAGA;;AAEA;;AAUA;;AAGA;;AAMA;;AAKA;;AAOA;;AAGA;;AACA","sourcesContent":["// luma.gl Base WebGL wrapper library\n// Provides simple class/function wrappers around the low level webgl objects\n// These classes are intentionally close to the WebGL API\n// but make it easier to use.\n// Higher level abstractions can be built on these classes\n\n// Initialize any global state\nimport '@luma.gl/api';\nimport './init'\n\n// Types\nexport type {WebGLLimits} from './adapter/device-helpers/device-limits';\n\nexport {registerHeadlessGL} from './context/context/create-headless-context';\n\n// WebGL adapter classes\nexport {default as WebGLDevice} from './adapter/webgl-device';\nexport {default as WebGLCanvasContext} from './adapter/webgl-canvas-context';\n\n// WebGL Resource classes\nexport {default as WEBGLResource, default as WebGLResource} from './adapter/objects/webgl-resource';\nexport {default as WEBGLBuffer} from './adapter/resources/webgl-buffer';\nexport {default as WEBGLTexture} from './adapter/resources/webgl-texture';\n// export {default as WEBGLExternalTexture} from './adapter/resources/webgl-external-texture';\nexport {default as WEBGLShader} from './adapter/resources/webgl-shader';\nexport {default as WEBGLSampler} from './adapter/resources/webgl-sampler';\nexport {default as WEBGLFramebuffer} from './adapter/resources/webgl-framebuffer';\n\nexport {default as WEBGLRenderPipeline} from './adapter/resources/webgl-render-pipeline';\n// export {default as WEBGLComputePipeline} from './adapter/resources/webgl-compute-pipeline';\nexport {default as WEBGLCommandEncoder} from './adapter/resources/webgl-command-encoder';\nexport {default as WEBGLRenderPass} from './adapter/resources/webgl-render-pass';\n//export {default as WEBGLComputePass} from './adapter/resources/webgl-compute-pass';\n\n// non-api resources\nexport type {RenderbufferProps} from './adapter/objects/webgl-renderbuffer';\nexport {default as WEBGLRenderbuffer} from './adapter/objects/webgl-renderbuffer';\nexport {default as WEBGLVertexArrayObject} from './adapter/objects/webgl-vertex-array-object';\n\n// WebGL adapter classes (Legacy, will be moved to gltools)\nexport {default as Accessor} from './classic/accessor';\nexport type {AccessorObject} from './types';\nexport type {ClassicBufferProps, ClassicBufferProps as BufferProps} from './classic/buffer';\nexport {default as ClassicBuffer, default as Buffer} from './classic/buffer';\n\nexport {\n isWebGL,\n isWebGL2,\n getWebGL2Context,\n assertWebGLContext,\n assertWebGL2Context\n} from './context/context/webgl-checks';\n\n// Unified parameter API\n\nexport {setDeviceParameters, withDeviceParameters} from './adapter/converters/device-parameters';\n\nexport type {GLParameters} from './types/webgl';\nexport {\n getParameters,\n setParameters,\n resetParameters\n} from './context/parameters/unified-parameter-api';\n\nexport {\n withParameters\n} from './context/state-tracker/with-parameters';\n\n// State tracking\nexport {\n trackContextState,\n pushContextState,\n popContextState\n} from './context/state-tracker/track-context-state';\n\n// Polyfills (supports a subset of WebGL2 APIs on WebGL1 contexts)\nexport {polyfillContext} from './context/polyfill/polyfill-context';\n\n// HELPERS - EXPERIMENTAL\nexport {getShaderLayout, getProgramBindings} from './adapter/helpers/get-shader-layout';\nexport {_checkFloat32ColorAttachment} from './adapter/converters/texture-formats';\n"],"file":"index.js"}