@luma.gl/core 9.0.10 → 9.1.0-alpha.1

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 (236) hide show
  1. package/dist/adapter/canvas-context.d.ts +5 -0
  2. package/dist/adapter/canvas-context.d.ts.map +1 -1
  3. package/dist/adapter/device.d.ts +10 -8
  4. package/dist/adapter/device.d.ts.map +1 -1
  5. package/dist/adapter/device.js +20 -18
  6. package/dist/{lib → adapter}/luma.d.ts +2 -2
  7. package/dist/adapter/luma.d.ts.map +1 -0
  8. package/dist/{lib → adapter}/luma.js +7 -7
  9. package/dist/adapter/resources/buffer.js +5 -5
  10. package/dist/adapter/resources/compute-pipeline.d.ts +2 -0
  11. package/dist/adapter/resources/compute-pipeline.d.ts.map +1 -1
  12. package/dist/adapter/resources/compute-pipeline.js +3 -0
  13. package/dist/adapter/resources/external-texture.d.ts +1 -1
  14. package/dist/adapter/resources/external-texture.d.ts.map +1 -1
  15. package/dist/adapter/resources/external-texture.js +1 -1
  16. package/dist/adapter/resources/framebuffer.d.ts +3 -3
  17. package/dist/adapter/resources/framebuffer.d.ts.map +1 -1
  18. package/dist/adapter/resources/framebuffer.js +2 -83
  19. package/dist/adapter/resources/render-pass.d.ts +2 -2
  20. package/dist/adapter/resources/render-pass.d.ts.map +1 -1
  21. package/dist/adapter/resources/render-pipeline.d.ts +2 -5
  22. package/dist/adapter/resources/render-pipeline.d.ts.map +1 -1
  23. package/dist/adapter/resources/resource.d.ts +3 -3
  24. package/dist/adapter/resources/resource.d.ts.map +1 -1
  25. package/dist/adapter/resources/resource.js +1 -1
  26. package/dist/adapter/resources/shader.d.ts +5 -2
  27. package/dist/adapter/resources/shader.d.ts.map +1 -1
  28. package/dist/adapter/resources/shader.js +15 -9
  29. package/dist/adapter/resources/texture-view.d.ts +1 -1
  30. package/dist/adapter/resources/texture-view.d.ts.map +1 -1
  31. package/dist/adapter/resources/texture.d.ts +111 -49
  32. package/dist/adapter/resources/texture.d.ts.map +1 -1
  33. package/dist/adapter/resources/texture.js +96 -12
  34. package/dist/adapter/resources/transform-feedback.d.ts +1 -1
  35. package/dist/adapter/resources/transform-feedback.d.ts.map +1 -1
  36. package/dist/adapter/resources/vertex-array.d.ts +1 -1
  37. package/dist/adapter/resources/vertex-array.d.ts.map +1 -1
  38. package/dist/adapter/resources/vertex-array.js +6 -2
  39. package/dist/adapter/types/{types.d.ts → attachments.d.ts} +5 -16
  40. package/dist/adapter/types/attachments.d.ts.map +1 -0
  41. package/dist/adapter/types/buffer-layout.d.ts +1 -1
  42. package/dist/adapter/types/buffer-layout.d.ts.map +1 -1
  43. package/dist/adapter/types/compiler-message.d.ts.map +1 -0
  44. package/dist/adapter/types/parameters.d.ts +2 -6
  45. package/dist/adapter/types/parameters.d.ts.map +1 -1
  46. package/dist/adapter/types/shader-layout.d.ts +23 -3
  47. package/dist/adapter/types/shader-layout.d.ts.map +1 -1
  48. package/dist/adapter/types/uniforms.d.ts +4 -0
  49. package/dist/adapter/types/uniforms.d.ts.map +1 -0
  50. package/dist/{lib/compiler-log → adapter-utils}/format-compiler-log.d.ts +1 -1
  51. package/dist/adapter-utils/format-compiler-log.d.ts.map +1 -0
  52. package/dist/{adapter/attribute-utils → adapter-utils}/get-attribute-from-layouts.d.ts +4 -11
  53. package/dist/adapter-utils/get-attribute-from-layouts.d.ts.map +1 -0
  54. package/dist/{adapter/attribute-utils → adapter-utils}/get-attribute-from-layouts.js +10 -30
  55. package/dist/adapter-utils/is-uniform-value.d.ts +3 -0
  56. package/dist/adapter-utils/is-uniform-value.d.ts.map +1 -0
  57. package/dist/adapter-utils/is-uniform-value.js +7 -0
  58. package/dist/dist.dev.js +266 -588
  59. package/dist/dist.min.js +4 -4
  60. package/dist/{adapter/type-utils → gpu-type-utils}/decode-attribute-type.d.ts +3 -3
  61. package/dist/gpu-type-utils/decode-attribute-type.d.ts.map +1 -0
  62. package/dist/{adapter/type-utils → gpu-type-utils}/decode-data-type.d.ts +1 -1
  63. package/dist/gpu-type-utils/decode-data-type.d.ts.map +1 -0
  64. package/dist/{adapter/type-utils → gpu-type-utils}/decode-shader-types.d.ts +1 -1
  65. package/dist/gpu-type-utils/decode-shader-types.d.ts.map +1 -0
  66. package/dist/{adapter/type-utils → gpu-type-utils}/decode-shader-types.js +0 -2
  67. package/dist/{adapter/type-utils → gpu-type-utils}/decode-texture-format.d.ts +2 -2
  68. package/dist/gpu-type-utils/decode-texture-format.d.ts.map +1 -0
  69. package/dist/{adapter/type-utils → gpu-type-utils}/decode-vertex-format.d.ts +1 -1
  70. package/dist/gpu-type-utils/decode-vertex-format.d.ts.map +1 -0
  71. package/dist/gpu-type-utils/shader-types.d.ts.map +1 -0
  72. package/dist/{adapter/types → gpu-type-utils}/texture-formats.d.ts +1 -1
  73. package/dist/gpu-type-utils/texture-formats.d.ts.map +1 -0
  74. package/dist/{adapter/type-utils → gpu-type-utils}/vertex-format-from-attribute.d.ts +2 -2
  75. package/dist/gpu-type-utils/vertex-format-from-attribute.d.ts.map +1 -0
  76. package/dist/gpu-type-utils/vertex-formats.d.ts.map +1 -0
  77. package/dist/{adapter/type-utils → gpu-type-utils}/wgsl-utils.d.ts +1 -1
  78. package/dist/gpu-type-utils/wgsl-utils.d.ts.map +1 -0
  79. package/dist/index.cjs +190 -411
  80. package/dist/index.cjs.map +4 -4
  81. package/dist/index.d.ts +28 -42
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +19 -36
  84. package/dist/init.js +1 -1
  85. package/dist/{lib/uniforms → portable}/uniform-block.d.ts +3 -3
  86. package/dist/portable/uniform-block.d.ts.map +1 -0
  87. package/dist/{lib/uniforms → portable}/uniform-block.js +2 -2
  88. package/dist/{lib/uniforms → portable}/uniform-buffer-layout.d.ts +2 -2
  89. package/dist/portable/uniform-buffer-layout.d.ts.map +1 -0
  90. package/dist/{lib/uniforms → portable}/uniform-buffer-layout.js +6 -7
  91. package/dist/{lib/uniforms → portable}/uniform-store.d.ts +4 -4
  92. package/dist/portable/uniform-store.d.ts.map +1 -0
  93. package/dist/{lib/uniforms → portable}/uniform-store.js +11 -9
  94. package/dist/types.d.ts +0 -10
  95. package/dist/types.d.ts.map +1 -1
  96. package/dist/utils/array-equal.d.ts.map +1 -1
  97. package/dist/utils/array-equal.js +6 -7
  98. package/dist/utils/array-utils-flat.d.ts +1 -7
  99. package/dist/utils/array-utils-flat.d.ts.map +1 -1
  100. package/dist/utils/array-utils-flat.js +0 -23
  101. package/dist/utils/is-array.d.ts +2 -2
  102. package/dist/utils/is-array.d.ts.map +1 -1
  103. package/dist/utils/is-array.js +2 -2
  104. package/dist/utils/uid.d.ts +7 -0
  105. package/dist/utils/uid.d.ts.map +1 -0
  106. package/dist/utils/{utils.js → uid.js} +0 -11
  107. package/package.json +5 -5
  108. package/src/adapter/canvas-context.ts +6 -0
  109. package/src/adapter/device.ts +34 -31
  110. package/src/{lib → adapter}/luma.ts +9 -9
  111. package/src/adapter/resources/buffer.ts +5 -5
  112. package/src/adapter/resources/command-encoder.ts +1 -1
  113. package/src/adapter/resources/compute-pass.ts +3 -3
  114. package/src/adapter/resources/compute-pipeline.ts +6 -3
  115. package/src/adapter/resources/external-texture.ts +2 -2
  116. package/src/adapter/resources/framebuffer.ts +5 -92
  117. package/src/adapter/resources/query-set.ts +2 -2
  118. package/src/adapter/resources/render-pass.ts +11 -7
  119. package/src/adapter/resources/render-pipeline.ts +3 -6
  120. package/src/adapter/resources/resource.ts +7 -7
  121. package/src/adapter/resources/shader.ts +18 -11
  122. package/src/adapter/resources/texture-view.ts +5 -5
  123. package/src/adapter/resources/texture.ts +226 -77
  124. package/src/adapter/resources/transform-feedback.ts +1 -1
  125. package/src/adapter/resources/vertex-array.ts +7 -3
  126. package/src/adapter/types/{types.ts → attachments.ts} +8 -17
  127. package/src/adapter/types/buffer-layout.ts +1 -1
  128. package/src/adapter/types/parameters.ts +10 -14
  129. package/src/adapter/types/shader-layout.ts +31 -29
  130. package/src/adapter/types/uniforms.ts +10 -0
  131. package/src/{lib/compiler-log → adapter-utils}/format-compiler-log.ts +1 -1
  132. package/src/{adapter/attribute-utils → adapter-utils}/get-attribute-from-layouts.ts +18 -42
  133. package/src/adapter-utils/is-uniform-value.ts +10 -0
  134. package/src/{adapter/type-utils → gpu-type-utils}/decode-attribute-type.ts +3 -3
  135. package/src/{adapter/type-utils → gpu-type-utils}/decode-data-type.ts +1 -1
  136. package/src/{adapter/type-utils → gpu-type-utils}/decode-shader-types.ts +1 -3
  137. package/src/{adapter/type-utils → gpu-type-utils}/decode-texture-format.ts +2 -2
  138. package/src/{adapter/type-utils → gpu-type-utils}/decode-vertex-format.ts +1 -1
  139. package/src/{adapter/types → gpu-type-utils}/texture-formats.ts +1 -1
  140. package/src/{adapter/type-utils → gpu-type-utils}/vertex-format-from-attribute.ts +2 -2
  141. package/src/{adapter/type-utils → gpu-type-utils}/wgsl-utils.ts +1 -1
  142. package/src/index.ts +69 -84
  143. package/src/{lib/uniforms → portable}/uniform-block.ts +5 -5
  144. package/src/{lib/uniforms → portable}/uniform-buffer-layout.ts +9 -9
  145. package/src/{lib/uniforms → portable}/uniform-store.ts +14 -12
  146. package/src/types.ts +0 -12
  147. package/src/utils/array-equal.ts +6 -7
  148. package/src/utils/array-utils-flat.ts +1 -31
  149. package/src/utils/is-array.ts +4 -4
  150. package/src/utils/{utils.ts → uid.ts} +0 -12
  151. package/dist/adapter/attribute-utils/get-attribute-from-layouts.d.ts.map +0 -1
  152. package/dist/adapter/type-utils/decode-attribute-type.d.ts.map +0 -1
  153. package/dist/adapter/type-utils/decode-data-type.d.ts.map +0 -1
  154. package/dist/adapter/type-utils/decode-shader-types.d.ts.map +0 -1
  155. package/dist/adapter/type-utils/decode-texture-format.d.ts.map +0 -1
  156. package/dist/adapter/type-utils/decode-vertex-format.d.ts.map +0 -1
  157. package/dist/adapter/type-utils/vertex-format-from-attribute.d.ts.map +0 -1
  158. package/dist/adapter/type-utils/wgsl-utils.d.ts.map +0 -1
  159. package/dist/adapter/types/accessor.d.ts +0 -23
  160. package/dist/adapter/types/accessor.d.ts.map +0 -1
  161. package/dist/adapter/types/shader-types.d.ts.map +0 -1
  162. package/dist/adapter/types/texture-formats.d.ts.map +0 -1
  163. package/dist/adapter/types/types.d.ts.map +0 -1
  164. package/dist/adapter/types/vertex-formats.d.ts.map +0 -1
  165. package/dist/lib/compiler-log/compiler-message.d.ts.map +0 -1
  166. package/dist/lib/compiler-log/format-compiler-log.d.ts.map +0 -1
  167. package/dist/lib/compiler-log/get-shader-info.d.ts +0 -9
  168. package/dist/lib/compiler-log/get-shader-info.d.ts.map +0 -1
  169. package/dist/lib/compiler-log/get-shader-info.js +0 -29
  170. package/dist/lib/luma.d.ts.map +0 -1
  171. package/dist/lib/uniforms/uniform-block.d.ts.map +0 -1
  172. package/dist/lib/uniforms/uniform-buffer-layout.d.ts.map +0 -1
  173. package/dist/lib/uniforms/uniform-store.d.ts.map +0 -1
  174. package/dist/lib/uniforms/uniform.d.ts +0 -10
  175. package/dist/lib/uniforms/uniform.d.ts.map +0 -1
  176. package/dist/lib/uniforms/uniform.js +0 -20
  177. package/dist/utils/assert.d.ts +0 -2
  178. package/dist/utils/assert.d.ts.map +0 -1
  179. package/dist/utils/assert.js +0 -10
  180. package/dist/utils/cast.d.ts +0 -3
  181. package/dist/utils/cast.d.ts.map +0 -1
  182. package/dist/utils/cast.js +0 -7
  183. package/dist/utils/check-props.d.ts +0 -7
  184. package/dist/utils/check-props.d.ts.map +0 -1
  185. package/dist/utils/check-props.js +0 -36
  186. package/dist/utils/deep-equal.d.ts +0 -9
  187. package/dist/utils/deep-equal.d.ts.map +0 -1
  188. package/dist/utils/deep-equal.js +0 -50
  189. package/dist/utils/format-value.d.ts +0 -7
  190. package/dist/utils/format-value.d.ts.map +0 -1
  191. package/dist/utils/format-value.js +0 -39
  192. package/dist/utils/load-file.d.ts +0 -35
  193. package/dist/utils/load-file.d.ts.map +0 -1
  194. package/dist/utils/load-file.js +0 -74
  195. package/dist/utils/random.d.ts +0 -5
  196. package/dist/utils/random.d.ts.map +0 -1
  197. package/dist/utils/random.js +0 -18
  198. package/dist/utils/request-animation-frame.d.ts +0 -3
  199. package/dist/utils/request-animation-frame.d.ts.map +0 -1
  200. package/dist/utils/request-animation-frame.js +0 -16
  201. package/dist/utils/stub-methods.d.ts +0 -2
  202. package/dist/utils/stub-methods.d.ts.map +0 -1
  203. package/dist/utils/stub-methods.js +0 -19
  204. package/dist/utils/utils.d.ts +0 -9
  205. package/dist/utils/utils.d.ts.map +0 -1
  206. package/src/adapter/types/accessor.ts +0 -37
  207. package/src/lib/compiler-log/get-shader-info.ts +0 -42
  208. package/src/lib/uniforms/uniform.ts +0 -31
  209. package/src/utils/assert.ts +0 -11
  210. package/src/utils/cast.ts +0 -8
  211. package/src/utils/check-props.ts +0 -82
  212. package/src/utils/deep-equal.ts +0 -51
  213. package/src/utils/format-value.ts +0 -47
  214. package/src/utils/load-file.ts +0 -91
  215. package/src/utils/random.ts +0 -21
  216. package/src/utils/request-animation-frame.ts +0 -19
  217. package/src/utils/stub-methods.ts +0 -29
  218. /package/dist/adapter/types/{accessor.js → attachments.js} +0 -0
  219. /package/dist/{lib/compiler-log → adapter/types}/compiler-message.d.ts +0 -0
  220. /package/dist/{lib/compiler-log → adapter/types}/compiler-message.js +0 -0
  221. /package/dist/adapter/types/{shader-types.js → uniforms.js} +0 -0
  222. /package/dist/{lib/compiler-log → adapter-utils}/format-compiler-log.js +0 -0
  223. /package/dist/{adapter/type-utils → gpu-type-utils}/decode-attribute-type.js +0 -0
  224. /package/dist/{adapter/type-utils → gpu-type-utils}/decode-data-type.js +0 -0
  225. /package/dist/{adapter/type-utils → gpu-type-utils}/decode-texture-format.js +0 -0
  226. /package/dist/{adapter/type-utils → gpu-type-utils}/decode-vertex-format.js +0 -0
  227. /package/dist/{adapter/types → gpu-type-utils}/shader-types.d.ts +0 -0
  228. /package/dist/{adapter/types/texture-formats.js → gpu-type-utils/shader-types.js} +0 -0
  229. /package/dist/{adapter/types/types.js → gpu-type-utils/texture-formats.js} +0 -0
  230. /package/dist/{adapter/type-utils → gpu-type-utils}/vertex-format-from-attribute.js +0 -0
  231. /package/dist/{adapter/types → gpu-type-utils}/vertex-formats.d.ts +0 -0
  232. /package/dist/{adapter/types → gpu-type-utils}/vertex-formats.js +0 -0
  233. /package/dist/{adapter/type-utils → gpu-type-utils}/wgsl-utils.js +0 -0
  234. /package/src/{lib/compiler-log → adapter/types}/compiler-message.ts +0 -0
  235. /package/src/{adapter/types → gpu-type-utils}/shader-types.ts +0 -0
  236. /package/src/{adapter/types → gpu-type-utils}/vertex-formats.ts +0 -0
