@deck.gl/aggregation-layers 9.0.0-alpha.4 → 9.0.0-alpha.6
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.
- package/LICENSE +19 -0
- package/dist/dist.dev.js +232 -235
- package/dist.min.js +55 -55
- package/package.json +5 -4
- package/typed/aggregation-layer.d.ts +1 -1
- package/typed/contour-layer/contour-layer.d.ts +1 -1
- package/typed/cpu-grid-layer/cpu-grid-layer.d.ts +2 -2
- package/typed/gpu-grid-layer/gpu-grid-cell-layer.d.ts +1 -1
- package/typed/gpu-grid-layer/gpu-grid-layer.d.ts +1 -1
- package/typed/grid-aggregation-layer.d.ts +1 -1
- package/typed/grid-layer/grid-layer.d.ts +1 -1
- package/typed/heatmap-layer/heatmap-layer.d.ts +1 -1
- package/typed/heatmap-layer/triangle-layer.d.ts +1 -1
- package/typed/hexagon-layer/hexagon-layer.d.ts +2 -2
- package/typed/screen-grid-layer/screen-grid-cell-layer.d.ts +1 -1
- package/typed/screen-grid-layer/screen-grid-layer.d.ts +1 -1
- package/typed/package.json +0 -6
package/LICENSE
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright Vis.gl contributors.
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
in the Software without restriction, including without limitation the rights
|
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
furnished to do so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
|
11
|
+
all copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
THE SOFTWARE.
|
package/dist/dist.dev.js
CHANGED
|
@@ -758,21 +758,21 @@ var __exports__ = (() => {
|
|
|
758
758
|
return GL2;
|
|
759
759
|
}({});
|
|
760
760
|
|
|
761
|
-
//
|
|
761
|
+
// ../../node_modules/@luma.gl/engine/dist/model/model.js
|
|
762
762
|
var import_core3 = __toESM(require_core2(), 1);
|
|
763
763
|
var import_core4 = __toESM(require_core2(), 1);
|
|
764
764
|
|
|
765
|
-
//
|
|
765
|
+
// ../../node_modules/@luma.gl/shadertools/dist/lib/glsl-utils/highlight.js
|
|
766
766
|
var glsl = (x) => `${x}`;
|
|
767
767
|
|
|
768
|
-
//
|
|
768
|
+
// ../../node_modules/@luma.gl/shadertools/dist/lib/utils/assert.js
|
|
769
769
|
function assert(condition, message2) {
|
|
770
770
|
if (!condition) {
|
|
771
771
|
throw new Error(message2 || "shadertools: assertion failed.");
|
|
772
772
|
}
|
|
773
773
|
}
|
|
774
774
|
|
|
775
|
-
//
|
|
775
|
+
// ../../node_modules/@luma.gl/shadertools/dist/lib/filters/prop-types.js
|
|
776
776
|
var DEFAULT_PROP_VALIDATORS = {
|
|
777
777
|
number: {
|
|
778
778
|
type: "number",
|
|
@@ -853,7 +853,7 @@ var __exports__ = (() => {
|
|
|
853
853
|
return typeof value;
|
|
854
854
|
}
|
|
855
855
|
|
|
856
|
-
//
|
|
856
|
+
// ../../node_modules/@luma.gl/shadertools/dist/module-injectors.js
|
|
857
857
|
var MODULE_INJECTORS_VS = glsl`\
|
|
858
858
|
#ifdef MODULE_LOGDEPTH
|
|
859
859
|
logdepth_adjustPosition(gl_Position);
|
|
@@ -882,7 +882,7 @@ var __exports__ = (() => {
|
|
|
882
882
|
#endif
|
|
883
883
|
`;
|
|
884
884
|
|
|
885
|
-
//
|
|
885
|
+
// ../../node_modules/@luma.gl/shadertools/dist/lib/shader-assembly/shader-injections.js
|
|
886
886
|
var MODULE_INJECTORS = {
|
|
887
887
|
vertex: MODULE_INJECTORS_VS,
|
|
888
888
|
fragment: MODULE_INJECTORS_FS
|
|
@@ -974,7 +974,7 @@ var __exports__ = (() => {
|
|
|
974
974
|
return source;
|
|
975
975
|
}
|
|
976
976
|
|
|
977
|
-
//
|
|
977
|
+
// ../../node_modules/@luma.gl/shadertools/dist/lib/shader-module/shader-module-instance.js
|
|
978
978
|
var ShaderModuleInstance = class {
|
|
979
979
|
static instantiateModules(modules) {
|
|
980
980
|
return modules.map((module) => {
|
|
@@ -1004,7 +1004,7 @@ var __exports__ = (() => {
|
|
|
1004
1004
|
vs,
|
|
1005
1005
|
fs,
|
|
1006
1006
|
dependencies = [],
|
|
1007
|
-
|
|
1007
|
+
uniforms = {},
|
|
1008
1008
|
getUniforms: getUniforms2,
|
|
1009
1009
|
deprecations = [],
|
|
1010
1010
|
defines = {},
|
|
@@ -1019,8 +1019,8 @@ var __exports__ = (() => {
|
|
|
1019
1019
|
this.deprecations = this._parseDeprecationDefinitions(deprecations);
|
|
1020
1020
|
this.defines = defines;
|
|
1021
1021
|
this.injections = normalizeInjections(inject);
|
|
1022
|
-
if (
|
|
1023
|
-
this.uniforms = makePropValidators(
|
|
1022
|
+
if (uniforms) {
|
|
1023
|
+
this.uniforms = makePropValidators(uniforms);
|
|
1024
1024
|
}
|
|
1025
1025
|
}
|
|
1026
1026
|
getModuleSource(stage) {
|
|
@@ -1092,7 +1092,7 @@ ${moduleSource}// END MODULE_${this.name}
|
|
|
1092
1092
|
}
|
|
1093
1093
|
};
|
|
1094
1094
|
|
|
1095
|
-
//
|
|
1095
|
+
// ../../node_modules/@luma.gl/shadertools/dist/lib/shader-assembly/resolve-modules.js
|
|
1096
1096
|
function resolveModules(modules) {
|
|
1097
1097
|
const instances = ShaderModuleInstance.instantiateModules(modules);
|
|
1098
1098
|
return getShaderDependencies(instances);
|
|
@@ -1136,7 +1136,7 @@ ${moduleSource}// END MODULE_${this.name}
|
|
|
1136
1136
|
}
|
|
1137
1137
|
}
|
|
1138
1138
|
|
|
1139
|
-
//
|
|
1139
|
+
// ../../node_modules/@luma.gl/shadertools/dist/lib/shader-assembly/platform-defines.js
|
|
1140
1140
|
function getPlatformShaderDefines(platformInfo) {
|
|
1141
1141
|
switch (platformInfo === null || platformInfo === void 0 ? void 0 : platformInfo.gpu.toLowerCase()) {
|
|
1142
1142
|
case "apple":
|
|
@@ -1236,7 +1236,7 @@ ${moduleSource}// END MODULE_${this.name}
|
|
|
1236
1236
|
return versionDefines;
|
|
1237
1237
|
}
|
|
1238
1238
|
|
|
1239
|
-
//
|
|
1239
|
+
// ../../node_modules/@luma.gl/shadertools/dist/lib/shader-transpiler/transpile-glsl-shader.js
|
|
1240
1240
|
function transpileGLSLShader(source, targetGLSLVersion, stage) {
|
|
1241
1241
|
switch (targetGLSLVersion) {
|
|
1242
1242
|
case 300:
|
|
@@ -1302,7 +1302,7 @@ ${match}`).replace(new RegExp(`\\b${ES100_FRAGMENT_OUTPUT_NAME}\\b`, "g"), outpu
|
|
|
1302
1302
|
return new RegExp(`\\b${qualifier}[ \\t]+(\\w+[ \\t]+\\w+(\\[\\w+\\])?;)`, "g");
|
|
1303
1303
|
}
|
|
1304
1304
|
|
|
1305
|
-
//
|
|
1305
|
+
// ../../node_modules/@luma.gl/shadertools/dist/lib/shader-assembly/shader-hooks.js
|
|
1306
1306
|
function getShaderHooks(hookFunctions, hookInjections) {
|
|
1307
1307
|
let result = "";
|
|
1308
1308
|
for (const hookName in hookFunctions) {
|
|
@@ -1362,7 +1362,7 @@ ${match}`).replace(new RegExp(`\\b${ES100_FRAGMENT_OUTPUT_NAME}\\b`, "g"), outpu
|
|
|
1362
1362
|
return result;
|
|
1363
1363
|
}
|
|
1364
1364
|
|
|
1365
|
-
//
|
|
1365
|
+
// ../../node_modules/@luma.gl/shadertools/dist/lib/shader-assembly/assemble-shaders.js
|
|
1366
1366
|
var INJECT_SHADER_DECLARATIONS = `
|
|
1367
1367
|
|
|
1368
1368
|
${DECLARATION_INJECT_MARKER}
|
|
@@ -1634,7 +1634,7 @@ ${stage === "fragment" ? FRAGMENT_SHADER_PROLOGUE : ""}
|
|
|
1634
1634
|
return sourceText;
|
|
1635
1635
|
}
|
|
1636
1636
|
|
|
1637
|
-
//
|
|
1637
|
+
// ../../node_modules/@luma.gl/shadertools/dist/lib/shader-assembly/select-shaders.js
|
|
1638
1638
|
function selectShaders(platformInfo, props) {
|
|
1639
1639
|
if (!props.vs) {
|
|
1640
1640
|
throw new Error("no vertex shader");
|
|
@@ -1668,7 +1668,7 @@ ${stage === "fragment" ? FRAGMENT_SHADER_PROLOGUE : ""}
|
|
|
1668
1668
|
}
|
|
1669
1669
|
}
|
|
1670
1670
|
|
|
1671
|
-
//
|
|
1671
|
+
// ../../node_modules/@luma.gl/shadertools/dist/lib/shader-assembler.js
|
|
1672
1672
|
var ShaderAssembler = class {
|
|
1673
1673
|
constructor() {
|
|
1674
1674
|
this._hookFunctions = [];
|
|
@@ -1731,7 +1731,216 @@ ${stage === "fragment" ? FRAGMENT_SHADER_PROLOGUE : ""}
|
|
|
1731
1731
|
};
|
|
1732
1732
|
ShaderAssembler.defaultShaderAssembler = void 0;
|
|
1733
1733
|
|
|
1734
|
-
//
|
|
1734
|
+
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64-utils.js
|
|
1735
|
+
function fp64ify(a) {
|
|
1736
|
+
let out = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
|
|
1737
|
+
let startIndex = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;
|
|
1738
|
+
const hiPart = Math.fround(a);
|
|
1739
|
+
const loPart = a - hiPart;
|
|
1740
|
+
out[startIndex] = hiPart;
|
|
1741
|
+
out[startIndex + 1] = loPart;
|
|
1742
|
+
return out;
|
|
1743
|
+
}
|
|
1744
|
+
function fp64LowPart(a) {
|
|
1745
|
+
return a - Math.fround(a);
|
|
1746
|
+
}
|
|
1747
|
+
function fp64ifyMatrix4(matrix) {
|
|
1748
|
+
const matrixFP64 = new Float32Array(32);
|
|
1749
|
+
for (let i = 0; i < 4; ++i) {
|
|
1750
|
+
for (let j = 0; j < 4; ++j) {
|
|
1751
|
+
const index = i * 4 + j;
|
|
1752
|
+
fp64ify(matrix[j * 4 + i], matrixFP64, index * 2);
|
|
1753
|
+
}
|
|
1754
|
+
}
|
|
1755
|
+
return matrixFP64;
|
|
1756
|
+
}
|
|
1757
|
+
|
|
1758
|
+
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64-arithmetic.glsl.js
|
|
1759
|
+
var fp64arithmeticShader = glsl`\
|
|
1760
|
+
uniform float ONE;
|
|
1761
|
+
|
|
1762
|
+
/*
|
|
1763
|
+
About LUMA_FP64_CODE_ELIMINATION_WORKAROUND
|
|
1764
|
+
|
|
1765
|
+
The purpose of this workaround is to prevent shader compilers from
|
|
1766
|
+
optimizing away necessary arithmetic operations by swapping their sequences
|
|
1767
|
+
or transform the equation to some 'equivalent' from.
|
|
1768
|
+
|
|
1769
|
+
The method is to multiply an artifical variable, ONE, which will be known to
|
|
1770
|
+
the compiler to be 1 only at runtime. The whole expression is then represented
|
|
1771
|
+
as a polynomial with respective to ONE. In the coefficients of all terms, only one a
|
|
1772
|
+
and one b should appear
|
|
1773
|
+
|
|
1774
|
+
err = (a + b) * ONE^6 - a * ONE^5 - (a + b) * ONE^4 + a * ONE^3 - b - (a + b) * ONE^2 + a * ONE
|
|
1775
|
+
*/
|
|
1776
|
+
|
|
1777
|
+
// Divide float number to high and low floats to extend fraction bits
|
|
1778
|
+
vec2 split(float a) {
|
|
1779
|
+
const float SPLIT = 4097.0;
|
|
1780
|
+
float t = a * SPLIT;
|
|
1781
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
1782
|
+
float a_hi = t * ONE - (t - a);
|
|
1783
|
+
float a_lo = a * ONE - a_hi;
|
|
1784
|
+
#else
|
|
1785
|
+
float a_hi = t - (t - a);
|
|
1786
|
+
float a_lo = a - a_hi;
|
|
1787
|
+
#endif
|
|
1788
|
+
return vec2(a_hi, a_lo);
|
|
1789
|
+
}
|
|
1790
|
+
|
|
1791
|
+
// Divide float number again when high float uses too many fraction bits
|
|
1792
|
+
vec2 split2(vec2 a) {
|
|
1793
|
+
vec2 b = split(a.x);
|
|
1794
|
+
b.y += a.y;
|
|
1795
|
+
return b;
|
|
1796
|
+
}
|
|
1797
|
+
|
|
1798
|
+
// Special sum operation when a > b
|
|
1799
|
+
vec2 quickTwoSum(float a, float b) {
|
|
1800
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
1801
|
+
float sum = (a + b) * ONE;
|
|
1802
|
+
float err = b - (sum - a) * ONE;
|
|
1803
|
+
#else
|
|
1804
|
+
float sum = a + b;
|
|
1805
|
+
float err = b - (sum - a);
|
|
1806
|
+
#endif
|
|
1807
|
+
return vec2(sum, err);
|
|
1808
|
+
}
|
|
1809
|
+
|
|
1810
|
+
// General sum operation
|
|
1811
|
+
vec2 twoSum(float a, float b) {
|
|
1812
|
+
float s = (a + b);
|
|
1813
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
1814
|
+
float v = (s * ONE - a) * ONE;
|
|
1815
|
+
float err = (a - (s - v) * ONE) * ONE * ONE * ONE + (b - v);
|
|
1816
|
+
#else
|
|
1817
|
+
float v = s - a;
|
|
1818
|
+
float err = (a - (s - v)) + (b - v);
|
|
1819
|
+
#endif
|
|
1820
|
+
return vec2(s, err);
|
|
1821
|
+
}
|
|
1822
|
+
|
|
1823
|
+
vec2 twoSub(float a, float b) {
|
|
1824
|
+
float s = (a - b);
|
|
1825
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
1826
|
+
float v = (s * ONE - a) * ONE;
|
|
1827
|
+
float err = (a - (s - v) * ONE) * ONE * ONE * ONE - (b + v);
|
|
1828
|
+
#else
|
|
1829
|
+
float v = s - a;
|
|
1830
|
+
float err = (a - (s - v)) - (b + v);
|
|
1831
|
+
#endif
|
|
1832
|
+
return vec2(s, err);
|
|
1833
|
+
}
|
|
1834
|
+
|
|
1835
|
+
vec2 twoSqr(float a) {
|
|
1836
|
+
float prod = a * a;
|
|
1837
|
+
vec2 a_fp64 = split(a);
|
|
1838
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
1839
|
+
float err = ((a_fp64.x * a_fp64.x - prod) * ONE + 2.0 * a_fp64.x *
|
|
1840
|
+
a_fp64.y * ONE * ONE) + a_fp64.y * a_fp64.y * ONE * ONE * ONE;
|
|
1841
|
+
#else
|
|
1842
|
+
float err = ((a_fp64.x * a_fp64.x - prod) + 2.0 * a_fp64.x * a_fp64.y) + a_fp64.y * a_fp64.y;
|
|
1843
|
+
#endif
|
|
1844
|
+
return vec2(prod, err);
|
|
1845
|
+
}
|
|
1846
|
+
|
|
1847
|
+
vec2 twoProd(float a, float b) {
|
|
1848
|
+
float prod = a * b;
|
|
1849
|
+
vec2 a_fp64 = split(a);
|
|
1850
|
+
vec2 b_fp64 = split(b);
|
|
1851
|
+
float err = ((a_fp64.x * b_fp64.x - prod) + a_fp64.x * b_fp64.y +
|
|
1852
|
+
a_fp64.y * b_fp64.x) + a_fp64.y * b_fp64.y;
|
|
1853
|
+
return vec2(prod, err);
|
|
1854
|
+
}
|
|
1855
|
+
|
|
1856
|
+
vec2 sum_fp64(vec2 a, vec2 b) {
|
|
1857
|
+
vec2 s, t;
|
|
1858
|
+
s = twoSum(a.x, b.x);
|
|
1859
|
+
t = twoSum(a.y, b.y);
|
|
1860
|
+
s.y += t.x;
|
|
1861
|
+
s = quickTwoSum(s.x, s.y);
|
|
1862
|
+
s.y += t.y;
|
|
1863
|
+
s = quickTwoSum(s.x, s.y);
|
|
1864
|
+
return s;
|
|
1865
|
+
}
|
|
1866
|
+
|
|
1867
|
+
vec2 sub_fp64(vec2 a, vec2 b) {
|
|
1868
|
+
vec2 s, t;
|
|
1869
|
+
s = twoSub(a.x, b.x);
|
|
1870
|
+
t = twoSub(a.y, b.y);
|
|
1871
|
+
s.y += t.x;
|
|
1872
|
+
s = quickTwoSum(s.x, s.y);
|
|
1873
|
+
s.y += t.y;
|
|
1874
|
+
s = quickTwoSum(s.x, s.y);
|
|
1875
|
+
return s;
|
|
1876
|
+
}
|
|
1877
|
+
|
|
1878
|
+
vec2 mul_fp64(vec2 a, vec2 b) {
|
|
1879
|
+
vec2 prod = twoProd(a.x, b.x);
|
|
1880
|
+
// y component is for the error
|
|
1881
|
+
prod.y += a.x * b.y;
|
|
1882
|
+
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
1883
|
+
prod = split2(prod);
|
|
1884
|
+
#endif
|
|
1885
|
+
prod = quickTwoSum(prod.x, prod.y);
|
|
1886
|
+
prod.y += a.y * b.x;
|
|
1887
|
+
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
1888
|
+
prod = split2(prod);
|
|
1889
|
+
#endif
|
|
1890
|
+
prod = quickTwoSum(prod.x, prod.y);
|
|
1891
|
+
return prod;
|
|
1892
|
+
}
|
|
1893
|
+
|
|
1894
|
+
vec2 div_fp64(vec2 a, vec2 b) {
|
|
1895
|
+
float xn = 1.0 / b.x;
|
|
1896
|
+
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
1897
|
+
vec2 yn = mul_fp64(a, vec2(xn, 0));
|
|
1898
|
+
#else
|
|
1899
|
+
vec2 yn = a * xn;
|
|
1900
|
+
#endif
|
|
1901
|
+
float diff = (sub_fp64(a, mul_fp64(b, yn))).x;
|
|
1902
|
+
vec2 prod = twoProd(xn, diff);
|
|
1903
|
+
return sum_fp64(yn, prod);
|
|
1904
|
+
}
|
|
1905
|
+
|
|
1906
|
+
vec2 sqrt_fp64(vec2 a) {
|
|
1907
|
+
if (a.x == 0.0 && a.y == 0.0) return vec2(0.0, 0.0);
|
|
1908
|
+
if (a.x < 0.0) return vec2(0.0 / 0.0, 0.0 / 0.0);
|
|
1909
|
+
|
|
1910
|
+
float x = 1.0 / sqrt(a.x);
|
|
1911
|
+
float yn = a.x * x;
|
|
1912
|
+
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
1913
|
+
vec2 yn_sqr = twoSqr(yn) * ONE;
|
|
1914
|
+
#else
|
|
1915
|
+
vec2 yn_sqr = twoSqr(yn);
|
|
1916
|
+
#endif
|
|
1917
|
+
float diff = sub_fp64(a, yn_sqr).x;
|
|
1918
|
+
vec2 prod = twoProd(x * 0.5, diff);
|
|
1919
|
+
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
1920
|
+
return sum_fp64(split(yn), prod);
|
|
1921
|
+
#else
|
|
1922
|
+
return sum_fp64(vec2(yn, 0.0), prod);
|
|
1923
|
+
#endif
|
|
1924
|
+
}
|
|
1925
|
+
`;
|
|
1926
|
+
|
|
1927
|
+
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64.js
|
|
1928
|
+
var CONST_UNIFORMS = {
|
|
1929
|
+
ONE: 1
|
|
1930
|
+
};
|
|
1931
|
+
function getUniforms() {
|
|
1932
|
+
return CONST_UNIFORMS;
|
|
1933
|
+
}
|
|
1934
|
+
var fp64arithmetic = {
|
|
1935
|
+
name: "fp64-arithmetic",
|
|
1936
|
+
vs: fp64arithmeticShader,
|
|
1937
|
+
getUniforms,
|
|
1938
|
+
fp64ify,
|
|
1939
|
+
fp64LowPart,
|
|
1940
|
+
fp64ifyMatrix4
|
|
1941
|
+
};
|
|
1942
|
+
|
|
1943
|
+
// ../../node_modules/@luma.gl/engine/dist/geometry/gpu-geometry.js
|
|
1735
1944
|
var import_core = __toESM(require_core2(), 1);
|
|
1736
1945
|
var GPUGeometry = class {
|
|
1737
1946
|
constructor(props) {
|
|
@@ -1834,7 +2043,7 @@ ${stage === "fragment" ? FRAGMENT_SHADER_PROLOGUE : ""}
|
|
|
1834
2043
|
};
|
|
1835
2044
|
}
|
|
1836
2045
|
|
|
1837
|
-
//
|
|
2046
|
+
// ../../node_modules/@luma.gl/engine/dist/lib/pipeline-factory.js
|
|
1838
2047
|
var import_core2 = __toESM(require_core2(), 1);
|
|
1839
2048
|
var PipelineFactory = class {
|
|
1840
2049
|
static getDefaultPipelineFactory(device) {
|
|
@@ -1928,7 +2137,7 @@ ${stage === "fragment" ? FRAGMENT_SHADER_PROLOGUE : ""}
|
|
|
1928
2137
|
fs: void 0
|
|
1929
2138
|
};
|
|
1930
2139
|
|
|
1931
|
-
//
|
|
2140
|
+
// ../../node_modules/@luma.gl/engine/dist/model/model.js
|
|
1932
2141
|
var Model = class {
|
|
1933
2142
|
constructor(device, props) {
|
|
1934
2143
|
this.device = void 0;
|
|
@@ -2200,7 +2409,7 @@ ${stage === "fragment" ? FRAGMENT_SHADER_PROLOGUE : ""}
|
|
|
2200
2409
|
return layouts;
|
|
2201
2410
|
}
|
|
2202
2411
|
|
|
2203
|
-
//
|
|
2412
|
+
// ../../node_modules/@luma.gl/engine/dist/transform/transform.js
|
|
2204
2413
|
var Transform = class {
|
|
2205
2414
|
static isSupported(device) {
|
|
2206
2415
|
return false;
|
|
@@ -2254,7 +2463,7 @@ ${stage === "fragment" ? FRAGMENT_SHADER_PROLOGUE : ""}
|
|
|
2254
2463
|
}
|
|
2255
2464
|
};
|
|
2256
2465
|
|
|
2257
|
-
//
|
|
2466
|
+
// ../../node_modules/@luma.gl/engine/dist/geometry/geometry.js
|
|
2258
2467
|
var import_core5 = __toESM(require_core2(), 1);
|
|
2259
2468
|
var Geometry = class {
|
|
2260
2469
|
constructor(props) {
|
|
@@ -2334,7 +2543,7 @@ ${stage === "fragment" ? FRAGMENT_SHADER_PROLOGUE : ""}
|
|
|
2334
2543
|
}
|
|
2335
2544
|
};
|
|
2336
2545
|
|
|
2337
|
-
//
|
|
2546
|
+
// ../../node_modules/@luma.gl/engine/dist/geometries/cube-geometry.js
|
|
2338
2547
|
var import_core6 = __toESM(require_core2(), 1);
|
|
2339
2548
|
var CubeGeometry = class extends Geometry {
|
|
2340
2549
|
constructor() {
|
|
@@ -2403,218 +2612,6 @@ ${stage === "fragment" ? FRAGMENT_SHADER_PROLOGUE : ""}
|
|
|
2403
2612
|
}
|
|
2404
2613
|
};
|
|
2405
2614
|
|
|
2406
|
-
// ../../node_modules/@luma.gl/shadertools/dist/lib/glsl-utils/highlight.js
|
|
2407
|
-
var glsl2 = (x) => `${x}`;
|
|
2408
|
-
|
|
2409
|
-
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64-utils.js
|
|
2410
|
-
function fp64ify(a) {
|
|
2411
|
-
let out = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
|
|
2412
|
-
let startIndex = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;
|
|
2413
|
-
const hiPart = Math.fround(a);
|
|
2414
|
-
const loPart = a - hiPart;
|
|
2415
|
-
out[startIndex] = hiPart;
|
|
2416
|
-
out[startIndex + 1] = loPart;
|
|
2417
|
-
return out;
|
|
2418
|
-
}
|
|
2419
|
-
function fp64LowPart(a) {
|
|
2420
|
-
return a - Math.fround(a);
|
|
2421
|
-
}
|
|
2422
|
-
function fp64ifyMatrix4(matrix) {
|
|
2423
|
-
const matrixFP64 = new Float32Array(32);
|
|
2424
|
-
for (let i = 0; i < 4; ++i) {
|
|
2425
|
-
for (let j = 0; j < 4; ++j) {
|
|
2426
|
-
const index = i * 4 + j;
|
|
2427
|
-
fp64ify(matrix[j * 4 + i], matrixFP64, index * 2);
|
|
2428
|
-
}
|
|
2429
|
-
}
|
|
2430
|
-
return matrixFP64;
|
|
2431
|
-
}
|
|
2432
|
-
|
|
2433
|
-
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64-arithmetic.glsl.js
|
|
2434
|
-
var fp64arithmeticShader = glsl2`\
|
|
2435
|
-
uniform float ONE;
|
|
2436
|
-
|
|
2437
|
-
/*
|
|
2438
|
-
About LUMA_FP64_CODE_ELIMINATION_WORKAROUND
|
|
2439
|
-
|
|
2440
|
-
The purpose of this workaround is to prevent shader compilers from
|
|
2441
|
-
optimizing away necessary arithmetic operations by swapping their sequences
|
|
2442
|
-
or transform the equation to some 'equivalent' from.
|
|
2443
|
-
|
|
2444
|
-
The method is to multiply an artifical variable, ONE, which will be known to
|
|
2445
|
-
the compiler to be 1 only at runtime. The whole expression is then represented
|
|
2446
|
-
as a polynomial with respective to ONE. In the coefficients of all terms, only one a
|
|
2447
|
-
and one b should appear
|
|
2448
|
-
|
|
2449
|
-
err = (a + b) * ONE^6 - a * ONE^5 - (a + b) * ONE^4 + a * ONE^3 - b - (a + b) * ONE^2 + a * ONE
|
|
2450
|
-
*/
|
|
2451
|
-
|
|
2452
|
-
// Divide float number to high and low floats to extend fraction bits
|
|
2453
|
-
vec2 split(float a) {
|
|
2454
|
-
const float SPLIT = 4097.0;
|
|
2455
|
-
float t = a * SPLIT;
|
|
2456
|
-
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
2457
|
-
float a_hi = t * ONE - (t - a);
|
|
2458
|
-
float a_lo = a * ONE - a_hi;
|
|
2459
|
-
#else
|
|
2460
|
-
float a_hi = t - (t - a);
|
|
2461
|
-
float a_lo = a - a_hi;
|
|
2462
|
-
#endif
|
|
2463
|
-
return vec2(a_hi, a_lo);
|
|
2464
|
-
}
|
|
2465
|
-
|
|
2466
|
-
// Divide float number again when high float uses too many fraction bits
|
|
2467
|
-
vec2 split2(vec2 a) {
|
|
2468
|
-
vec2 b = split(a.x);
|
|
2469
|
-
b.y += a.y;
|
|
2470
|
-
return b;
|
|
2471
|
-
}
|
|
2472
|
-
|
|
2473
|
-
// Special sum operation when a > b
|
|
2474
|
-
vec2 quickTwoSum(float a, float b) {
|
|
2475
|
-
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
2476
|
-
float sum = (a + b) * ONE;
|
|
2477
|
-
float err = b - (sum - a) * ONE;
|
|
2478
|
-
#else
|
|
2479
|
-
float sum = a + b;
|
|
2480
|
-
float err = b - (sum - a);
|
|
2481
|
-
#endif
|
|
2482
|
-
return vec2(sum, err);
|
|
2483
|
-
}
|
|
2484
|
-
|
|
2485
|
-
// General sum operation
|
|
2486
|
-
vec2 twoSum(float a, float b) {
|
|
2487
|
-
float s = (a + b);
|
|
2488
|
-
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
2489
|
-
float v = (s * ONE - a) * ONE;
|
|
2490
|
-
float err = (a - (s - v) * ONE) * ONE * ONE * ONE + (b - v);
|
|
2491
|
-
#else
|
|
2492
|
-
float v = s - a;
|
|
2493
|
-
float err = (a - (s - v)) + (b - v);
|
|
2494
|
-
#endif
|
|
2495
|
-
return vec2(s, err);
|
|
2496
|
-
}
|
|
2497
|
-
|
|
2498
|
-
vec2 twoSub(float a, float b) {
|
|
2499
|
-
float s = (a - b);
|
|
2500
|
-
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
2501
|
-
float v = (s * ONE - a) * ONE;
|
|
2502
|
-
float err = (a - (s - v) * ONE) * ONE * ONE * ONE - (b + v);
|
|
2503
|
-
#else
|
|
2504
|
-
float v = s - a;
|
|
2505
|
-
float err = (a - (s - v)) - (b + v);
|
|
2506
|
-
#endif
|
|
2507
|
-
return vec2(s, err);
|
|
2508
|
-
}
|
|
2509
|
-
|
|
2510
|
-
vec2 twoSqr(float a) {
|
|
2511
|
-
float prod = a * a;
|
|
2512
|
-
vec2 a_fp64 = split(a);
|
|
2513
|
-
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
2514
|
-
float err = ((a_fp64.x * a_fp64.x - prod) * ONE + 2.0 * a_fp64.x *
|
|
2515
|
-
a_fp64.y * ONE * ONE) + a_fp64.y * a_fp64.y * ONE * ONE * ONE;
|
|
2516
|
-
#else
|
|
2517
|
-
float err = ((a_fp64.x * a_fp64.x - prod) + 2.0 * a_fp64.x * a_fp64.y) + a_fp64.y * a_fp64.y;
|
|
2518
|
-
#endif
|
|
2519
|
-
return vec2(prod, err);
|
|
2520
|
-
}
|
|
2521
|
-
|
|
2522
|
-
vec2 twoProd(float a, float b) {
|
|
2523
|
-
float prod = a * b;
|
|
2524
|
-
vec2 a_fp64 = split(a);
|
|
2525
|
-
vec2 b_fp64 = split(b);
|
|
2526
|
-
float err = ((a_fp64.x * b_fp64.x - prod) + a_fp64.x * b_fp64.y +
|
|
2527
|
-
a_fp64.y * b_fp64.x) + a_fp64.y * b_fp64.y;
|
|
2528
|
-
return vec2(prod, err);
|
|
2529
|
-
}
|
|
2530
|
-
|
|
2531
|
-
vec2 sum_fp64(vec2 a, vec2 b) {
|
|
2532
|
-
vec2 s, t;
|
|
2533
|
-
s = twoSum(a.x, b.x);
|
|
2534
|
-
t = twoSum(a.y, b.y);
|
|
2535
|
-
s.y += t.x;
|
|
2536
|
-
s = quickTwoSum(s.x, s.y);
|
|
2537
|
-
s.y += t.y;
|
|
2538
|
-
s = quickTwoSum(s.x, s.y);
|
|
2539
|
-
return s;
|
|
2540
|
-
}
|
|
2541
|
-
|
|
2542
|
-
vec2 sub_fp64(vec2 a, vec2 b) {
|
|
2543
|
-
vec2 s, t;
|
|
2544
|
-
s = twoSub(a.x, b.x);
|
|
2545
|
-
t = twoSub(a.y, b.y);
|
|
2546
|
-
s.y += t.x;
|
|
2547
|
-
s = quickTwoSum(s.x, s.y);
|
|
2548
|
-
s.y += t.y;
|
|
2549
|
-
s = quickTwoSum(s.x, s.y);
|
|
2550
|
-
return s;
|
|
2551
|
-
}
|
|
2552
|
-
|
|
2553
|
-
vec2 mul_fp64(vec2 a, vec2 b) {
|
|
2554
|
-
vec2 prod = twoProd(a.x, b.x);
|
|
2555
|
-
// y component is for the error
|
|
2556
|
-
prod.y += a.x * b.y;
|
|
2557
|
-
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
2558
|
-
prod = split2(prod);
|
|
2559
|
-
#endif
|
|
2560
|
-
prod = quickTwoSum(prod.x, prod.y);
|
|
2561
|
-
prod.y += a.y * b.x;
|
|
2562
|
-
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
2563
|
-
prod = split2(prod);
|
|
2564
|
-
#endif
|
|
2565
|
-
prod = quickTwoSum(prod.x, prod.y);
|
|
2566
|
-
return prod;
|
|
2567
|
-
}
|
|
2568
|
-
|
|
2569
|
-
vec2 div_fp64(vec2 a, vec2 b) {
|
|
2570
|
-
float xn = 1.0 / b.x;
|
|
2571
|
-
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
2572
|
-
vec2 yn = mul_fp64(a, vec2(xn, 0));
|
|
2573
|
-
#else
|
|
2574
|
-
vec2 yn = a * xn;
|
|
2575
|
-
#endif
|
|
2576
|
-
float diff = (sub_fp64(a, mul_fp64(b, yn))).x;
|
|
2577
|
-
vec2 prod = twoProd(xn, diff);
|
|
2578
|
-
return sum_fp64(yn, prod);
|
|
2579
|
-
}
|
|
2580
|
-
|
|
2581
|
-
vec2 sqrt_fp64(vec2 a) {
|
|
2582
|
-
if (a.x == 0.0 && a.y == 0.0) return vec2(0.0, 0.0);
|
|
2583
|
-
if (a.x < 0.0) return vec2(0.0 / 0.0, 0.0 / 0.0);
|
|
2584
|
-
|
|
2585
|
-
float x = 1.0 / sqrt(a.x);
|
|
2586
|
-
float yn = a.x * x;
|
|
2587
|
-
#if defined(LUMA_FP64_CODE_ELIMINATION_WORKAROUND)
|
|
2588
|
-
vec2 yn_sqr = twoSqr(yn) * ONE;
|
|
2589
|
-
#else
|
|
2590
|
-
vec2 yn_sqr = twoSqr(yn);
|
|
2591
|
-
#endif
|
|
2592
|
-
float diff = sub_fp64(a, yn_sqr).x;
|
|
2593
|
-
vec2 prod = twoProd(x * 0.5, diff);
|
|
2594
|
-
#if defined(LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND)
|
|
2595
|
-
return sum_fp64(split(yn), prod);
|
|
2596
|
-
#else
|
|
2597
|
-
return sum_fp64(vec2(yn, 0.0), prod);
|
|
2598
|
-
#endif
|
|
2599
|
-
}
|
|
2600
|
-
`;
|
|
2601
|
-
|
|
2602
|
-
// ../../node_modules/@luma.gl/shadertools/dist/modules-webgl1/math/fp64/fp64.js
|
|
2603
|
-
var CONST_UNIFORMS = {
|
|
2604
|
-
ONE: 1
|
|
2605
|
-
};
|
|
2606
|
-
function getUniforms() {
|
|
2607
|
-
return CONST_UNIFORMS;
|
|
2608
|
-
}
|
|
2609
|
-
var fp64arithmetic = {
|
|
2610
|
-
name: "fp64-arithmetic",
|
|
2611
|
-
vs: fp64arithmeticShader,
|
|
2612
|
-
getUniforms,
|
|
2613
|
-
fp64ify,
|
|
2614
|
-
fp64LowPart,
|
|
2615
|
-
fp64ifyMatrix4
|
|
2616
|
-
};
|
|
2617
|
-
|
|
2618
2615
|
// ../../node_modules/@luma.gl/webgl/dist/context/context/create-headless-context.js
|
|
2619
2616
|
var ERR_HEADLESSGL_FAILED = "Failed to create WebGL context in Node.js, headless gl returned null";
|
|
2620
2617
|
var ERR_HEADLESSGL_LOAD = " luma.gl: loaded under Node.js without headless gl installed, meaning that WebGL contexts can not be created. This may not be an error. For example, this is a typical configuration for isorender applications running on the server.";
|