@luma.gl/core 9.2.6 → 9.3.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 (282) hide show
  1. package/dist/adapter/canvas-context.d.ts +6 -162
  2. package/dist/adapter/canvas-context.d.ts.map +1 -1
  3. package/dist/adapter/canvas-context.js +5 -419
  4. package/dist/adapter/canvas-context.js.map +1 -1
  5. package/dist/adapter/canvas-observer.d.ts +32 -0
  6. package/dist/adapter/canvas-observer.d.ts.map +1 -0
  7. package/dist/adapter/canvas-observer.js +90 -0
  8. package/dist/adapter/canvas-observer.js.map +1 -0
  9. package/dist/adapter/canvas-surface.d.ts +150 -0
  10. package/dist/adapter/canvas-surface.d.ts.map +1 -0
  11. package/dist/adapter/canvas-surface.js +392 -0
  12. package/dist/adapter/canvas-surface.js.map +1 -0
  13. package/dist/adapter/device.d.ts +81 -16
  14. package/dist/adapter/device.d.ts.map +1 -1
  15. package/dist/adapter/device.js +193 -11
  16. package/dist/adapter/device.js.map +1 -1
  17. package/dist/adapter/luma.d.ts.map +1 -1
  18. package/dist/adapter/luma.js +2 -1
  19. package/dist/adapter/luma.js.map +1 -1
  20. package/dist/adapter/presentation-context.d.ts +11 -0
  21. package/dist/adapter/presentation-context.d.ts.map +1 -0
  22. package/dist/adapter/presentation-context.js +12 -0
  23. package/dist/adapter/presentation-context.js.map +1 -0
  24. package/dist/adapter/resources/buffer.d.ts +1 -1
  25. package/dist/adapter/resources/buffer.d.ts.map +1 -1
  26. package/dist/adapter/resources/buffer.js +14 -6
  27. package/dist/adapter/resources/buffer.js.map +1 -1
  28. package/dist/adapter/resources/command-buffer.d.ts +3 -1
  29. package/dist/adapter/resources/command-buffer.d.ts.map +1 -1
  30. package/dist/adapter/resources/command-buffer.js +3 -1
  31. package/dist/adapter/resources/command-buffer.js.map +1 -1
  32. package/dist/adapter/resources/command-encoder.d.ts +30 -7
  33. package/dist/adapter/resources/command-encoder.d.ts.map +1 -1
  34. package/dist/adapter/resources/command-encoder.js +68 -2
  35. package/dist/adapter/resources/command-encoder.js.map +1 -1
  36. package/dist/adapter/resources/compute-pipeline.d.ts +2 -2
  37. package/dist/adapter/resources/compute-pipeline.d.ts.map +1 -1
  38. package/dist/adapter/resources/fence.d.ts +16 -0
  39. package/dist/adapter/resources/fence.d.ts.map +1 -0
  40. package/dist/adapter/resources/fence.js +17 -0
  41. package/dist/adapter/resources/fence.js.map +1 -0
  42. package/dist/adapter/resources/framebuffer.d.ts +1 -1
  43. package/dist/adapter/resources/framebuffer.d.ts.map +1 -1
  44. package/dist/adapter/resources/framebuffer.js +15 -12
  45. package/dist/adapter/resources/framebuffer.js.map +1 -1
  46. package/dist/adapter/resources/query-set.d.ts +17 -1
  47. package/dist/adapter/resources/query-set.d.ts.map +1 -1
  48. package/dist/adapter/resources/query-set.js.map +1 -1
  49. package/dist/adapter/resources/render-pipeline.d.ts +28 -10
  50. package/dist/adapter/resources/render-pipeline.d.ts.map +1 -1
  51. package/dist/adapter/resources/render-pipeline.js +21 -2
  52. package/dist/adapter/resources/render-pipeline.js.map +1 -1
  53. package/dist/adapter/resources/resource.d.ts +13 -0
  54. package/dist/adapter/resources/resource.d.ts.map +1 -1
  55. package/dist/adapter/resources/resource.js +243 -14
  56. package/dist/adapter/resources/resource.js.map +1 -1
  57. package/dist/adapter/resources/shader.js +27 -25
  58. package/dist/adapter/resources/shader.js.map +1 -1
  59. package/dist/adapter/resources/shared-render-pipeline.d.ts +22 -0
  60. package/dist/adapter/resources/shared-render-pipeline.d.ts.map +1 -0
  61. package/dist/adapter/resources/shared-render-pipeline.js +25 -0
  62. package/dist/adapter/resources/shared-render-pipeline.js.map +1 -0
  63. package/dist/adapter/resources/texture-view.d.ts +1 -1
  64. package/dist/adapter/resources/texture-view.d.ts.map +1 -1
  65. package/dist/adapter/resources/texture.d.ts +168 -28
  66. package/dist/adapter/resources/texture.d.ts.map +1 -1
  67. package/dist/adapter/resources/texture.js +284 -25
  68. package/dist/adapter/resources/texture.js.map +1 -1
  69. package/dist/adapter/types/attachments.d.ts +1 -1
  70. package/dist/adapter/types/attachments.d.ts.map +1 -1
  71. package/dist/adapter/types/buffer-layout.d.ts +1 -1
  72. package/dist/adapter/types/buffer-layout.d.ts.map +1 -1
  73. package/dist/adapter/types/parameters.d.ts +3 -1
  74. package/dist/adapter/types/parameters.d.ts.map +1 -1
  75. package/dist/adapter/types/parameters.js +1 -0
  76. package/dist/adapter/types/parameters.js.map +1 -1
  77. package/dist/adapter/types/shader-layout.d.ts +10 -6
  78. package/dist/adapter/types/shader-layout.d.ts.map +1 -1
  79. package/dist/adapter/types/uniforms.d.ts +6 -0
  80. package/dist/adapter/types/uniforms.d.ts.map +1 -1
  81. package/dist/adapter-utils/bind-groups.d.ts +9 -0
  82. package/dist/adapter-utils/bind-groups.d.ts.map +1 -0
  83. package/dist/adapter-utils/bind-groups.js +41 -0
  84. package/dist/adapter-utils/bind-groups.js.map +1 -0
  85. package/dist/adapter-utils/format-compiler-log.d.ts.map +1 -1
  86. package/dist/adapter-utils/format-compiler-log.js +23 -15
  87. package/dist/adapter-utils/format-compiler-log.js.map +1 -1
  88. package/dist/adapter-utils/get-attribute-from-layouts.d.ts +2 -2
  89. package/dist/adapter-utils/get-attribute-from-layouts.d.ts.map +1 -1
  90. package/dist/adapter-utils/get-attribute-from-layouts.js +6 -6
  91. package/dist/adapter-utils/get-attribute-from-layouts.js.map +1 -1
  92. package/dist/dist.dev.js +2734 -644
  93. package/dist/dist.min.js +10 -9
  94. package/dist/factories/bind-group-factory.d.ts +20 -0
  95. package/dist/factories/bind-group-factory.d.ts.map +1 -0
  96. package/dist/factories/bind-group-factory.js +88 -0
  97. package/dist/factories/bind-group-factory.js.map +1 -0
  98. package/dist/factories/core-module-state.d.ts +7 -0
  99. package/dist/factories/core-module-state.d.ts.map +1 -0
  100. package/dist/{shadertypes/data-types/shader-types.js → factories/core-module-state.js} +1 -1
  101. package/dist/factories/core-module-state.js.map +1 -0
  102. package/dist/factories/pipeline-factory.d.ts +54 -0
  103. package/dist/factories/pipeline-factory.d.ts.map +1 -0
  104. package/dist/factories/pipeline-factory.js +270 -0
  105. package/dist/factories/pipeline-factory.js.map +1 -0
  106. package/dist/factories/shader-factory.d.ts +20 -0
  107. package/dist/factories/shader-factory.d.ts.map +1 -0
  108. package/dist/factories/shader-factory.js +84 -0
  109. package/dist/factories/shader-factory.js.map +1 -0
  110. package/dist/index.cjs +2447 -534
  111. package/dist/index.cjs.map +4 -4
  112. package/dist/index.d.ts +30 -14
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +19 -7
  115. package/dist/index.js.map +1 -1
  116. package/dist/portable/shader-block-writer.d.ts +51 -0
  117. package/dist/portable/shader-block-writer.d.ts.map +1 -0
  118. package/dist/portable/shader-block-writer.js +185 -0
  119. package/dist/portable/shader-block-writer.js.map +1 -0
  120. package/dist/portable/uniform-block.d.ts +1 -1
  121. package/dist/portable/uniform-block.d.ts.map +1 -1
  122. package/dist/portable/uniform-store.d.ts +55 -24
  123. package/dist/portable/uniform-store.d.ts.map +1 -1
  124. package/dist/portable/uniform-store.js +73 -25
  125. package/dist/portable/uniform-store.js.map +1 -1
  126. package/dist/shadertypes/data-types/data-type-decoder.d.ts +20 -0
  127. package/dist/shadertypes/data-types/data-type-decoder.d.ts.map +1 -0
  128. package/dist/shadertypes/data-types/data-type-decoder.js +79 -0
  129. package/dist/shadertypes/data-types/data-type-decoder.js.map +1 -0
  130. package/dist/shadertypes/data-types/data-types.d.ts +31 -12
  131. package/dist/shadertypes/data-types/data-types.d.ts.map +1 -1
  132. package/dist/shadertypes/data-types/decode-data-types.d.ts.map +1 -1
  133. package/dist/shadertypes/data-types/decode-data-types.js +4 -3
  134. package/dist/shadertypes/data-types/decode-data-types.js.map +1 -1
  135. package/dist/{image-utils → shadertypes/image-types}/image-types.d.ts +0 -6
  136. package/dist/shadertypes/image-types/image-types.d.ts.map +1 -0
  137. package/dist/shadertypes/image-types/image-types.js.map +1 -0
  138. package/dist/shadertypes/shader-types/shader-block-layout.d.ts +72 -0
  139. package/dist/shadertypes/shader-types/shader-block-layout.d.ts.map +1 -0
  140. package/dist/shadertypes/shader-types/shader-block-layout.js +209 -0
  141. package/dist/shadertypes/shader-types/shader-block-layout.js.map +1 -0
  142. package/dist/shadertypes/shader-types/shader-type-decoder.d.ts +41 -0
  143. package/dist/shadertypes/shader-types/shader-type-decoder.d.ts.map +1 -0
  144. package/dist/shadertypes/{data-types/decode-shader-types.js → shader-types/shader-type-decoder.js} +43 -4
  145. package/dist/shadertypes/shader-types/shader-type-decoder.js.map +1 -0
  146. package/dist/shadertypes/shader-types/shader-types.d.ts +101 -0
  147. package/dist/shadertypes/shader-types/shader-types.d.ts.map +1 -0
  148. package/dist/shadertypes/shader-types/shader-types.js +30 -0
  149. package/dist/shadertypes/shader-types/shader-types.js.map +1 -0
  150. package/dist/shadertypes/texture-types/pixel-utils.d.ts.map +1 -0
  151. package/dist/shadertypes/{textures → texture-types}/pixel-utils.js +4 -4
  152. package/dist/shadertypes/texture-types/pixel-utils.js.map +1 -0
  153. package/dist/shadertypes/texture-types/texture-format-decoder.d.ts +36 -0
  154. package/dist/shadertypes/texture-types/texture-format-decoder.d.ts.map +1 -0
  155. package/dist/shadertypes/{textures → texture-types}/texture-format-decoder.js +110 -38
  156. package/dist/shadertypes/texture-types/texture-format-decoder.js.map +1 -0
  157. package/dist/shadertypes/texture-types/texture-format-generics.d.ts +34 -0
  158. package/dist/shadertypes/texture-types/texture-format-generics.d.ts.map +1 -0
  159. package/dist/shadertypes/texture-types/texture-format-generics.js.map +1 -0
  160. package/dist/shadertypes/texture-types/texture-format-table.d.ts.map +1 -0
  161. package/dist/shadertypes/{textures → texture-types}/texture-format-table.js +12 -11
  162. package/dist/shadertypes/texture-types/texture-format-table.js.map +1 -0
  163. package/dist/shadertypes/{textures → texture-types}/texture-formats.d.ts +51 -17
  164. package/dist/shadertypes/texture-types/texture-formats.d.ts.map +1 -0
  165. package/dist/shadertypes/{textures → texture-types}/texture-formats.js +1 -0
  166. package/dist/shadertypes/texture-types/texture-formats.js.map +1 -0
  167. package/dist/shadertypes/texture-types/texture-layout.d.ts +5 -0
  168. package/dist/shadertypes/texture-types/texture-layout.d.ts.map +1 -0
  169. package/dist/shadertypes/texture-types/texture-layout.js +41 -0
  170. package/dist/shadertypes/texture-types/texture-layout.js.map +1 -0
  171. package/dist/shadertypes/vertex-types/vertex-format-decoder.d.ts +24 -0
  172. package/dist/shadertypes/vertex-types/vertex-format-decoder.d.ts.map +1 -0
  173. package/dist/shadertypes/vertex-types/vertex-format-decoder.js +144 -0
  174. package/dist/shadertypes/vertex-types/vertex-format-decoder.js.map +1 -0
  175. package/dist/shadertypes/vertex-types/vertex-formats.d.ts +50 -0
  176. package/dist/shadertypes/vertex-types/vertex-formats.d.ts.map +1 -0
  177. package/dist/shadertypes/vertex-types/vertex-formats.js.map +1 -0
  178. package/dist/utils/array-equal.d.ts +1 -1
  179. package/dist/utils/array-equal.d.ts.map +1 -1
  180. package/dist/utils/array-equal.js +15 -9
  181. package/dist/utils/array-equal.js.map +1 -1
  182. package/dist/utils/assert.d.ts +5 -0
  183. package/dist/utils/assert.d.ts.map +1 -0
  184. package/dist/utils/assert.js +17 -0
  185. package/dist/utils/assert.js.map +1 -0
  186. package/dist/utils/stats-manager.d.ts.map +1 -1
  187. package/dist/utils/stats-manager.js +61 -1
  188. package/dist/utils/stats-manager.js.map +1 -1
  189. package/package.json +6 -6
  190. package/src/adapter/canvas-context.ts +7 -556
  191. package/src/adapter/canvas-observer.ts +130 -0
  192. package/src/adapter/canvas-surface.ts +521 -0
  193. package/src/adapter/device.ts +311 -25
  194. package/src/adapter/luma.ts +1 -0
  195. package/src/adapter/presentation-context.ts +16 -0
  196. package/src/adapter/resources/buffer.ts +13 -5
  197. package/src/adapter/resources/command-buffer.ts +4 -2
  198. package/src/adapter/resources/command-encoder.ts +101 -10
  199. package/src/adapter/resources/compute-pipeline.ts +2 -2
  200. package/src/adapter/resources/fence.ts +32 -0
  201. package/src/adapter/resources/framebuffer.ts +16 -13
  202. package/src/adapter/resources/query-set.ts +17 -1
  203. package/src/adapter/resources/render-pipeline.ts +52 -16
  204. package/src/adapter/resources/resource.ts +289 -14
  205. package/src/adapter/resources/shader.ts +28 -28
  206. package/src/adapter/resources/shared-render-pipeline.ts +40 -0
  207. package/src/adapter/resources/texture-view.ts +1 -1
  208. package/src/adapter/resources/texture.ts +427 -49
  209. package/src/adapter/types/attachments.ts +1 -1
  210. package/src/adapter/types/buffer-layout.ts +1 -1
  211. package/src/adapter/types/parameters.ts +4 -1
  212. package/src/adapter/types/shader-layout.ts +15 -9
  213. package/src/adapter/types/uniforms.ts +12 -0
  214. package/src/adapter-utils/bind-groups.ts +71 -0
  215. package/src/adapter-utils/format-compiler-log.ts +23 -15
  216. package/src/adapter-utils/get-attribute-from-layouts.ts +8 -11
  217. package/src/factories/bind-group-factory.ts +157 -0
  218. package/src/factories/core-module-state.ts +11 -0
  219. package/src/factories/pipeline-factory.ts +328 -0
  220. package/src/factories/shader-factory.ts +103 -0
  221. package/src/index.ts +70 -26
  222. package/src/portable/shader-block-writer.ts +254 -0
  223. package/src/portable/uniform-block.ts +1 -1
  224. package/src/portable/uniform-store.ts +98 -40
  225. package/src/shadertypes/data-types/data-type-decoder.ts +105 -0
  226. package/src/shadertypes/data-types/data-types.ts +100 -48
  227. package/src/shadertypes/data-types/decode-data-types.ts +4 -3
  228. package/src/{image-utils → shadertypes/image-types}/image-types.ts +0 -7
  229. package/src/shadertypes/shader-types/shader-block-layout.ts +340 -0
  230. package/src/shadertypes/{data-types/decode-shader-types.ts → shader-types/shader-type-decoder.ts} +88 -14
  231. package/src/shadertypes/shader-types/shader-types.ts +207 -0
  232. package/src/shadertypes/{textures → texture-types}/pixel-utils.ts +4 -4
  233. package/src/shadertypes/{textures → texture-types}/texture-format-decoder.ts +167 -46
  234. package/src/shadertypes/{textures → texture-types}/texture-format-generics.ts +42 -48
  235. package/src/shadertypes/{textures → texture-types}/texture-format-table.ts +12 -11
  236. package/src/shadertypes/{textures → texture-types}/texture-formats.ts +73 -17
  237. package/src/shadertypes/texture-types/texture-layout.ts +60 -0
  238. package/src/shadertypes/vertex-types/vertex-format-decoder.ts +175 -0
  239. package/src/shadertypes/vertex-types/vertex-formats.ts +196 -0
  240. package/src/utils/array-equal.ts +21 -9
  241. package/src/utils/assert.ts +18 -0
  242. package/src/utils/stats-manager.ts +76 -2
  243. package/dist/image-utils/image-types.d.ts.map +0 -1
  244. package/dist/image-utils/image-types.js.map +0 -1
  245. package/dist/portable/uniform-buffer-layout.d.ts +0 -28
  246. package/dist/portable/uniform-buffer-layout.d.ts.map +0 -1
  247. package/dist/portable/uniform-buffer-layout.js +0 -96
  248. package/dist/portable/uniform-buffer-layout.js.map +0 -1
  249. package/dist/shadertypes/data-types/decode-shader-types.d.ts +0 -17
  250. package/dist/shadertypes/data-types/decode-shader-types.d.ts.map +0 -1
  251. package/dist/shadertypes/data-types/decode-shader-types.js.map +0 -1
  252. package/dist/shadertypes/data-types/shader-types.d.ts +0 -45
  253. package/dist/shadertypes/data-types/shader-types.d.ts.map +0 -1
  254. package/dist/shadertypes/data-types/shader-types.js.map +0 -1
  255. package/dist/shadertypes/textures/pixel-utils.d.ts.map +0 -1
  256. package/dist/shadertypes/textures/pixel-utils.js.map +0 -1
  257. package/dist/shadertypes/textures/texture-format-decoder.d.ts +0 -18
  258. package/dist/shadertypes/textures/texture-format-decoder.d.ts.map +0 -1
  259. package/dist/shadertypes/textures/texture-format-decoder.js.map +0 -1
  260. package/dist/shadertypes/textures/texture-format-generics.d.ts +0 -33
  261. package/dist/shadertypes/textures/texture-format-generics.d.ts.map +0 -1
  262. package/dist/shadertypes/textures/texture-format-generics.js.map +0 -1
  263. package/dist/shadertypes/textures/texture-format-table.d.ts.map +0 -1
  264. package/dist/shadertypes/textures/texture-format-table.js.map +0 -1
  265. package/dist/shadertypes/textures/texture-formats.d.ts.map +0 -1
  266. package/dist/shadertypes/textures/texture-formats.js.map +0 -1
  267. package/dist/shadertypes/vertex-arrays/decode-vertex-format.d.ts +0 -18
  268. package/dist/shadertypes/vertex-arrays/decode-vertex-format.d.ts.map +0 -1
  269. package/dist/shadertypes/vertex-arrays/decode-vertex-format.js +0 -100
  270. package/dist/shadertypes/vertex-arrays/decode-vertex-format.js.map +0 -1
  271. package/dist/shadertypes/vertex-arrays/vertex-formats.d.ts +0 -27
  272. package/dist/shadertypes/vertex-arrays/vertex-formats.d.ts.map +0 -1
  273. package/dist/shadertypes/vertex-arrays/vertex-formats.js.map +0 -1
  274. package/src/portable/uniform-buffer-layout.ts +0 -118
  275. package/src/shadertypes/data-types/shader-types.ts +0 -87
  276. package/src/shadertypes/vertex-arrays/decode-vertex-format.ts +0 -124
  277. package/src/shadertypes/vertex-arrays/vertex-formats.ts +0 -91
  278. /package/dist/{image-utils → shadertypes/image-types}/image-types.js +0 -0
  279. /package/dist/shadertypes/{textures → texture-types}/pixel-utils.d.ts +0 -0
  280. /package/dist/shadertypes/{textures → texture-types}/texture-format-generics.js +0 -0
  281. /package/dist/shadertypes/{textures → texture-types}/texture-format-table.d.ts +0 -0
  282. /package/dist/shadertypes/{vertex-arrays → vertex-types}/vertex-formats.js +0 -0