package/dist/index.d.ts CHANGED
@@ -1,8 +1,5 @@
1
1
  export { VERSION } from "./init.js";
2
- export type { ConstructorOf, PartialBy } from "./types.js";
3
- export type { TypedArray, TypedArrayConstructor, NumberArray, BigIntOrNumberArray } from "./types.js";
4
- export { isTypedArray, isNumberArray } from "./utils/is-array.js";
5
- export { luma } from "./lib/luma.js";
2
+ export { luma } from "./adapter/luma.js";
6
3
  export type { DeviceProps, DeviceInfo, DeviceFeature } from "./adapter/device.js";
7
4
  export { Device, DeviceFeatures, DeviceLimits } from "./adapter/device.js";
8
5
  export type { CanvasContextProps } from "./adapter/canvas-context.js";
@@ -11,7 +8,7 @@ export type { ResourceProps } from "./adapter/resources/resource.js";
11
8
  export { Resource } from "./adapter/resources/resource.js";
12
9
  export type { BufferProps } from "./adapter/resources/buffer.js";
13
10
  export { Buffer } from "./adapter/resources/buffer.js";
14
- export type { TextureProps, TextureData } from "./adapter/resources/texture.js";
11
+ export type { TextureProps } from "./adapter/resources/texture.js";
15
12
  export { Texture } from "./adapter/resources/texture.js";
