@luma.gl/core 9.0.0-beta.4 → 9.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/dist/adapter/attribute-utils/get-attribute-from-layouts.js +140 -109
  2. package/dist/adapter/canvas-context.js +305 -233
  3. package/dist/adapter/device.d.ts +9 -11
  4. package/dist/adapter/device.d.ts.map +1 -1
  5. package/dist/adapter/device.js +114 -95
  6. package/dist/adapter/resources/buffer.d.ts +1 -1
  7. package/dist/adapter/resources/buffer.d.ts.map +1 -1
  8. package/dist/adapter/resources/buffer.js +65 -57
  9. package/dist/adapter/resources/command-buffer.js +13 -13
  10. package/dist/adapter/resources/command-encoder.js +17 -17
  11. package/dist/adapter/resources/compute-pass.js +10 -13
  12. package/dist/adapter/resources/compute-pipeline.js +19 -18
  13. package/dist/adapter/resources/external-texture.js +10 -15
  14. package/dist/adapter/resources/framebuffer.js +155 -94
  15. package/dist/adapter/resources/render-pass.js +28 -21
  16. package/dist/adapter/resources/render-pipeline.d.ts +3 -1
  17. package/dist/adapter/resources/render-pipeline.d.ts.map +1 -1
  18. package/dist/adapter/resources/render-pipeline.js +37 -34
  19. package/dist/adapter/resources/resource.js +131 -93
  20. package/dist/adapter/resources/sampler.js +24 -24
  21. package/dist/adapter/resources/shader.d.ts +2 -2
  22. package/dist/adapter/resources/shader.d.ts.map +1 -1
  23. package/dist/adapter/resources/shader.js +90 -78
  24. package/dist/adapter/resources/texture.js +49 -43
  25. package/dist/adapter/resources/transform-feedback.d.ts +2 -2
  26. package/dist/adapter/resources/transform-feedback.d.ts.map +1 -1
  27. package/dist/adapter/resources/transform-feedback.js +13 -15
  28. package/dist/adapter/resources/vertex-array.js +30 -22
  29. package/dist/adapter/type-utils/decode-attribute-type.js +56 -52
  30. package/dist/adapter/type-utils/decode-data-type.js +36 -35
  31. package/dist/adapter/type-utils/decode-shader-types.js +36 -97
  32. package/dist/adapter/type-utils/decode-texture-format.js +160 -93
  33. package/dist/adapter/type-utils/decode-vertex-format.js +28 -23
  34. package/dist/adapter/type-utils/vertex-format-from-attribute.js +69 -65
  35. package/dist/adapter/type-utils/wgsl-utils.js +14 -13
  36. package/dist/adapter/types/accessor.js +0 -1
  37. package/dist/adapter/types/buffer-layout.js +0 -1
  38. package/dist/adapter/types/parameters.js +31 -26
  39. package/dist/adapter/types/shader-layout.js +0 -1
  40. package/dist/adapter/types/shader-types.js +2 -1
  41. package/dist/adapter/types/texture-formats.d.ts +1 -1
  42. package/dist/adapter/types/texture-formats.d.ts.map +1 -1
  43. package/dist/adapter/types/texture-formats.js +2 -1
  44. package/dist/adapter/types/types.js +0 -1
  45. package/dist/adapter/types/vertex-formats.js +2 -1
  46. package/dist/dist.dev.js +453 -270
  47. package/dist/index.cjs +66 -168
  48. package/dist/index.cjs.map +7 -0
  49. package/dist/index.d.ts +1 -1
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +57 -46
  52. package/dist/init.js +29 -19
  53. package/dist/lib/compiler-log/compiler-message.js +2 -1
  54. package/dist/lib/compiler-log/format-compiler-log.js +66 -48
  55. package/dist/lib/compiler-log/get-shader-info.js +22 -19
  56. package/dist/lib/luma.d.ts.map +1 -1
  57. package/dist/lib/luma.js +60 -55
  58. package/dist/lib/uniforms/uniform-block.d.ts +0 -1
  59. package/dist/lib/uniforms/uniform-block.d.ts.map +1 -1
  60. package/dist/lib/uniforms/uniform-block.js +50 -43
  61. package/dist/lib/uniforms/uniform-buffer-layout.js +87 -70
  62. package/dist/lib/uniforms/uniform-store.js +112 -79
  63. package/dist/lib/uniforms/uniform.js +13 -16
  64. package/dist/types.js +1 -3
  65. package/dist/utils/array-equal.js +25 -23
  66. package/dist/utils/array-utils-flat.js +28 -28
  67. package/dist/utils/assert.js +5 -4
  68. package/dist/utils/cast.js +2 -2
  69. package/dist/utils/check-props.js +28 -27
  70. package/dist/utils/deep-equal.js +39 -32
  71. package/dist/utils/format-value.js +33 -39
  72. package/dist/utils/is-array.js +17 -6
  73. package/dist/utils/load-file.js +62 -37
  74. package/dist/utils/log.js +2 -4
  75. package/dist/utils/random.js +10 -9
  76. package/dist/utils/request-animation-frame.js +9 -3
  77. package/dist/utils/stats-manager.js +13 -14
  78. package/dist/utils/stub-methods.js +13 -13
  79. package/dist/utils/utils.d.ts +0 -6
  80. package/dist/utils/utils.d.ts.map +1 -1
  81. package/dist/utils/utils.js +20 -15
  82. package/dist.min.js +8 -23
  83. package/package.json +6 -6
  84. package/src/adapter/device.ts +38 -59
  85. package/src/adapter/resources/buffer.ts +1 -1
  86. package/src/adapter/resources/render-pipeline.ts +3 -1
  87. package/src/adapter/resources/shader.ts +2 -2
  88. package/src/adapter/resources/transform-feedback.ts +2 -2
  89. package/src/adapter/types/texture-formats.ts +1 -1
  90. package/src/index.ts +1 -1
  91. package/src/lib/luma.ts +0 -2
  92. package/src/lib/uniforms/uniform-block.ts +0 -1
  93. package/src/utils/utils.ts +0 -9
  94. package/dist/adapter/attribute-utils/get-attribute-from-layouts.js.map +0 -1
  95. package/dist/adapter/canvas-context.js.map +0 -1
  96. package/dist/adapter/device.js.map +0 -1
  97. package/dist/adapter/resources/buffer.js.map +0 -1
  98. package/dist/adapter/resources/command-buffer.js.map +0 -1
  99. package/dist/adapter/resources/command-encoder.js.map +0 -1
  100. package/dist/adapter/resources/compute-pass.js.map +0 -1
  101. package/dist/adapter/resources/compute-pipeline.js.map +0 -1
  102. package/dist/adapter/resources/external-texture.js.map +0 -1
  103. package/dist/adapter/resources/framebuffer.js.map +0 -1
  104. package/dist/adapter/resources/render-pass.js.map +0 -1
  105. package/dist/adapter/resources/render-pipeline.js.map +0 -1
  106. package/dist/adapter/resources/resource.js.map +0 -1
  107. package/dist/adapter/resources/sampler.js.map +0 -1
  108. package/dist/adapter/resources/shader.js.map +0 -1
  109. package/dist/adapter/resources/texture.js.map +0 -1
  110. package/dist/adapter/resources/transform-feedback.js.map +0 -1
  111. package/dist/adapter/resources/vertex-array.js.map +0 -1
  112. package/dist/adapter/type-utils/decode-attribute-type.js.map +0 -1
  113. package/dist/adapter/type-utils/decode-data-type.js.map +0 -1
  114. package/dist/adapter/type-utils/decode-shader-types.js.map +0 -1
  115. package/dist/adapter/type-utils/decode-texture-format.js.map +0 -1
  116. package/dist/adapter/type-utils/decode-vertex-format.js.map +0 -1
  117. package/dist/adapter/type-utils/vertex-format-from-attribute.js.map +0 -1
  118. package/dist/adapter/type-utils/wgsl-utils.js.map +0 -1
  119. package/dist/adapter/types/accessor.js.map +0 -1
  120. package/dist/adapter/types/buffer-layout.js.map +0 -1
  121. package/dist/adapter/types/parameters.js.map +0 -1
  122. package/dist/adapter/types/shader-layout.js.map +0 -1
  123. package/dist/adapter/types/shader-types.js.map +0 -1
  124. package/dist/adapter/types/texture-formats.js.map +0 -1
  125. package/dist/adapter/types/types.js.map +0 -1
  126. package/dist/adapter/types/vertex-formats.js.map +0 -1
  127. package/dist/index.js.map +0 -1
  128. package/dist/init.js.map +0 -1
  129. package/dist/lib/compiler-log/compiler-message.js.map +0 -1
  130. package/dist/lib/compiler-log/format-compiler-log.js.map +0 -1
  131. package/dist/lib/compiler-log/get-shader-info.js.map +0 -1
  132. package/dist/lib/luma.js.map +0 -1
  133. package/dist/lib/uniforms/uniform-block.js.map +0 -1
  134. package/dist/lib/uniforms/uniform-buffer-layout.js.map +0 -1
  135. package/dist/lib/uniforms/uniform-store.js.map +0 -1
  136. package/dist/lib/uniforms/uniform.js.map +0 -1
  137. package/dist/types.js.map +0 -1
  138. package/dist/utils/array-equal.js.map +0 -1
  139. package/dist/utils/array-utils-flat.js.map +0 -1
  140. package/dist/utils/assert.js.map +0 -1
  141. package/dist/utils/cast.js.map +0 -1
  142. package/dist/utils/check-props.js.map +0 -1
  143. package/dist/utils/deep-equal.js.map +0 -1
  144. package/dist/utils/format-value.js.map +0 -1
  145. package/dist/utils/is-array.js.map +0 -1
  146. package/dist/utils/load-file.js.map +0 -1
  147. package/dist/utils/log.js.map +0 -1
  148. package/dist/utils/random.js.map +0 -1
  149. package/dist/utils/request-animation-frame.js.map +0 -1
  150. package/dist/utils/stats-manager.js.map +0 -1
  151. package/dist/utils/stub-methods.js.map +0 -1
  152. package/dist/utils/utils.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"format-value.js","names":["formatArrayValue","v","opts","arguments","length","undefined","maxElts","size","string","i","formatValue","terminator","EPSILON","isInteger","Array","isArray","ArrayBuffer","isView","String","Math","abs","toFixed","toPrecision","decimal","indexOf","slice"],"sources":["../../src/utils/format-value.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport type {NumberArray} from '../types';\n\n/** TODO @deprecated - delete when confident that probe.gl logging implements all opts */\nfunction formatArrayValue(v: NumberArray, opts: {maxElts?: number, size?: number} = {}): string {\n const {maxElts = 16, size = 1} = opts;\n let string = '[';\n for (let i = 0; i < v.length && i < maxElts; ++i) {\n if (i > 0) {\n string += `,${i % size === 0 ? ' ' : ''}`;\n }\n string += formatValue(v[i], opts);\n }\n const terminator = v.length > maxElts ? '...' : ']';\n return `${string}${terminator}`;\n}\n\n/** TODO @deprecated - delete when confident that probe.gl logging implements all opts */\nexport function formatValue(v: number | NumberArray | unknown, opts: {isInteger?: boolean, size?: number} = {}): string {\n const EPSILON = 1e-16;\n const {isInteger = false} = opts;\n if (Array.isArray(v) || ArrayBuffer.isView(v)) {\n return formatArrayValue(v as NumberArray, opts);\n }\n if (typeof v !== 'number') {\n return String(v);\n }\n if (Math.abs(v) < EPSILON) {\n return isInteger ? '0' : '0.';\n }\n if (isInteger) {\n return v.toFixed(0);\n }\n if (Math.abs(v) > 100 && Math.abs(v) < 10000) {\n return v.toFixed(0);\n }\n const string = v.toPrecision(2);\n const decimal = string.indexOf('.0');\n return decimal === string.length - 2 ? string.slice(0, -1) : string;\n}\n"],"mappings":"AAIA,SAASA,gBAAgBA,CAACC,CAAc,EAAwD;EAAA,IAAtDC,IAAuC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACpF,MAAM;IAACG,OAAO,GAAG,EAAE;IAAEC,IAAI,GAAG;EAAC,CAAC,GAAGL,IAAI;EACrC,IAAIM,MAAM,GAAG,GAAG;EAChB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGR,CAAC,CAACG,MAAM,IAAIK,CAAC,GAAGH,OAAO,EAAE,EAAEG,CAAC,EAAE;IAChD,IAAIA,CAAC,GAAG,CAAC,EAAE;MACTD,MAAM,IAAK,IAAGC,CAAC,GAAGF,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAG,EAAC;IAC3C;IACAC,MAAM,IAAIE,WAAW,CAACT,CAAC,CAACQ,CAAC,CAAC,EAAEP,IAAI,CAAC;EACnC;EACA,MAAMS,UAAU,GAAGV,CAAC,CAACG,MAAM,GAAGE,OAAO,GAAG,KAAK,GAAG,GAAG;EACnD,OAAQ,GAAEE,MAAO,GAAEG,UAAW,EAAC;AACjC;AAGA,OAAO,SAASD,WAAWA,CAACT,CAAiC,EAA2D;EAAA,IAAzDC,IAA0C,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC5G,MAAMS,OAAO,GAAG,KAAK;EACrB,MAAM;IAACC,SAAS,GAAG;EAAK,CAAC,GAAGX,IAAI;EAChC,IAAIY,KAAK,CAACC,OAAO,CAACd,CAAC,CAAC,IAAIe,WAAW,CAACC,MAAM,CAAChB,CAAC,CAAC,EAAE;IAC7C,OAAOD,gBAAgB,CAACC,CAAC,EAAiBC,IAAI,CAAC;EACjD;EACA,IAAI,OAAOD,CAAC,KAAK,QAAQ,EAAE;IACzB,OAAOiB,MAAM,CAACjB,CAAC,CAAC;EAClB;EACA,IAAIkB,IAAI,CAACC,GAAG,CAACnB,CAAC,CAAC,GAAGW,OAAO,EAAE;IACzB,OAAOC,SAAS,GAAG,GAAG,GAAG,IAAI;EAC/B;EACA,IAAIA,SAAS,EAAE;IACb,OAAOZ,CAAC,CAACoB,OAAO,CAAC,CAAC,CAAC;EACrB;EACA,IAAIF,IAAI,CAACC,GAAG,CAACnB,CAAC,CAAC,GAAG,GAAG,IAAIkB,IAAI,CAACC,GAAG,CAACnB,CAAC,CAAC,GAAG,KAAK,EAAE;IAC5C,OAAOA,CAAC,CAACoB,OAAO,CAAC,CAAC,CAAC;EACrB;EACA,MAAMb,MAAM,GAAGP,CAAC,CAACqB,WAAW,CAAC,CAAC,CAAC;EAC/B,MAAMC,OAAO,GAAGf,MAAM,CAACgB,OAAO,CAAC,IAAI,CAAC;EACpC,OAAOD,OAAO,KAAKf,MAAM,CAACJ,MAAM,GAAG,CAAC,GAAGI,MAAM,CAACiB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGjB,MAAM;AACrE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-array.js","names":["isTypedArray","value","ArrayBuffer","isView","DataView","isNumberArray","Array","isArray","length"],"sources":["../../src/utils/is-array.ts"],"sourcesContent":["import {TypedArray, NumberArray} from '../types';\n\n/**\n * Check is an array is a typed array\n * @param value value to be tested\n * @returns input as TypedArray, or null\n * @todo this should be provided by @math.gl/types\n */\nexport function isTypedArray(value: unknown): TypedArray | null {\n return ArrayBuffer.isView(value) && !(value instanceof DataView) ? (value as TypedArray) : null;\n}\n\n/**\n * Check is an array is a numeric array (typed array or array of numbers)\n * @param value value to be tested\n * @returns input as NumberArray, or null\n * @todo this should be provided by @math.gl/types\n */\nexport function isNumberArray(value: unknown): NumberArray | null {\n if (Array.isArray(value)) {\n return value.length === 0 || typeof value[0] === 'number' ? (value as number[]) : null;\n }\n return isTypedArray(value);\n}\n"],"mappings":"AAQA,OAAO,SAASA,YAAYA,CAACC,KAAc,EAAqB;EAC9D,OAAOC,WAAW,CAACC,MAAM,CAACF,KAAK,CAAC,IAAI,EAAEA,KAAK,YAAYG,QAAQ,CAAC,GAAIH,KAAK,GAAkB,IAAI;AACjG;AAQA,OAAO,SAASI,aAAaA,CAACJ,KAAc,EAAsB;EAChE,IAAIK,KAAK,CAACC,OAAO,CAACN,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK,CAACO,MAAM,KAAK,CAAC,IAAI,OAAOP,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAIA,KAAK,GAAgB,IAAI;EACxF;EACA,OAAOD,YAAY,CAACC,KAAK,CAAC;AAC5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"load-file.js","names":["pathPrefix","setPathPrefix","prefix","loadFile","url","options","startsWith","dataType","response","fetch","loadImageBitmap","opts","image","Image","crossOrigin","src","decode","createImageBitmap","loadImage","Promise","resolve","reject","onload","onerror","Error","error","loadScript","scriptUrl","scriptId","head","document","getElementsByTagName","script","createElement","setAttribute","id","appendChild"],"sources":["../../src/utils/load-file.ts"],"sourcesContent":["// luma.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nlet pathPrefix = '';\n\n/**\n * Set a relative path prefix\n */\nexport function setPathPrefix(prefix: string) {\n pathPrefix = prefix;\n}\n\n/**\n * Reads raw file data. Respects setPathPrefix.\n */\nexport async function loadFile(\n url: string,\n options?: {dataType?: 'text' | 'arrayBuffer'} & RequestInit\n): Promise<any> {\n url = url.startsWith('http') ? url : pathPrefix + url;\n const dataType = options?.dataType || 'text';\n const response = await fetch(url, options);\n return await response[dataType]();\n}\n\n/**\n * Loads ImageBitmap asynchronously. Respects setPathPrefix.\n * image.crossOrigin can be set via opts.crossOrigin, default to 'anonymous'\n * @returns a promise tracking the load\n */\nexport async function loadImageBitmap(\n url: string,\n opts?: {crossOrigin?: string}\n): Promise<ImageBitmap> {\n const image = new Image();\n image.crossOrigin = opts?.crossOrigin || 'anonymous';\n image.src = url.startsWith('http') ? url : pathPrefix + url;\n await image.decode();\n return await createImageBitmap(image);\n}\n\n/**\n * Loads image asynchronously. Respects setPathPrefix.\n * image.crossOrigin can be set via opts.crossOrigin, default to 'anonymous'\n * @returns a promise tracking the load\n * @deprecated Use `loadImageBitmap()` unless you are supporting old versions of Safari.\n */\nexport async function loadImage(\n url: string,\n opts?: {crossOrigin?: string}\n): Promise<HTMLImageElement> {\n return new Promise((resolve, reject) => {\n try {\n const image = new Image();\n image.onload = () => resolve(image);\n image.onerror = () => reject(new Error(`Could not load image ${url}.`));\n image.crossOrigin = opts?.crossOrigin || 'anonymous';\n image.src = url.startsWith('http') ? url : pathPrefix + url;\n } catch (error) {\n reject(error);\n }\n });\n}\n\n/**\n * Load a script (identified by an url). When the url returns, the\n * content of this file is added into a new script element, attached to the DOM (body element)\n * @param scriptUrl defines the url of the script to laod\n * @param scriptId defines the id of the script element\n */\nexport async function loadScript(scriptUrl: string, scriptId?: string): Promise<Event> {\n const head = document.getElementsByTagName('head')[0];\n if (!head) {\n throw new Error('loadScript');\n }\n\n const script = document.createElement('script');\n script.setAttribute('type', 'text/javascript');\n script.setAttribute('src', scriptUrl);\n if (scriptId) {\n script.id = scriptId;\n }\n\n return new Promise((resolve, reject) => {\n script.onload = resolve;\n script.onerror = (error) => reject(new Error(`Unable to load script '${scriptUrl}': ${error as string}`));\n head.appendChild(script);\n });\n}\n"],"mappings":"AAGA,IAAIA,UAAU,GAAG,EAAE;AAKnB,OAAO,SAASC,aAAaA,CAACC,MAAc,EAAE;EAC5CF,UAAU,GAAGE,MAAM;AACrB;AAKA,OAAO,eAAeC,QAAQA,CAC5BC,GAAW,EACXC,OAA2D,EAC7C;EACdD,GAAG,GAAGA,GAAG,CAACE,UAAU,CAAC,MAAM,CAAC,GAAGF,GAAG,GAAGJ,UAAU,GAAGI,GAAG;EACrD,MAAMG,QAAQ,GAAG,CAAAF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,QAAQ,KAAI,MAAM;EAC5C,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CAACL,GAAG,EAAEC,OAAO,CAAC;EAC1C,OAAO,MAAMG,QAAQ,CAACD,QAAQ,CAAC,CAAC,CAAC;AACnC;AAOA,OAAO,eAAeG,eAAeA,CACnCN,GAAW,EACXO,IAA6B,EACP;EACtB,MAAMC,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC;EACzBD,KAAK,CAACE,WAAW,GAAG,CAAAH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,WAAW,KAAI,WAAW;EACpDF,KAAK,CAACG,GAAG,GAAGX,GAAG,CAACE,UAAU,CAAC,MAAM,CAAC,GAAGF,GAAG,GAAGJ,UAAU,GAAGI,GAAG;EAC3D,MAAMQ,KAAK,CAACI,MAAM,CAAC,CAAC;EACpB,OAAO,MAAMC,iBAAiB,CAACL,KAAK,CAAC;AACvC;AAQA,OAAO,eAAeM,SAASA,CAC7Bd,GAAW,EACXO,IAA6B,EACF;EAC3B,OAAO,IAAIQ,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,IAAI;MACF,MAAMT,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC;MACzBD,KAAK,CAACU,MAAM,GAAG,MAAMF,OAAO,CAACR,KAAK,CAAC;MACnCA,KAAK,CAACW,OAAO,GAAG,MAAMF,MAAM,CAAC,IAAIG,KAAK,CAAE,wBAAuBpB,GAAI,GAAE,CAAC,CAAC;MACvEQ,KAAK,CAACE,WAAW,GAAG,CAAAH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,WAAW,KAAI,WAAW;MACpDF,KAAK,CAACG,GAAG,GAAGX,GAAG,CAACE,UAAU,CAAC,MAAM,CAAC,GAAGF,GAAG,GAAGJ,UAAU,GAAGI,GAAG;IAC7D,CAAC,CAAC,OAAOqB,KAAK,EAAE;MACdJ,MAAM,CAACI,KAAK,CAAC;IACf;EACF,CAAC,CAAC;AACJ;AAQA,OAAO,eAAeC,UAAUA,CAACC,SAAiB,EAAEC,QAAiB,EAAkB;EACrF,MAAMC,IAAI,GAAGC,QAAQ,CAACC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACrD,IAAI,CAACF,IAAI,EAAE;IACT,MAAM,IAAIL,KAAK,CAAC,YAAY,CAAC;EAC/B;EAEA,MAAMQ,MAAM,GAAGF,QAAQ,CAACG,aAAa,CAAC,QAAQ,CAAC;EAC/CD,MAAM,CAACE,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC;EAC9CF,MAAM,CAACE,YAAY,CAAC,KAAK,EAAEP,SAAS,CAAC;EACrC,IAAIC,QAAQ,EAAE;IACZI,MAAM,CAACG,EAAE,GAAGP,QAAQ;EACtB;EAEA,OAAO,IAAIT,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtCW,MAAM,CAACV,MAAM,GAAGF,OAAO;IACvBY,MAAM,CAACT,OAAO,GAAIE,KAAK,IAAKJ,MAAM,CAAC,IAAIG,KAAK,CAAE,0BAAyBG,SAAU,MAAKF,KAAgB,EAAC,CAAC,CAAC;IACzGI,IAAI,CAACO,WAAW,CAACJ,MAAM,CAAC;EAC1B,CAAC,CAAC;AACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"log.js","names":["Log","log","id"],"sources":["../../src/utils/log.ts"],"sourcesContent":["import {Log} from '@probe.gl/log';\n\n/** Global log instance */\nexport const log: Log = new Log({id: 'luma.gl'});\n"],"mappings":"AAAA,SAAQA,GAAG,QAAO,eAAe;AAGjC,OAAO,MAAMC,GAAQ,GAAG,IAAID,GAAG,CAAC;EAACE,EAAE,EAAE;AAAS,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"random.js","names":["makeRandomNumberGenerator","s","c","Math","sin","cos","fract","abs","n","floor","random"],"sources":["../../src/utils/random.ts"],"sourcesContent":["/** Creates a deterministic pseudorandom number generator */\nexport function makeRandomNumberGenerator(): () => number {\n let s = 1;\n let c = 1;\n return () => {\n s = Math.sin(c * 17.23);\n c = Math.cos(s * 27.92);\n return fract(Math.abs(s * c) * 1432.71);\n };\n}\n\nfunction fract(n: number): number {\n return n - Math.floor(n);\n}\n\n/** Generates a deterministic pseudorandom number */\nexport const random = makeRandomNumberGenerator();\n"],"mappings":"AACA,OAAO,SAASA,yBAAyBA,CAAA,EAAiB;EACxD,IAAIC,CAAC,GAAG,CAAC;EACT,IAAIC,CAAC,GAAG,CAAC;EACT,OAAO,MAAM;IACXD,CAAC,GAAGE,IAAI,CAACC,GAAG,CAACF,CAAC,GAAG,KAAK,CAAC;IACvBA,CAAC,GAAGC,IAAI,CAACE,GAAG,CAACJ,CAAC,GAAG,KAAK,CAAC;IACvB,OAAOK,KAAK,CAACH,IAAI,CAACI,GAAG,CAACN,CAAC,GAAGC,CAAC,CAAC,GAAG,OAAO,CAAC;EACzC,CAAC;AACH;AAEA,SAASI,KAAKA,CAACE,CAAS,EAAU;EAChC,OAAOA,CAAC,GAAGL,IAAI,CAACM,KAAK,CAACD,CAAC,CAAC;AAC1B;AAGA,OAAO,MAAME,MAAM,GAAGV,yBAAyB,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-animation-frame.js","names":["requestAnimationFrame","callback","window","setTimeout","cancelAnimationFrame","timerId","clearTimeout"],"sources":["../../src/utils/request-animation-frame.ts"],"sourcesContent":["// Node.js polyfills for requestAnimationFrame and cancelAnimationFrame\n/* global window, setTimeout, clearTimeout */\n\n// / <reference types=\"@types/node\" />\nexport function requestAnimationFrame(callback: (time?: any) => void): any {\n return typeof window !== 'undefined' && window.requestAnimationFrame\n ? window.requestAnimationFrame(callback)\n : setTimeout(callback, 1000 / 60);\n}\n\nexport function cancelAnimationFrame(timerId: any): void {\n return typeof window !== 'undefined' && window.cancelAnimationFrame\n ? window.cancelAnimationFrame(timerId)\n : clearTimeout(timerId);\n}\n"],"mappings":"AAIA,OAAO,SAASA,qBAAqBA,CAACC,QAA8B,EAAO;EACzE,OAAO,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACF,qBAAqB,GAChEE,MAAM,CAACF,qBAAqB,CAACC,QAAQ,CAAC,GACtCE,UAAU,CAACF,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC;AACrC;AAEA,OAAO,SAASG,oBAAoBA,CAACC,OAAY,EAAQ;EACvD,OAAO,OAAOH,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACE,oBAAoB,GAC/DF,MAAM,CAACE,oBAAoB,CAACC,OAAO,CAAC,GACpCC,YAAY,CAACD,OAAO,CAAC;AAC3B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"stats-manager.js","names":["Stats","StatsManager","constructor","stats","Map","getStats","name","get","has","set","id","lumaStats"],"sources":["../../src/utils/stats-manager.ts"],"sourcesContent":["import {Stats} from '@probe.gl/stats';\n\n/** \n * Helper class managing a collection of probe.gl stats objects \n */\nexport class StatsManager {\n stats = new Map();\n\n getStats(name: string): Stats {\n return this.get(name);\n }\n\n get(name: string): Stats {\n if (!this.stats.has(name)) {\n this.stats.set(name, new Stats({id: name}));\n }\n\n return this.stats.get(name);\n }\n}\n\n/** Global stats for all luma.gl devices */\nexport const lumaStats: StatsManager = new StatsManager();\n"],"mappings":"AAAA,SAAQA,KAAK,QAAO,iBAAiB;AAKrC,OAAO,MAAMC,YAAY,CAAC;EAAAC,YAAA;IAAA,KACxBC,KAAK,GAAG,IAAIC,GAAG,CAAC,CAAC;EAAA;EAEjBC,QAAQA,CAACC,IAAY,EAAS;IAC5B,OAAO,IAAI,CAACC,GAAG,CAACD,IAAI,CAAC;EACvB;EAEAC,GAAGA,CAACD,IAAY,EAAS;IACvB,IAAI,CAAC,IAAI,CAACH,KAAK,CAACK,GAAG,CAACF,IAAI,CAAC,EAAE;MACzB,IAAI,CAACH,KAAK,CAACM,GAAG,CAACH,IAAI,EAAE,IAAIN,KAAK,CAAC;QAACU,EAAE,EAAEJ;MAAI,CAAC,CAAC,CAAC;IAC7C;IAEA,OAAO,IAAI,CAACH,KAAK,CAACI,GAAG,CAACD,IAAI,CAAC;EAC7B;AACF;AAGA,OAAO,MAAMK,SAAuB,GAAG,IAAIV,YAAY,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"stub-methods.js","names":["log","stubRemovedMethods","instance","className","version","methodNames","upgradeMessage","prototype","Object","getPrototypeOf","forEach","methodName","removed","Error"],"sources":["../../src/utils/stub-methods.ts"],"sourcesContent":["import {log} from './log';\n\n// Install stubs for removed methods\nexport function stubRemovedMethods(instance: any, className: string, version: string, methodNames: string[]) {\n const upgradeMessage = `See luma.gl ${version} Upgrade Guide at \\\nhttps://luma.gl/docs/upgrade-guide`;\n\n const prototype = Object.getPrototypeOf(instance);\n\n methodNames.forEach((methodName: string): void => {\n if (prototype.methodName) {\n return;\n }\n\n prototype[methodName] = () => {\n log.removed(`Calling removed method ${className}.${methodName}: `, upgradeMessage)();\n throw new Error(methodName);\n };\n });\n}\n"],"mappings":"SAAQA,GAAG;AAGX,OAAO,SAASC,kBAAkBA,CAACC,QAAa,EAAEC,SAAiB,EAAEC,OAAe,EAAEC,WAAqB,EAAE;EAC3G,MAAMC,cAAc,GAAI,eAAcF,OAAQ;AAChD,mCAAmC;EAEjC,MAAMG,SAAS,GAAGC,MAAM,CAACC,cAAc,CAACP,QAAQ,CAAC;EAEjDG,WAAW,CAACK,OAAO,CAAEC,UAAkB,IAAW;IAChD,IAAIJ,SAAS,CAACI,UAAU,EAAE;MACxB;IACF;IAEAJ,SAAS,CAACI,UAAU,CAAC,GAAG,MAAM;MAC5BX,GAAG,CAACY,OAAO,CAAE,0BAAyBT,SAAU,IAAGQ,UAAW,IAAG,EAAEL,cAAc,CAAC,CAAC,CAAC;MACpF,MAAM,IAAIO,KAAK,CAACF,UAAU,CAAC;IAC7B,CAAC;EACH,CAAC,CAAC;AACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","names":["uidCounters","uid","id","arguments","length","undefined","count","isPowerOfTwo","n","isObjectEmpty","obj","isEmpty","key"],"sources":["../../src/utils/utils.ts"],"sourcesContent":["// luma.gl, MIT license\n// Copyright (c) vis.gl contributors\n\nconst uidCounters: Record<string, number> = {};\n\n/**\n * Returns a UID.\n * @param id= - Identifier base name\n * @return uid\n **/\nexport function uid(id: string = 'id'): string {\n uidCounters[id] = uidCounters[id] || 1;\n const count = uidCounters[id]++;\n return `${id}-${count}`;\n}\n\n/**\n * Verifies if a given number is power of two or not.\n * @param n - The number to check.\n * @return Returns true if the given number is power of 2, false otherwise.\n **/\nexport function isPowerOfTwo(n: number): boolean {\n return (n > 0) && (n & (n - 1)) === 0;\n}\n\n/** Returns true if given object is empty, false otherwise. */\nexport function isObjectEmpty(obj: object): boolean {\n let isEmpty = true;\n // @ts-ignore key is unused\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n for (const key in obj) {\n isEmpty = false;\n break;\n }\n return isEmpty;\n}\n"],"mappings":"AAGA,MAAMA,WAAmC,GAAG,CAAC,CAAC;AAO9C,OAAO,SAASC,GAAGA,CAAA,EAA4B;EAAA,IAA3BC,EAAU,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EACnCH,WAAW,CAACE,EAAE,CAAC,GAAGF,WAAW,CAACE,EAAE,CAAC,IAAI,CAAC;EACtC,MAAMI,KAAK,GAAGN,WAAW,CAACE,EAAE,CAAC,EAAE;EAC/B,OAAQ,GAAEA,EAAG,IAAGI,KAAM,EAAC;AACzB;AAOA,OAAO,SAASC,YAAYA,CAACC,CAAS,EAAW;EAC/C,OAAQA,CAAC,GAAG,CAAC,IAAK,CAACA,CAAC,GAAIA,CAAC,GAAG,CAAE,MAAM,CAAC;AACvC;AAGA,OAAO,SAASC,aAAaA,CAACC,GAAW,EAAW;EAClD,IAAIC,OAAO,GAAG,IAAI;EAGlB,KAAK,MAAMC,GAAG,IAAIF,GAAG,EAAE;IACrBC,OAAO,GAAG,KAAK;IACf;EACF;EACA,OAAOA,OAAO;AAChB"}