@@ -0,0 +1,41 @@
1
+ // luma.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { log } from "../utils/log.js";
5
+ export function getShaderLayoutBinding(shaderLayout, bindingName, options) {
6
+ const bindingLayout = shaderLayout.bindings.find(binding => binding.name === bindingName ||
7
+ `${binding.name.toLocaleLowerCase()}uniforms` === bindingName.toLocaleLowerCase());
8
+ if (!bindingLayout && !options?.ignoreWarnings) {
9
+ log.warn(`Binding ${bindingName} not set: Not found in shader layout.`)();
10
+ }
11
+ return bindingLayout || null;
12
+ }
13
+ export function normalizeBindingsByGroup(shaderLayout, bindingsOrBindGroups) {
14
+ if (!bindingsOrBindGroups) {
15
+ return {};
16
+ }
17
+ if (areBindingsGrouped(bindingsOrBindGroups)) {
18
+ const bindGroups = bindingsOrBindGroups;
19
+ return Object.fromEntries(Object.entries(bindGroups).map(([group, bindings]) => [Number(group), { ...bindings }]));
20
+ }
21
+ const bindGroups = {};
22
+ for (const [bindingName, binding] of Object.entries(bindingsOrBindGroups)) {
23
+ const bindingLayout = getShaderLayoutBinding(shaderLayout, bindingName);
24
+ const group = bindingLayout?.group ?? 0;
25
+ bindGroups[group] ||= {};
26
+ bindGroups[group][bindingName] = binding;
27
+ }
28
+ return bindGroups;
29
+ }
30
+ export function flattenBindingsByGroup(bindGroups) {
31
+ const bindings = {};
32
+ for (const groupBindings of Object.values(bindGroups)) {
33
+ Object.assign(bindings, groupBindings);
34
+ }
35
+ return bindings;
36
+ }
37
+ function areBindingsGrouped(bindingsOrBindGroups) {
38
+ const keys = Object.keys(bindingsOrBindGroups);
39
+ return keys.length > 0 && keys.every(key => /^\d+$/.test(key));
40
+ }
41
+ //# sourceMappingURL=bind-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind-groups.js","sourceRoot":"","sources":["../../src/adapter-utils/bind-groups.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AASpC,OAAO,EAAC,GAAG,EAAC,wBAAqB;AAIjC,MAAM,UAAU,sBAAsB,CACpC,YAA6B,EAC7B,WAAmB,EACnB,OAAoC;IAEpC,MAAM,aAAa,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAC9C,OAAO,CAAC,EAAE,CACR,OAAO,CAAC,IAAI,KAAK,WAAW;QAC5B,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,KAAK,WAAW,CAAC,iBAAiB,EAAE,CACpF,CAAC;IAEF,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,WAAW,WAAW,uCAAuC,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,OAAO,aAAa,IAAI,IAAI,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,YAA6B,EAC7B,oBAAiD;IAEjD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,kBAAkB,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,oBAAuC,CAAC;QAC3D,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAC,GAAG,QAAQ,EAAC,CAAC,CAAC,CACnE,CAAC;IACvB,CAAC;IAED,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAgC,CAAC,EAAE,CAAC;QACtF,MAAM,aAAa,GAAG,sBAAsB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK,IAAI,CAAC,CAAC;QACxC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,UAAU,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;IAC3C,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAA2B;IAChE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CAAC,oBAAgD;IAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"format-compiler-log.d.ts","sourceRoot":"","sources":["../../src/adapter-utils/format-compiler-log.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,6CAA0C;AAEvE,4CAA4C;AAC5C,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,eAAe,EAAE,EACrC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IACR,6FAA6F;IAC7F,cAAc,CAAC,EAAE,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GACA,MAAM,CAuCR"}
1
+ {"version":3,"file":"format-compiler-log.d.ts","sourceRoot":"","sources":["../../src/adapter-utils/format-compiler-log.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,6CAA0C;AAEvE,4CAA4C;AAC5C,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,eAAe,EAAE,EACrC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IACR,6FAA6F;IAC7F,cAAc,CAAC,EAAE,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GACA,MAAM,CA+CR"}
@@ -9,25 +9,33 @@ export function formatCompilerLog(shaderLog, source, options) {
9
9
  switch (options?.showSourceCode || 'no') {
10
10
  case 'all':
11
11
  // Parse the error - note: browser and driver dependent
12
- let currentMessage = 0;
12
+ let currentMessageIndex = 0;
13
13
  for (let lineNum = 1; lineNum <= lines.length; lineNum++) {
14
- formattedLog += getNumberedLine(lines[lineNum - 1], lineNum, options);
15
- while (log.length > currentMessage && log[currentMessage].lineNum === lineNum) {
16
- const message = log[currentMessage++];
17
- formattedLog += formatCompilerMessage(message, lines, message.lineNum, {
14
+ const line = lines[lineNum - 1];
15
+ const currentMessage = log[currentMessageIndex];
16
+ if (line && currentMessage) {
17
+ formattedLog += getNumberedLine(line, lineNum, options);
18
+ }
19
+ while (log.length > currentMessageIndex && currentMessage.lineNum === lineNum) {
20
+ const message = log[currentMessageIndex++];
21
+ if (message) {
22
+ formattedLog += formatCompilerMessage(message, lines, message.lineNum, {
23
+ ...options,
24
+ inlineSource: false
25
+ });
26
+ }
27
+ }
28
+ }
29
+ // Print any remaining messages
30
+ while (log.length > currentMessageIndex) {
31
+ const message = log[currentMessageIndex++];
32
+ if (message) {
33
+ formattedLog += formatCompilerMessage(message, [], 0, {
18
34
  ...options,
19
35
  inlineSource: false
20
36
  });
21
37
  }
22
38
  }
23
- // Print any remaining messages
24
- while (log.length > currentMessage) {
25
- const message = log[currentMessage++];
26
- formattedLog += formatCompilerMessage(message, [], 0, {
27
- ...options,
28
- inlineSource: false
29
- });
30
- }
31
39
  return formattedLog;
32
40
  case 'issues':
33
41
  case 'no':
@@ -52,9 +60,9 @@ ${numberedLines}${positionIndicator}${message.type.toUpperCase()}: ${message.mes
52
60
 
53
61
  `;
54
62
  }
55
- const color = message.type === 'error' ? 'red' : '#8B4000'; // dark orange
63
+ const color = message.type === 'error' ? 'red' : 'orange';
56
64
  return options?.html
57
- ? `<div class='luma-compiler-log-error' style="color:${color};"><b> ${message.type.toUpperCase()}: ${message.message}</b></div>`
65
+ ? `<div class='luma-compiler-log-${message.type}' style="color:${color};"><b> ${message.type.toUpperCase()}: ${message.message}</b></div>`
58
66
  : `${message.type.toUpperCase()}: ${message.message}`;
59
67
  }
60
68
  function getNumberedLines(lines, lineNum, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"format-compiler-log.js","sourceRoot":"","sources":["../../src/adapter-utils/format-compiler-log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format-compiler-log.js","sourceRoot":"","sources":["../../src/adapter-utils/format-compiler-log.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { PrimitiveDataType, NormalizedDataType } from "../shadertypes/data-types/data-types.js";
2
- import type { AttributeShaderType } from "../shadertypes/data-types/shader-types.js";
3
- import type { VertexFormat } from "../shadertypes/vertex-arrays/vertex-formats.js";
2
+ import type { AttributeShaderType } from "../shadertypes/shader-types/shader-types.js";
3
+ import type { VertexFormat } from "../shadertypes/vertex-types/vertex-formats.js";
4
4
  import type { ShaderLayout } from "../adapter/types/shader-layout.js";
5
5
  import type { BufferLayout } from "../adapter/types/buffer-layout.js";
6
6
  /** Resolved info for a buffer / attribute combination to help backend configure it correctly */
@@ -1 +1 @@
1
- {"version":3,"file":"get-attribute-from-layouts.d.ts","sourceRoot":"","sources":["../../src/adapter-utils/get-attribute-from-layouts.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,gDAA6C;AAChG,OAAO,KAAK,EAAC,mBAAmB,EAAC,kDAA+C;AAChF,OAAO,KAAK,EAAC,YAAY,EAAC,uDAAoD;AAM9E,OAAO,KAAK,EAAC,YAAY,EAAuB,0CAAuC;AACvF,OAAO,KAAK,EAAC,YAAY,EAAC,0CAAuC;AAEjE,gGAAgG;AAChG,MAAM,MAAM,aAAa,GAAG;IAC1B,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,UAAU,EAAE,mBAAmB,CAAC;IAChC,+EAA+E;IAC/E,aAAa,EAAE,iBAAiB,CAAC;IACjC,yFAAyF;IACzF,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,0GAA0G;IAC1G,OAAO,EAAE,OAAO,CAAC;IAEjB,iBAAiB;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,6DAA6D;IAC7D,cAAc,EAAE,kBAAkB,CAAC;IACnC,iFAAiF;IACjF,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,uEAAuE;IACvE,UAAU,EAAE,OAAO,CAAC;IAEpB,mHAAmH;IACnH,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAC;IAEhC,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAWF;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAS/B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAAE,EAC5B,mBAAmB,GAAE,MAAW,GAC/B,aAAa,EAAE,CAOjB"}
1
+ {"version":3,"file":"get-attribute-from-layouts.d.ts","sourceRoot":"","sources":["../../src/adapter-utils/get-attribute-from-layouts.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,gDAA6C;AAChG,OAAO,KAAK,EAAC,mBAAmB,EAAC,oDAAiD;AAClF,OAAO,KAAK,EAAC,YAAY,EAAC,sDAAmD;AAG7E,OAAO,KAAK,EAAC,YAAY,EAAuB,0CAAuC;AACvF,OAAO,KAAK,EAAC,YAAY,EAAC,0CAAuC;AAEjE,gGAAgG;AAChG,MAAM,MAAM,aAAa,GAAG;IAC1B,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,UAAU,EAAE,mBAAmB,CAAC;IAChC,+EAA+E;IAC/E,aAAa,EAAE,iBAAiB,CAAC;IACjC,yFAAyF;IACzF,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,0GAA0G;IAC1G,OAAO,EAAE,OAAO,CAAC;IAEjB,iBAAiB;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,6DAA6D;IAC7D,cAAc,EAAE,kBAAkB,CAAC;IACnC,iFAAiF;IACjF,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,uEAAuE;IACvE,UAAU,EAAE,OAAO,CAAC;IAEpB,mHAAmH;IACnH,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAC;IAEhC,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAWF;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAS/B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAAE,EAC5B,mBAAmB,GAAE,MAAW,GAC/B,aAAa,EAAE,CAOjB"}
@@ -2,8 +2,8 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
  import { log } from "../utils/log.js";
5
- import { getAttributeShaderTypeInfo } from "../shadertypes/data-types/decode-shader-types.js";
6
- import { getVertexFormatInfo, getCompatibleVertexFormat } from "../shadertypes/vertex-arrays/decode-vertex-format.js";
5
+ import { shaderTypeDecoder } from "../shadertypes/shader-types/shader-type-decoder.js";
6
+ import { vertexFormatDecoder } from "../shadertypes/vertex-types/vertex-format-decoder.js";
7
7
  /**
8
8
  * Map from "attribute names" to "resolved attribute infos"
9
9
  * containing information about both buffer layouts and shader attribute declarations
@@ -40,10 +40,10 @@ function getAttributeInfoFromLayouts(shaderLayout, bufferLayout, name) {
40
40
  // || !bufferMapping
41
41
  return null;
42
42
  }
43
- const attributeTypeInfo = getAttributeShaderTypeInfo(shaderDeclaration.type);
44
- const defaultVertexFormat = getCompatibleVertexFormat(attributeTypeInfo);
43
+ const attributeTypeInfo = shaderTypeDecoder.getAttributeShaderTypeInfo(shaderDeclaration.type);
44
+ const defaultVertexFormat = vertexFormatDecoder.getCompatibleVertexFormat(attributeTypeInfo);
45
45
  const vertexFormat = bufferMapping?.vertexFormat || defaultVertexFormat;
46
- const vertexFormatInfo = getVertexFormatInfo(vertexFormat);
46
+ const vertexFormatInfo = vertexFormatDecoder.getVertexFormatInfo(vertexFormat);
47
47
  return {
48
48
  attributeName: bufferMapping?.attributeName || shaderDeclaration.name,
49
49
  bufferName: bufferMapping?.bufferName || shaderDeclaration.name,
@@ -121,7 +121,7 @@ function getAttributeFromAttributesList(bufferLayouts, name) {
121
121
  // Calculate a default byte stride if not provided
122
122
  if (typeof bufferLayout.byteStride !== 'number') {
123
123
  for (const attributeMapping of bufferLayout.attributes || []) {
124
- const info = getVertexFormatInfo(attributeMapping.format);
124
+ const info = vertexFormatDecoder.getVertexFormatInfo(attributeMapping.format);
125
125
  // @ts-ignore
126
126
  byteStride += info.byteLength;
127
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-attribute-from-layouts.js","sourceRoot":"","sources":["../../src/adapter-utils/get-attribute-from-layouts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-attribute-from-layouts.js","sourceRoot":"","sources":["../../src/adapter-utils/get-attribute-from-layouts.ts"],"names":[],"mappings":"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"}