16
13
  export type { TextureViewProps } from "./adapter/resources/texture-view.js";
17
14
  export { TextureView } from "./adapter/resources/texture-view.js";
@@ -41,46 +38,35 @@ export type { TransformFeedbackProps, BufferRange } from "./adapter/resources/tr
41
38
  export { TransformFeedback } from "./adapter/resources/transform-feedback.js";
42
39
  export type { QuerySetProps } from "./adapter/resources/query-set.js";
43
40
  export { QuerySet } from "./adapter/resources/query-set.js";
44
- export type { AccessorObject } from "./adapter/types/accessor.js";
45
- export type { Parameters, PrimitiveTopology, IndexFormat, CullMode, FrontFace, RasterizationParameters, CompareFunction, StencilOperation, DepthStencilParameters, BlendFactor, BlendOperation, ColorParameters, MultisampleParameters, RenderPassParameters, RenderPipelineParameters, PolygonMode, ProvokingVertex } from "./adapter/types/parameters.js";
46
- export type { VertexFormat, VertexType } from "./adapter/types/vertex-formats.js";
47
- export type { TextureFormat, ColorTextureFormat, DepthStencilTextureFormat } from "./adapter/types/texture-formats.js";
48
- export type { ShaderDataType, ShaderAttributeType, ShaderUniformType } from "./adapter/types/shader-types.js";
49
- export type { ColorAttachment, DepthStencilAttachment } from "./adapter/types/types.js";
41
+ export { UniformBufferLayout } from "./portable/uniform-buffer-layout.js";
42
+ export { UniformBlock } from "./portable/uniform-block.js";
43
+ export { UniformStore } from "./portable/uniform-store.js";
44
+ export type { CompilerMessage } from "./adapter/types/compiler-message.js";
45
+ export type { TextureCompressionFormat, TextureCubeFace, TextureLevelData, ExternalImage, TextureData, Texture1DData, Texture2DData, Texture3DData, TextureCubeData, TextureArrayData, TextureCubeArrayData } from "./adapter/resources/texture.js";
46
+ export type { Parameters, PrimitiveTopology, IndexFormat } from "./adapter/types/parameters.js";
47
+ export type { CullMode, FrontFace, RasterizationParameters, CompareFunction, StencilOperation, DepthStencilParameters, BlendFactor, BlendOperation, ColorParameters, MultisampleParameters, RenderPassParameters, RenderPipelineParameters, PolygonMode, ProvokingVertex } from "./adapter/types/parameters.js";
48
+ export type { ColorAttachment, DepthStencilAttachment } from "./adapter/types/attachments.js";
50
49
  export type { ShaderLayout, ComputeShaderLayout, AttributeDeclaration, BindingDeclaration, Binding } from "./adapter/types/shader-layout.js";
51
50
  export type { BufferLayout, BufferAttributeLayout } from "./adapter/types/buffer-layout.js";
52
51
  export type { AttributeBinding, UniformBinding, UniformBlockBinding, VaryingBinding } from "./adapter/types/shader-layout.js";
53
- export type { UniformValue } from "./adapter/types/types.js";
54
- export { UniformBufferLayout } from "./lib/uniforms/uniform-buffer-layout.js";
55
- export { UniformBlock } from "./lib/uniforms/uniform-block.js";
56
- export { UniformStore } from "./lib/uniforms/uniform-store.js";
57
- export { decodeVertexFormat } from "./adapter/type-utils/decode-vertex-format.js";
58
- export { decodeTextureFormat } from "./adapter/type-utils/decode-texture-format.js";
59
- export { getDataTypeFromTypedArray, getTypedArrayFromDataType, getVertexFormatFromAttribute } from "./adapter/type-utils/vertex-format-from-attribute.js";
60
- export { decodeShaderUniformType } from "./adapter/type-utils/decode-shader-types.js";
61
- export { decodeShaderAttributeType } from "./adapter/type-utils/decode-attribute-type.js";
62
- export type { CompilerMessage } from "./lib/compiler-log/compiler-message.js";
63
- export { formatCompilerLog } from "./lib/compiler-log/format-compiler-log.js";
64
- export type { AttributeInfo } from "./adapter/attribute-utils/get-attribute-from-layouts.js";
65
- export { getAttributeInfosFromLayouts, mergeShaderLayout } from "./adapter/attribute-utils/get-attribute-from-layouts.js";
66
- export { StatsManager } from "./utils/stats-manager.js";
67
- export { assert } from "./utils/assert.js";
68
- export { cast } from "./utils/cast.js";
69
- export { log } from "./utils/log.js";
70
- export { uid, isObjectEmpty } from "./utils/utils.js";
71
- export { isUniformValue, splitUniformsAndBindings } from "./lib/uniforms/uniform.js";
72
- export { formatValue } from "./utils/format-value.js";
73
- export { stubRemovedMethods } from "./utils/stub-methods.js";
74
- export { checkProps } from "./utils/check-props.js";
75
- export { setPathPrefix, loadFile, loadImage, loadImageBitmap, loadScript } from "./utils/load-file.js";
76
- export { getScratchArrayBuffer, getScratchArray, fillArray } from "./utils/array-utils-flat.js";
77
- export { makeRandomNumberGenerator, random } from "./utils/random.js";
78
- export { deepEqual } from "./utils/deep-equal.js";
79
- export { requestAnimationFrame, cancelAnimationFrame } from "./utils/request-animation-frame.js";
80
- /**
81
- * Marks GLSL shaders for syntax highlighting: glsl`...`
82
- * Install https://marketplace.visualstudio.com/items?itemName=boyswan.glsl-literal
83
- */
52
+ export type { UniformValue } from "./adapter/types/uniforms.js";
53
+ export type { NumberArray } from "./types.js";
54
+ export type { VertexFormat, VertexType } from "./gpu-type-utils/vertex-formats.js";
55
+ export type { ShaderDataType, ShaderAttributeType, ShaderUniformType } from "./gpu-type-utils/shader-types.js";
56
+ export type { TextureFormat, ColorTextureFormat, DepthStencilTextureFormat } from "./gpu-type-utils/texture-formats.js";
57
+ export { decodeVertexFormat } from "./gpu-type-utils/decode-vertex-format.js";
58
+ export { decodeTextureFormat } from "./gpu-type-utils/decode-texture-format.js";
59
+ export { decodeShaderUniformType } from "./gpu-type-utils/decode-shader-types.js";
60
+ export { decodeShaderAttributeType } from "./gpu-type-utils/decode-attribute-type.js";
61
+ export { getDataTypeFromTypedArray } from "./gpu-type-utils/vertex-format-from-attribute.js";
62
+ export { getTypedArrayFromDataType } from "./gpu-type-utils/vertex-format-from-attribute.js";
63
+ export { getVertexFormatFromAttribute } from "./gpu-type-utils/vertex-format-from-attribute.js";
64
+ export type { StatsManager } from "./utils/stats-manager.js";
65
+ /** GLSL syntax highlighting: glsl`...` Install https://marketplace.visualstudio.com/items?itemName=boyswan.glsl-literal */
84
66
  export declare const glsl: (x: TemplateStringsArray) => string;
85
67
  export type { CopyBufferToBufferOptions, CopyBufferToTextureOptions, CopyTextureToBufferOptions, CopyTextureToTextureOptions } from "./adapter/resources/command-encoder.js";
68
+ export type { AttributeInfo } from "./adapter-utils/get-attribute-from-layouts.js";
69
+ export { getAttributeInfosFromLayouts } from "./adapter-utils/get-attribute-from-layouts.js";
70
+ export { getScratchArrayBuffer, getScratchArray } from "./utils/array-utils-flat.js";
71
+ export { log } from "./utils/log.js";
86
72
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -2,9 +2,8 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
  export { VERSION } from "./init.js";
5
- export { isTypedArray, isNumberArray } from "./utils/is-array.js";
6
- // MAIN API ACCESS POINTS
7
- export { luma } from "./lib/luma.js";
5
+ // MAIN API ACCESS POINT
6
+ export { luma } from "./adapter/luma.js";
8
7
  export { Device, DeviceFeatures, DeviceLimits } from "./adapter/device.js";
9
8
  export { CanvasContext } from "./adapter/canvas-context.js";
10
9
  export { Resource } from "./adapter/resources/resource.js";
@@ -24,37 +23,21 @@ export { CommandBuffer } from "./adapter/resources/command-buffer.js";
24
23
  export { VertexArray } from "./adapter/resources/vertex-array.js";
25
24
  export { TransformFeedback } from "./adapter/resources/transform-feedback.js";
26
25
  export { QuerySet } from "./adapter/resources/query-set.js";
27
- export { UniformBufferLayout } from "./lib/uniforms/uniform-buffer-layout.js";
28
- export { UniformBlock } from "./lib/uniforms/uniform-block.js";
29
- export { UniformStore } from "./lib/uniforms/uniform-store.js";
30
- // TYPE UTILS
31
- export { decodeVertexFormat } from "./adapter/type-utils/decode-vertex-format.js";
32
- export { decodeTextureFormat } from "./adapter/type-utils/decode-texture-format.js";
33
- export { getDataTypeFromTypedArray, getTypedArrayFromDataType, getVertexFormatFromAttribute } from "./adapter/type-utils/vertex-format-from-attribute.js";
34
- // SHADER TYPE UTILS
35
- export { decodeShaderUniformType } from "./adapter/type-utils/decode-shader-types.js";
36
- export { decodeShaderAttributeType } from "./adapter/type-utils/decode-attribute-type.js";
37
- export { formatCompilerLog } from "./lib/compiler-log/format-compiler-log.js";
38
- export { getAttributeInfosFromLayouts, mergeShaderLayout } from "./adapter/attribute-utils/get-attribute-from-layouts.js";
39
- // GENERAL UTILS
40
- export { StatsManager } from "./utils/stats-manager.js";
41
- export { assert } from "./utils/assert.js";
42
- export { cast } from "./utils/cast.js";
43
- export { log } from "./utils/log.js";
44
- export { uid, isObjectEmpty } from "./utils/utils.js";
45
- export { isUniformValue, splitUniformsAndBindings } from "./lib/uniforms/uniform.js";
46
- export { formatValue } from "./utils/format-value.js";
47
- export { stubRemovedMethods } from "./utils/stub-methods.js";
48
- export { checkProps } from "./utils/check-props.js";
49
- export { setPathPrefix, loadFile, loadImage, loadImageBitmap, loadScript } from "./utils/load-file.js";
50
- export { getScratchArrayBuffer, getScratchArray, fillArray } from "./utils/array-utils-flat.js";
51
- export { makeRandomNumberGenerator, random } from "./utils/random.js";
52
- export { deepEqual } from "./utils/deep-equal.js";
53
- // ENGINE - TODO/move to @luma.gl/engine once that module is webgl-independent?
54
- export { requestAnimationFrame, cancelAnimationFrame } from "./utils/request-animation-frame.js";
55
- // SHADER HELPERS
56
- /**
57
- * Marks GLSL shaders for syntax highlighting: glsl`...`
58
- * Install https://marketplace.visualstudio.com/items?itemName=boyswan.glsl-literal
59
- */
26
+ // PORTABLE API - UNIFORM BUFFERS
27
+ export { UniformBufferLayout } from "./portable/uniform-buffer-layout.js";
28
+ export { UniformBlock } from "./portable/uniform-block.js";
29
+ export { UniformStore } from "./portable/uniform-store.js";
30
+ // GPU TYPE UTILS - GPU MEMORY LAYOUT HELPERS - CAN BE USED BY APPS BUT MOSTLY USED INTERNALLY
31
+ export { decodeVertexFormat } from "./gpu-type-utils/decode-vertex-format.js";
32
+ export { decodeTextureFormat } from "./gpu-type-utils/decode-texture-format.js";
33
+ export { decodeShaderUniformType } from "./gpu-type-utils/decode-shader-types.js";
34
+ export { decodeShaderAttributeType } from "./gpu-type-utils/decode-attribute-type.js";
35
+ export { getDataTypeFromTypedArray } from "./gpu-type-utils/vertex-format-from-attribute.js";
36
+ export { getTypedArrayFromDataType } from "./gpu-type-utils/vertex-format-from-attribute.js";
37
+ export { getVertexFormatFromAttribute } from "./gpu-type-utils/vertex-format-from-attribute.js";
38
+ /** GLSL syntax highlighting: glsl`...` Install https://marketplace.visualstudio.com/items?itemName=boyswan.glsl-literal */
60
39
  export const glsl = (x) => `${x}`;
40
+ export { getAttributeInfosFromLayouts } from "./adapter-utils/get-attribute-from-layouts.js";
41
+ export { getScratchArrayBuffer, getScratchArray } from "./utils/array-utils-flat.js";
42
+ // INTERNAL UTILS - for use in other luma.gl modules only
43
+ export { log } from "./utils/log.js";
package/dist/init.js CHANGED
@@ -11,7 +11,7 @@ import { lumaStats } from "./utils/stats-manager.js";
11
11
  function initializeLuma() {
12
12
  // Version detection using babel plugin
13
13
  // @ts-expect-error
14
- const VERSION = typeof "9.0.10" !== 'undefined' ? "9.0.10" : 'running from source';
14
+ const VERSION = typeof "9.1.0-alpha.1" !== 'undefined' ? "9.1.0-alpha.1" : 'running from source';
15
15
  const STARTUP_MESSAGE = 'set luma.log.level=1 (or higher) to trace rendering';
16
16
  // Assign luma.log.level in console to control logging: \
17
17
  // 0: none, 1: minimal, 2: verbose, 3: attribute/uniforms, 4: gl logs
@@ -1,6 +1,6 @@
1
- import type { ShaderUniformType } from "../../adapter/types/shader-types.js";
2
- import type { UniformValue } from "../../adapter/types/types.js";
3
- import { ShaderLayout, UniformInfo } from "../../adapter/types/shader-layout.js";
1
+ import type { ShaderUniformType } from "../gpu-type-utils/shader-types.js";
2
+ import type { UniformValue } from "../adapter/types/uniforms.js";
3
+ import { ShaderLayout, UniformInfo } from "../adapter/types/shader-layout.js";
4
4
  /**
5
5
  * A uniform block holds values of the of uniform values for one uniform block / buffer.
6
6
  * It also does some book keeping on what has changed, to minimize unnecessary writes to uniform buffers.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uniform-block.d.ts","sourceRoot":"","sources":["../../src/portable/uniform-block.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,iBAAiB,EAAC,0CAAuC;AACtE,OAAO,KAAK,EAAC,YAAY,EAAC,qCAAkC;AAC5D,OAAO,EACL,YAAY,EACZ,WAAW,EAEZ,0CAAuC;AAGxC;;;GAGG;AACH,qBAAa,YAAY,CACvB,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;IAE7E,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,MAAM,CAAC,MAAM,SAAS,EAAE,YAAY,CAAC,CAA+C;IAC9F,gBAAgB,EAAE,MAAM,CAAC,MAAM,SAAS,EAAE,OAAO,CAAC,CAA0C;IAC5F,QAAQ,EAAE,OAAO,CAAQ;IAEzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAM;IACzD,WAAW,EAAE,MAAM,GAAG,KAAK,CAAiB;gBAEhC,KAAK,CAAC,EAAE;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;KAC3E;IAmBD,4BAA4B;IAC5B,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI;IAS/C,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC,2BAA2B;IAC3B,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;IAO9C,2BAA2B;IAC3B,OAAO,CAAC,WAAW;CAQpB"}
@@ -1,7 +1,7 @@
1
1
  // luma.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { arrayEqual, arrayCopy } from "../../utils/array-equal.js";
4
+ import { arrayEqual, arrayCopy } from "../utils/array-equal.js";
5
5
  /**
6
6
  * A uniform block holds values of the of uniform values for one uniform block / buffer.
7
7
  * It also does some book keeping on what has changed, to minimize unnecessary writes to uniform buffers.
@@ -14,7 +14,7 @@ export class UniformBlock {
14
14
  bindingLayout = {};
15
15
  needsRedraw = 'initialized';
16
16
  constructor(props) {
17
- this.name = props?.name;
17
+ this.name = props?.name || 'unnamed';
18
18
  // TODO - Extract uniform layout from the shaderLayout object
19
19
  if (props?.name && props?.shaderLayout) {
20
20
  const binding = props?.shaderLayout.bindings?.find(binding => binding.type === 'uniform' && binding.name === props?.name);
@@ -1,5 +1,5 @@
1
- import type { ShaderUniformType, ShaderDataType } from "../../adapter/types/shader-types.js";
2
- import type { UniformValue } from "../../adapter/types/types.js";
1
+ import type { ShaderUniformType, ShaderDataType } from "../gpu-type-utils/shader-types.js";
2
+ import type { UniformValue } from "../adapter/types/uniforms.js";
3
3
  /**
4
4
  * Std140 layout for uniform buffers
5
5
  * Supports manual listing of uniforms
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uniform-buffer-layout.d.ts","sourceRoot":"","sources":["../../src/portable/uniform-buffer-layout.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,iBAAiB,EAAE,cAAc,EAAC,0CAAuC;AAGtF,OAAO,KAAK,EAAC,YAAY,EAAC,qCAAkC;AAW5D;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,cAAc,CAAA;KAAC,CAAC,CAAM;IAE3F,mDAAmD;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,kEAAkE;gBACtD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAsB3D,2CAA2C;IAC3C,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,UAAU;IAoDhE,wDAAwD;IACxD,GAAG,CAAC,IAAI,EAAE,MAAM;IAIhB,0DAA0D;IAC1D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GAAG,SAAS;CAI9D"}
@@ -1,10 +1,10 @@
1
1
  // luma.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { decodeShaderUniformType, alignTo } from "../../adapter/type-utils/decode-shader-types.js";
5
- import { getScratchArrayBuffer } from "../../utils/array-utils-flat.js";
6
- import { isNumberArray } from "../../utils/is-array.js";
7
- import { log } from "../../utils/log.js";
4
+ import { decodeShaderUniformType, alignTo } from "../gpu-type-utils/decode-shader-types.js";
5
+ import { getScratchArrayBuffer } from "../utils/array-utils-flat.js";
6
+ import { isNumberArray } from "../utils/is-array.js";
7
+ import { log } from "../utils/log.js";
8
8
  /**
9
9
  * Smallest buffer size that can be used for uniform buffers.
10
10
  * TODO - does this depend on device?
@@ -71,15 +71,14 @@ export class UniformBufferLayout {
71
71
  typedArray[offset] = Number(value);
72
72
  }
73
73
  else {
74
- const numericArray = isNumberArray(value);
75
- if (!numericArray) {
74
+ if (!isNumberArray(value)) {
76
75
  log.warn(`Supplied value for multi component / array uniform ${name} is not a numeric array: ${value}`)();
77
76
  // eslint-disable-next-line no-continue
78
77
  continue;
79
78
  }
80
79
  // vector/matrix -> copy the supplied (typed) array, starting from offset
81
80
  // TODO: we should limit or check size in case the supplied data overflows
82
- typedArray.set(numericArray, offset);
81
+ typedArray.set(value, offset);
83
82
  }
84
83
  }
85
84
  return new Uint8Array(arrayBuffer);
@@ -1,7 +1,7 @@
1
- import type { ShaderUniformType } from "../../adapter/types/shader-types.js";
2
- import type { UniformValue } from "../../adapter/types/types.js";
3
- import type { Device } from "../../adapter/device.js";
4
- import { Buffer } from "../../adapter/resources/buffer.js";
1
+ import type { ShaderUniformType } from "../gpu-type-utils/shader-types.js";
2
+ import type { UniformValue } from "../adapter/types/uniforms.js";
3
+ import type { Device } from "../adapter/device.js";
4
+ import { Buffer } from "../adapter/resources/buffer.js";
5
5
  import { UniformBlock } from "./uniform-block.js";
6
6
  import { UniformBufferLayout } from "./uniform-buffer-layout.js";
7
7
  export type ShaderModuleInputs = {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uniform-store.d.ts","sourceRoot":"","sources":["../../src/portable/uniform-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,iBAAiB,EAAC,0CAAuC;AACtE,OAAO,KAAK,EAAC,YAAY,EAAC,qCAAkC;AAC5D,OAAO,KAAK,EAAC,MAAM,EAAC,6BAA0B;AAC9C,OAAO,EAAC,MAAM,EAAC,uCAAoC;AAEnD,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAC7C,OAAO,EAAC,mBAAmB,EAAC,mCAAgC;AAE5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAChD,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,YAAY,CACvB,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAClE,MAAM,EACN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB;IAED,uDAAuD;IACvD,aAAa,qEAA8C;IAC3D,sEAAsE;IACtE,oBAAoB,8CAAqD;IACzE,mCAAmC;IACnC,cAAc,iCAAwC;IAEtD;;;OAGG;gBAED,MAAM,EAAE,MAAM,CACZ,MAAM,WAAW,EACjB;QACE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACjD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KAChD,CACF;IAgBH,0CAA0C;IAC1C,OAAO,IAAI,IAAI;IAMf;;;OAGG;IACH,WAAW,CACT,QAAQ,EAAE,OAAO,CAAC;SAAE,KAAK,IAAI,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAAC,CAAC,GAC7E,IAAI;IAUP,4DAA4D;IAC5D,0BAA0B,CAAC,iBAAiB,EAAE,MAAM,WAAW,GAAG,MAAM;IAIxE,mEAAmE;IACnE,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,WAAW,GAAG,UAAU;IAMtE;;;OAGG;IACH,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,WAAW,EACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;SAAE,KAAK,IAAI,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAAC,CAAC,GAC9E,MAAM;IAeT,4GAA4G;IAC5G,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,WAAW,GAAG,MAAM;IAcrF,4DAA4D;IAC5D,oBAAoB,IAAI,KAAK,GAAG,MAAM;IAYtC,qEAAqE;IACrE,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM;CAwB1E"}
@@ -1,10 +1,10 @@
1
1
  // luma.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { Buffer } from "../../adapter/resources/buffer.js";
4
+ import { Buffer } from "../adapter/resources/buffer.js";
5
+ import { log } from "../utils/log.js";
5
6
  import { UniformBlock } from "./uniform-block.js";
6
7
  import { UniformBufferLayout } from "./uniform-buffer-layout.js";
7
- import { log } from "../../utils/log.js";
8
8
  /**
9
9
  * A uniform store holds a uniform values for one or more uniform blocks,
10
10
  * - It can generate binary data for any uniform buffer
@@ -47,7 +47,7 @@ export class UniformStore {
47
47
  */
48
48
  setUniforms(uniforms) {
49
49
  for (const [blockName, uniformValues] of Object.entries(uniforms)) {
50
- this.uniformBlocks.get(blockName).setUniforms(uniformValues);
50
+ this.uniformBlocks.get(blockName)?.setUniforms(uniformValues);
51
51
  // We leverage logging in updateUniformBuffers(), even though slightly less efficient
52
52
  // this.updateUniformBuffer(blockName);
53
53
  }
@@ -55,12 +55,13 @@ export class UniformStore {
55
55
  }
56
56
  /** Get the required minimum length of the uniform buffer */
57
57
  getUniformBufferByteLength(uniformBufferName) {
58
- return this.uniformBufferLayouts.get(uniformBufferName).byteLength;
58
+ return this.uniformBufferLayouts.get(uniformBufferName)?.byteLength || 0;
59
59
  }
60
60
  /** Get formatted binary memory that can be uploaded to a buffer */
61
61
  getUniformBufferData(uniformBufferName) {
62
- const uniformValues = this.uniformBlocks.get(uniformBufferName).getAllUniforms();
63
- return this.uniformBufferLayouts.get(uniformBufferName).getData(uniformValues);
62
+ const uniformValues = this.uniformBlocks.get(uniformBufferName)?.getAllUniforms() || {};
63
+ // @ts-ignore
64
+ return this.uniformBufferLayouts.get(uniformBufferName)?.getData(uniformValues);
64
65
  }
65
66
  /**
66
67
  * Creates an unmanaged uniform buffer (umnanaged means that application is responsible for destroying it)
@@ -91,6 +92,7 @@ export class UniformStore {
91
92
  this.uniformBuffers.set(uniformBufferName, uniformBuffer);
92
93
  }
93
94
  // this.updateUniformBuffers();
95
+ // @ts-ignore
94
96
  return this.uniformBuffers.get(uniformBufferName);
95
97
  }
96
98
  /** Updates all uniform buffers where values have changed */
@@ -110,14 +112,14 @@ export class UniformStore {
110
112
  const uniformBlock = this.uniformBlocks.get(uniformBufferName);
111
113
  const uniformBuffer = this.uniformBuffers.get(uniformBufferName);
112
114
  let reason = false;
113
- if (uniformBuffer && uniformBlock.needsRedraw) {
115
+ if (uniformBuffer && uniformBlock?.needsRedraw) {
114
116
  reason ||= uniformBlock.needsRedraw;
115
117
  // This clears the needs redraw flag
116
118
  const uniformBufferData = this.getUniformBufferData(uniformBufferName);
117
119
  const uniformBuffer = this.uniformBuffers.get(uniformBufferName);
118
- uniformBuffer.write(uniformBufferData);
120
+ uniformBuffer?.write(uniformBufferData);
119
121
  // logging - TODO - don't query the values unnecessarily
120
- const uniformValues = this.uniformBlocks.get(uniformBufferName).getAllUniforms();
122
+ const uniformValues = this.uniformBlocks.get(uniformBufferName)?.getAllUniforms();
121
123
  log.log(4, `Writing to uniform buffer ${String(uniformBufferName)}`, uniformBufferData, uniformValues)();
122
124
  }
123
125
  return reason;
package/dist/types.d.ts CHANGED
@@ -6,14 +6,4 @@ export type TypedArrayConstructor = Int8ArrayConstructor | Uint8ArrayConstructor
6
6
  /** Keep big int arrays separate as they are still problematic, can't be indexed and don't work well on Safari */
7
7
  export type BigIntTypedArray = BigInt64Array | BigUint64Array;
8
8
  export type BigIntOrNumberArray = NumberArray | BigIntTypedArray;
9
- /** Get the constructor type of a type */
10
- export interface ConstructorOf<T> {
11
- new (...args: unknown[]): T;
12
- }
13
- /**
14
- * Make specific fields in a type optional. Granular version of `Partial<T>`
15
- * @example
16
- * type PartialProps = PartialBy<Required<DeviceProps>, 'device' | 'canvas'>
17
- */
18
- export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
19
9
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,gDAAgD;AAChD,OAAO,EAAC,UAAU,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC;AAEjC,uEAAuE;AACvE,MAAM,MAAM,qBAAqB,GAC7B,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,GACtB,4BAA4B,GAC5B,uBAAuB,GACvB,uBAAuB,CAAC;AAE5B,iHAAiH;AACjH,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,cAAc,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAEjE,yCAAyC;AACzC,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,gDAAgD;AAChD,OAAO,EAAC,UAAU,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC;AAEjC,uEAAuE;AACvE,MAAM,MAAM,qBAAqB,GAC7B,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,GACtB,4BAA4B,GAC5B,uBAAuB,GACvB,uBAAuB,CAAC;AAE5B,iHAAiH;AACjH,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,cAAc,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"array-equal.d.ts","sourceRoot":"","sources":["../../src/utils/array-equal.ts"],"names":[],"mappings":"AAMA,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,GAAE,MAAW,WAiBpE;AAED,mBAAmB;AACnB,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAMpC"}
1
+ {"version":3,"file":"array-equal.d.ts","sourceRoot":"","sources":["../../src/utils/array-equal.ts"],"names":[],"mappings":"AAMA,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,GAAE,MAAW,WAiBpE;AAED,mBAAmB;AACnB,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAKpC"}
@@ -7,12 +7,12 @@ export function arrayEqual(a, b, limit = 16) {
7
7
  if (a !== b) {
8
8
  return false;
9
9
  }
10
- const arrayA = isNumberArray(a);
11
- if (!arrayA) {
10
+ const arrayA = a;
11
+ const arrayB = b;
12
+ if (!isNumberArray(arrayA)) {
12
13
  return false;
13
14
  }
14
- const arrayB = isNumberArray(b);
15
- if (arrayB && arrayA.length === arrayB.length) {
15
+ if (isNumberArray(arrayB) && arrayA.length === arrayB.length) {
16
16
  for (let i = 0; i < arrayA.length; ++i) {
17
17
  if (arrayB[i] !== arrayA[i]) {
18
18
  return false;
@@ -23,9 +23,8 @@ export function arrayEqual(a, b, limit = 16) {
23
23
  }
24
24
  /** Copy a value */
25
25
  export function arrayCopy(a) {
26
- const numberArray = isNumberArray(a);
27
- if (numberArray) {
28
- return numberArray.slice();
26
+ if (isNumberArray(a)) {
27
+ return a.slice();
29
28
  }
30
29
  return a;
31
30
  }
@@ -1,10 +1,4 @@
1
- import type { TypedArray, NumberArray } from "../types.js";
1
+ import type { TypedArray } from "../types.js";
2
2
  export declare function getScratchArrayBuffer(byteLength: number): ArrayBuffer;
3
3
  export declare function getScratchArray(Type: any, length: number): TypedArray;
4
- export declare function fillArray(options: {
5
- target: NumberArray;
6
- source: NumberArray;
7
- start?: number;
8
- count?: number;
9
- }): NumberArray;
10
4
  //# sourceMappingURL=array-utils-flat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"array-utils-flat.d.ts","sourceRoot":"","sources":["../../src/utils/array-utils-flat.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAE,WAAW,EAAC,oBAAiB;AAItD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAKrE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAGrE;AAGD,wBAAgB,SAAS,CAAC,OAAO,EAAE;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,WAAW,CAsBd"}
1
+ {"version":3,"file":"array-utils-flat.d.ts","sourceRoot":"","sources":["../../src/utils/array-utils-flat.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,oBAAiB;AAIzC,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAKrE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAGrE"}
@@ -12,26 +12,3 @@ export function getScratchArray(Type, length) {
12
12
  const scratchArrayBuffer = getScratchArrayBuffer(Type.BYTES_PER_ELEMENT * length);
13
13
  return new Type(scratchArrayBuffer, 0, length); // arrayBuffer, byteOffset, length (in elements)
14
14
  }
15
- // Uses copyWithin to significantly speed up typed array value filling
16
- export function fillArray(options) {
17
- const { target, source, start = 0, count = 1 } = options;
18
- const length = source.length;
19
- const total = count * length;
20
- let copied = 0;
21
- for (let i = start; copied < length; copied++) {
22
- target[i++] = source[copied];
23
- }
24
- while (copied < total) {
25
- // If we have copied less than half, copy everything we got
26
- // else copy remaining in one operation
27
- if (copied < total - copied) {
28
- target.copyWithin(start + copied, start, start + copied);
29
- copied *= 2;
30
- }
31
- else {
32
- target.copyWithin(start + copied, start, start + total - copied);
33
- copied = total;
34
- }
35
- }
36
- return options.target;
37
- }
@@ -5,12 +5,12 @@ import { TypedArray, NumberArray } from "../types.js";
5
5
  * @returns input as TypedArray, or null
6
6
  * @todo this should be provided by @math.gl/types
7
7
  */
8
- export declare function isTypedArray(value: unknown): TypedArray | null;
8
+ export declare function isTypedArray(value: unknown): value is TypedArray;
9
9
  /**
10
10
  * Check is an array is a numeric array (typed array or array of numbers)
11
11
  * @param value value to be tested
12
12
  * @returns input as NumberArray, or null
13
13
  * @todo this should be provided by @math.gl/types
14
14
  */
15
- export declare function isNumberArray(value: unknown): NumberArray | null;
15
+ export declare function isNumberArray(value: unknown): value is NumberArray;
16
16
  //# sourceMappingURL=is-array.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-array.d.ts","sourceRoot":"","sources":["../../src/utils/is-array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAE,WAAW,EAAC,oBAAiB;AAEjD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAE9D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAKhE"}
1
+ {"version":3,"file":"is-array.d.ts","sourceRoot":"","sources":["../../src/utils/is-array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAE,WAAW,EAAC,oBAAiB;AAEjD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAKlE"}
@@ -8,7 +8,7 @@
8
8
  * @todo this should be provided by @math.gl/types
9
9
  */
10
10
  export function isTypedArray(value) {
11
- return ArrayBuffer.isView(value) && !(value instanceof DataView) ? value : null;
11
+ return ArrayBuffer.isView(value) && !(value instanceof DataView);
12
12
  }
13
13
  /**
14
14
  * Check is an array is a numeric array (typed array or array of numbers)
@@ -18,7 +18,7 @@ export function isTypedArray(value) {
18
18
  */
19
19
  export function isNumberArray(value) {
20
20
  if (Array.isArray(value)) {
21
- return value.length === 0 || typeof value[0] === 'number' ? value : null;
21
+ return value.length === 0 || typeof value[0] === 'number';
22
22
  }
23
23
  return isTypedArray(value);
24
24
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Returns a UID.
3
+ * @param id= - Identifier base name
4
+ * @return uid
5
+ **/
6
+ export declare function uid(id?: string): string;
7
+ //# sourceMappingURL=uid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uid.d.ts","sourceRoot":"","sources":["../../src/utils/uid.ts"],"names":[],"mappings":"AAMA;;;;IAII;AACJ,wBAAgB,GAAG,CAAC,EAAE,GAAE,MAAa,GAAG,MAAM,CAI7C"}
@@ -12,14 +12,3 @@ export function uid(id = 'id') {
12
12
  const count = uidCounters[id]++;
13
13
  return `${id}-${count}`;
14
14
  }
15
- /** Returns true if given object is empty, false otherwise. */
16
- export function isObjectEmpty(obj) {
17
- let isEmpty = true;
18
- // @ts-ignore key is unused
19
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
20
- for (const key in obj) {
21
- isEmpty = false;
22
- break;
23
- }
24
- return isEmpty;
25
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luma.gl/core",
3
- "version": "9.0.10",
3
+ "version": "9.1.0-alpha.1",
4
4
  "description": "The luma.gl core Device API",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -41,10 +41,10 @@
41
41
  },
42
42
  "dependencies": {
43
43
  "@math.gl/types": "^4.0.0",
44
- "@probe.gl/env": "^4.0.2",
45
- "@probe.gl/log": "^4.0.2",
46
- "@probe.gl/stats": "^4.0.2",
44
+ "@probe.gl/env": "^4.0.8",
45
+ "@probe.gl/log": "^4.0.8",
46
+ "@probe.gl/stats": "^4.0.8",
47
47
  "@types/offscreencanvas": "^2019.6.4"
48
48
  },
49
- "gitHead": "aa5e354fd9502a84e43c9e312ad33d9c155fed01"
49
+ "gitHead": "bc5c11c87f1e4db857e701688ca1410d7f51fd0f"
50
50
  }
@@ -6,6 +6,7 @@ import {isBrowser} from '@probe.gl/env';
6
6
  import type {Device} from './device';
7
7
  import type {Framebuffer} from './resources/framebuffer';
8
8
  import {log} from '../utils/log';
9
+ import type {TextureFormat} from '../gpu-type-utils/texture-formats';
9
10
 
10
11
  const isPage: boolean = isBrowser() && typeof document !== 'undefined';
11
12
  const isPageLoaded: () => boolean = () => isPage && document.readyState === 'complete';
@@ -60,6 +61,11 @@ export abstract class CanvasContext {
60
61
  readonly offscreenCanvas?: OffscreenCanvas;
61
62
  readonly type: 'html-canvas' | 'offscreen-canvas' | 'node';
62
63
 
64
+ /** Format of returned textures: "bgra8unorm", "rgba8unorm" */
65
+ abstract readonly format: TextureFormat;
66
+ /** Default stencil format for depth textures */
67
+ abstract readonly depthStencilFormat: TextureFormat;
68
+
63
69
  width: number = 1;
64
70
  height: number = 1;
65
71