@roomle/web-sdk 5.1.0-alpha.4 → 5.1.0-alpha.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.
- package/lib/{BufferGeometry-Bl5whHAB.mjs → BufferGeometry-CxlpBjLq.mjs} +192 -195
- package/lib/BufferGeometry-CxlpBjLq.mjs.map +1 -0
- package/lib/ConfiguratorKernel.wasm +0 -0
- package/lib/{GLTFExporter-yQ7mMauu.mjs → GLTFExporter-DeNw0qAI.mjs} +86 -80
- package/lib/GLTFExporter-DeNw0qAI.mjs.map +1 -0
- package/lib/GaussianBlurNode-BR1cKBsX.mjs +65 -0
- package/lib/GaussianBlurNode-BR1cKBsX.mjs.map +1 -0
- package/lib/{Object3D-BHdngbxB.mjs → Object3D-CALIQdg1.mjs} +142 -59
- package/lib/Object3D-CALIQdg1.mjs.map +1 -0
- package/lib/{Pass-DLiMLT5k.mjs → Pass-DCljS3Z-.mjs} +4 -4
- package/lib/{Pass-DLiMLT5k.mjs.map → Pass-DCljS3Z-.mjs.map} +1 -1
- package/lib/{PointLightHelper-CuPSBuDU.mjs → PointLightHelper-C_0CYp7R.mjs} +35 -32
- package/lib/PointLightHelper-C_0CYp7R.mjs.map +1 -0
- package/lib/RoomleCore.wasm +0 -0
- package/lib/RoomleToolsCore.wasm +0 -0
- package/lib/{SpotLightHelper-m-Rh8vGU.mjs → SpotLightHelper-UUIHn43T.mjs} +22 -19
- package/lib/SpotLightHelper-UUIHn43T.mjs.map +1 -0
- package/lib/{USDZExporter-MdkuT226.mjs → USDZExporter-BBNw7Hey.mjs} +6 -3
- package/lib/USDZExporter-BBNw7Hey.mjs.map +1 -0
- package/lib/{Vector4-C7TlIAyy.mjs → Vector4-BOcWTZJI.mjs} +2 -2
- package/lib/Vector4-BOcWTZJI.mjs.map +1 -0
- package/lib/{api-Bznmr-xZ.mjs → api-CwEjmjrn.mjs} +2 -2
- package/lib/{api-Bznmr-xZ.mjs.map → api-CwEjmjrn.mjs.map} +1 -1
- package/lib/{banana-for-scale-DpKXNBt_.mjs → banana-for-scale-Cf41yXTl.mjs} +3 -3
- package/lib/{banana-for-scale-DpKXNBt_.mjs.map → banana-for-scale-Cf41yXTl.mjs.map} +1 -1
- package/lib/{common-utils-DbL4tku0.mjs → common-utils-OTJQGohe.mjs} +3 -3
- package/lib/common-utils-OTJQGohe.mjs.map +1 -0
- package/lib/{component-dimensioning-BaUqwqYJ.mjs → component-dimensioning-yPK46Y5o.mjs} +26 -26
- package/lib/{component-dimensioning-BaUqwqYJ.mjs.map → component-dimensioning-yPK46Y5o.mjs.map} +1 -1
- package/lib/{component-raycast-helper-4i8b4E5B.mjs → component-raycast-helper-CnpnRaFg.mjs} +15 -15
- package/lib/{component-raycast-helper-4i8b4E5B.mjs.map → component-raycast-helper-CnpnRaFg.mjs.map} +1 -1
- package/lib/{configurator-CDw_c6tB.mjs → configurator-iYlO_buA.mjs} +4 -4
- package/lib/{configurator-CDw_c6tB.mjs.map → configurator-iYlO_buA.mjs.map} +1 -1
- package/lib/configurator-y7zIaUe_.mjs +2 -0
- package/lib/{continuous-drawing-helper-DqHIR_qF.mjs → continuous-drawing-helper-CTfGRTfH.mjs} +3 -3
- package/lib/{continuous-drawing-helper-DqHIR_qF.mjs.map → continuous-drawing-helper-CTfGRTfH.mjs.map} +1 -1
- package/lib/dimensioning-helper-CQlesi-m.mjs +2 -0
- package/lib/{dimensioning-helper-CGPjS2hW.mjs → dimensioning-helper-DSlkLDmx.mjs} +42 -36
- package/lib/dimensioning-helper-DSlkLDmx.mjs.map +1 -0
- package/lib/{glb-viewer-B-Zr743e.mjs → glb-viewer-AGV-_xKd.mjs} +33 -33
- package/lib/{glb-viewer-B-Zr743e.mjs.map → glb-viewer-AGV-_xKd.mjs.map} +1 -1
- package/lib/glb-viewer-DSzNR4CI.mjs +2 -0
- package/lib/{highlight-coordinator-4gkjde82.mjs → highlight-coordinator-DU6oFunq.mjs} +6 -6
- package/lib/{highlight-coordinator-4gkjde82.mjs.map → highlight-coordinator-DU6oFunq.mjs.map} +1 -1
- package/lib/{homag-intelligence-D7S7r-Gc.mjs → homag-intelligence-D_yBv0ig.mjs} +3 -3
- package/lib/{homag-intelligence-D7S7r-Gc.mjs.map → homag-intelligence-D_yBv0ig.mjs.map} +1 -1
- package/lib/{hosek-wilkie-sky-iMar2iw-.mjs → hosek-wilkie-sky-DmTvnxMA.mjs} +33 -33
- package/lib/{hosek-wilkie-sky-iMar2iw-.mjs.map → hosek-wilkie-sky-DmTvnxMA.mjs.map} +1 -1
- package/lib/{imos-ix-poc-export-helper-CyGqK7nu.mjs → imos-ix-poc-export-helper-BGN97m8W.mjs} +3 -3
- package/lib/{imos-ix-poc-export-helper-CyGqK7nu.mjs.map → imos-ix-poc-export-helper-BGN97m8W.mjs.map} +1 -1
- package/lib/{kernel-utils-BvatnA7U.mjs → kernel-utils-BYKmP0mf.mjs} +13 -13
- package/lib/{kernel-utils-BvatnA7U.mjs.map → kernel-utils-BYKmP0mf.mjs.map} +1 -1
- package/lib/{material-viewer-CTsSfTfL.mjs → material-viewer-BuBSXGw6.mjs} +18 -18
- package/lib/{material-viewer-CTsSfTfL.mjs.map → material-viewer-BuBSXGw6.mjs.map} +1 -1
- package/lib/{packages-BXAZEcKa.mjs → packages-CduZDHYG.mjs} +5 -5
- package/lib/{packages-BXAZEcKa.mjs.map → packages-CduZDHYG.mjs.map} +1 -1
- package/lib/planner-B-SWR4R8.mjs +2 -0
- package/lib/{planner-jvLAnYww.mjs → planner-BuBkFbra.mjs} +3 -3
- package/lib/{planner-jvLAnYww.mjs.map → planner-BuBkFbra.mjs.map} +1 -1
- package/lib/{plugin-system-CRaC04G5.mjs → plugin-system-CPf99Zkf.mjs} +2 -2
- package/lib/{plugin-system-CRaC04G5.mjs.map → plugin-system-CPf99Zkf.mjs.map} +1 -1
- package/lib/{render-cache-DCPIQbO1.mjs → render-cache-CPppt7Rd.mjs} +5 -5
- package/lib/{render-cache-DCPIQbO1.mjs.map → render-cache-CPppt7Rd.mjs.map} +1 -1
- package/lib/{render-order-BPF2wDMw.mjs → render-order-a0QAbB7Q.mjs} +2 -2
- package/lib/{render-order-BPF2wDMw.mjs.map → render-order-a0QAbB7Q.mjs.map} +1 -1
- package/lib/roomle-headless.d.ts +0 -2
- package/lib/roomle-headless.js +14 -14
- package/lib/{roomle-renderer-Ato6RMrd.mjs → roomle-renderer-UJINLYxS.mjs} +2 -2
- package/lib/{roomle-renderer-Ato6RMrd.mjs.map → roomle-renderer-UJINLYxS.mjs.map} +1 -1
- package/lib/{roomle-sdk-CBwhwX_e.mjs → roomle-sdk-CcNdTp_n.mjs} +1844 -1889
- package/lib/roomle-sdk-CcNdTp_n.mjs.map +1 -0
- package/lib/roomle-sdk.d.ts +0 -2
- package/lib/roomle-sdk.js +7 -7
- package/lib/{roomle-webgpu-renderer-BfZKcXSz.mjs → roomle-webgpu-renderer-BSvxbopA.mjs} +900 -707
- package/lib/roomle-webgpu-renderer-BSvxbopA.mjs.map +1 -0
- package/lib/{scene-renderer-BHYZac3H.mjs → scene-renderer--DzrpIl_.mjs} +309 -309
- package/lib/{scene-renderer-BHYZac3H.mjs.map → scene-renderer--DzrpIl_.mjs.map} +1 -1
- package/lib/{script-loader-CvnG6LgL.mjs → script-loader-D6i0wQ_j.mjs} +2 -2
- package/lib/{script-loader-CvnG6LgL.mjs.map → script-loader-D6i0wQ_j.mjs.map} +1 -1
- package/lib/{shading-settings-BBhR7KcS.mjs → shading-settings-6v-7O_Sz.mjs} +49 -49
- package/lib/{shading-settings-BBhR7KcS.mjs.map → shading-settings-6v-7O_Sz.mjs.map} +1 -1
- package/lib/src-6KtBPZXp.mjs +2 -0
- package/lib/{src-HhklrVDg.mjs → src-Dg0wYIom.mjs} +150 -150
- package/lib/{src-HhklrVDg.mjs.map → src-Dg0wYIom.mjs.map} +1 -1
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
- package/lib/{stats-helper-PndcZCzL.mjs → stats-helper-DYjPPDnz.mjs} +2 -2
- package/lib/{stats-helper-PndcZCzL.mjs.map → stats-helper-DYjPPDnz.mjs.map} +1 -1
- package/lib/{three.core-0KaTx8dm.mjs → three.core-BTUCraWz.mjs} +976 -884
- package/lib/three.core-BTUCraWz.mjs.map +1 -0
- package/lib/{three.module-dym6j3lO.mjs → three.module-DUSFrLM6.mjs} +1789 -1739
- package/lib/three.module-DUSFrLM6.mjs.map +1 -0
- package/lib/three.tsl-De6A-G56.mjs +158 -0
- package/lib/three.tsl-De6A-G56.mjs.map +1 -0
- package/lib/three.tsl-DtfvggFX.mjs +2 -0
- package/lib/three.webgpu-B1OhMci_.mjs +3 -0
- package/lib/{three.webgpu-D3nSEIjD.mjs → three.webgpu-wPiwbpFM.mjs} +5806 -4926
- package/lib/three.webgpu-wPiwbpFM.mjs.map +1 -0
- package/lib/{threejs-utils-v1uOvccg.mjs → threejs-utils-lVSsgAiQ.mjs} +68 -68
- package/lib/{threejs-utils-v1uOvccg.mjs.map → threejs-utils-lVSsgAiQ.mjs.map} +1 -1
- package/lib/{tools-core-B29U-88K.mjs → tools-core-CRGER_KC.mjs} +3 -3
- package/lib/{tools-core-B29U-88K.mjs.map → tools-core-CRGER_KC.mjs.map} +1 -1
- package/lib/{webgpu-BHAP6BLI.mjs → webgpu-BxYJfBjz.mjs} +555 -555
- package/lib/{webgpu-BHAP6BLI.mjs.map → webgpu-BxYJfBjz.mjs.map} +1 -1
- package/package.json +5 -5
- package/lib/BufferGeometry-Bl5whHAB.mjs.map +0 -1
- package/lib/GLTFExporter-yQ7mMauu.mjs.map +0 -1
- package/lib/GaussianBlurNode-DNBEf5-n.mjs +0 -59
- package/lib/GaussianBlurNode-DNBEf5-n.mjs.map +0 -1
- package/lib/Object3D-BHdngbxB.mjs.map +0 -1
- package/lib/PointLightHelper-CuPSBuDU.mjs.map +0 -1
- package/lib/SpotLightHelper-m-Rh8vGU.mjs.map +0 -1
- package/lib/USDZExporter-MdkuT226.mjs.map +0 -1
- package/lib/Vector4-C7TlIAyy.mjs.map +0 -1
- package/lib/common-utils-DbL4tku0.mjs.map +0 -1
- package/lib/configurator-BYQdWEvf.mjs +0 -2
- package/lib/dimensioning-helper-CGPjS2hW.mjs.map +0 -1
- package/lib/dimensioning-helper-VndKlIXS.mjs +0 -2
- package/lib/glb-viewer-Bd5Xn6Oq.mjs +0 -2
- package/lib/planner-DMk3T4ts.mjs +0 -2
- package/lib/roomle-sdk-CBwhwX_e.mjs.map +0 -1
- package/lib/roomle-webgpu-renderer-BfZKcXSz.mjs.map +0 -1
- package/lib/src-Bbq3Hqzn.mjs +0 -2
- package/lib/three.core-0KaTx8dm.mjs.map +0 -1
- package/lib/three.module-dym6j3lO.mjs.map +0 -1
- package/lib/three.tsl-BTc4fg8T.mjs +0 -2
- package/lib/three.tsl-Cf0-sCqB.mjs +0 -152
- package/lib/three.tsl-Cf0-sCqB.mjs.map +0 -1
- package/lib/three.webgpu-ClICiWlK.mjs +0 -3
- package/lib/three.webgpu-D3nSEIjD.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosek-wilkie-sky-iMar2iw-.mjs","names":[],"sources":["../../packages/common-core/src/webgpu/hosek-wilkie-configuration.ts","../../packages/common-core/src/webgpu/hosek-wilkie-sky-configuration-builder.ts","../../packages/common-core/src/webgpu/tsl-util.ts","../../packages/common-core/src/webgpu/hosek-wilkie-sky.ts"],"sourcesContent":["export const datasetRGB_R = [\n // albedo 0, turbidity 1\n -1.099459, -1.335146e-1, -4.083223, 5.919603, -1.104166e-1, 1.600158,\n -1.326538e-6, 4.917807, 5.127716e-1, -1.169858, -1.832793e-1, 9.694744e-1,\n 9.495762e-2, -4.738918e-2, 2.194171e-1, 1.095749e-1, 3.603604, 3.815119e-1,\n -9.665225e-1, -1.403888e-1, 5.194457, -1.107607, -8.135181e-1, 4.969661,\n -2.300508e-1, -2.48935, 1.279158, -1.292508, -1.299552e-1, -2.071404,\n -4.752482e-2, 1.215598, -1.904179, 3.027985e-1, 8.707768, 6.332446e-2,\n -9.264666e-1, -1.69678e-1, 4.57407, -4.232936e-1, -7.575833, 5.079755,\n -2.576343e-1, -4.506805, 6.908129e-1, -1.139072, -1.796056e-1, 1.923311,\n 6.788529, -2.364389, -1.064041, 1.71701e-1, 1.534681, 5.01581e-1,\n // albedo 0, turbidity 2\n -1.107257, -1.384411e-1, -4.285744, 5.713157, -1.015992e-1, 1.372638,\n 6.555893e-2, 5.127514, 6.550471e-1, -1.187337, -1.969013e-1, 8.551048e-1,\n 5.289708e-2, -7.626406e-2, 1.733153e-2, 1.779454e-1, 3.801038, 4.742709e-1,\n -9.685321e-1, -1.553308e-1, 4.732492, -1.178935, -7.852791e-1, 4.604492,\n -2.666518e-1, -2.367663, 1.177527, -1.252817, -5.129949e-2, -2.800433,\n -1.295992e-2, 1.308964, -2.204331, 7.276011e-1, 8.699265, 1.188388e-1,\n -9.459509e-1, -2.322133e-1, 4.375041, -1.712018e-1, -7.451681, 5.078019,\n -4.223538e-1, -4.595561, 1.074719, -1.125092, -1.79675e-1, 1.626399, 6.989743,\n -2.406382, -9.060383e-1, 2.961611e-1, 1.337715, 5.43814e-1,\n // albedo 0, turbidity 3\n -1.135338, -1.71616e-1, -1.499253, 2.373491, -1.654023e-1, 9.566404e-1,\n 1.113453e-1, 4.528473, 6.579439e-1, -1.13278, -1.456214e-1, -1.736672,\n 1.756589, -1.087003e-1, 3.757927e-1, 2.52507e-1, 7.178513, 5.003814e-1,\n -1.167176, -2.927225e-1, 5.727667, -3.139244, -6.425204e-1, 2.822634,\n -1.457812e-1, -6.78708, 1.017072, -1.042529, 4.110823e-2, -4.000629, 4.362364,\n 1.09054, -1.338674, 8.246964e-1, 1.095249e1, 2.912211e-1, -1.061598,\n -2.096143e-1, 3.803155, -7.977069, -3.63788, 3.707671, -1.903128e-1,\n -3.397953, 9.9715e-1, -1.07356, -2.077964e-1, 1.492052, 1.626322e1, -5.015304,\n -4.059889e-1, 2.659782e-1, 6.39538e-1, 5.634436e-1,\n // albedo 0, turbidity 4\n -1.172794, -2.111186e-1, -1.360013, 1.60408, -8.473723e-2, 7.217312e-1,\n 1.54803e-1, 4.25701, 6.328974e-1, -1.238374, -2.670827e-1, 3.247678e-1,\n 5.466311e-1, -7.425952e-1, 5.27644e-1, 2.678026e-2, 5.484169, 6.814734e-1,\n -1.176923, -2.574586e-1, 2.304045, -2.797678, 1.464405, 1.998552, 2.550559e-1,\n -4.199772, 7.544892e-1, -1.003284, 1.943984e-2, -2.145066, 1.030924e1,\n -1.525413e1, -2.02301, 5.448699e-1, 8.159497, 5.539148e-1, -1.060017,\n -2.037206e-1, 2.483018, -4.595459, 6.526991, 4.031804, 1.206513e-1, -2.586527,\n 7.875752e-1, -1.081141, -2.123302e-1, 1.092275, 2.683841, -4.166938,\n -1.396582, 4.371205e-1, 1.030233, 6.664862e-1,\n // albedo 0, turbidity 5\n -1.222392, -2.651924e-1, -4.625037e-1, 3.521964e-1, 2.148855e-2, 5.078494e-1,\n 1.79159e-1, 3.852516, 5.998216e-1, -1.42461, -4.710155e-1, -1.826815e-1,\n 1.786277, -1.952442, 5.277612e-1, -1.773629e-2, 2.415874, 6.701272e-1,\n -1.130655, -1.358609e-1, 9.171203e-1, -4.660394, 6.251162, 1.904529,\n 2.639668e-1, 1.85613, 8.22844e-1, -9.739015e-1, -6.674749e-2, -4.768897e-1,\n 1.248589e1, -1.994688e1, -2.353043, 5.885575e-1, 1.287251, 4.830135e-1,\n -1.082178, -1.974495e-1, 1.050245, -4.792855, 8.663406, 3.246969, 1.556731e-1,\n 8.117442e-1, 8.050376e-1, -1.063354, -1.727108e-1, 9.681592e-1, 2.736077,\n -4.969269, -8.36057e-1, 5.994612e-1, 1.024039, 6.786935e-1,\n // albedo 0, turbidity 6\n -1.261936, -3.053676e-1, -4.262222e-1, 4.000196e-1, -2.059388e-2, 4.721802e-1,\n 1.480028e-1, 3.505343, 6.121337e-1, -1.681088, -6.971919e-1, -1.105652e-1,\n 7.437426e-1, -6.594399e-1, 2.254221e-1, 8.710195e-2, 1.263913, 5.681865e-1,\n -9.453001e-1, 3.460388e-2, 6.067038e-1, -1.985128, 3.457236, 2.655483,\n -1.162354e-2, 3.304716, 1.00195, -1.086609, -2.029011e-1, -6.39917e-1,\n 6.926885, -1.512189e1, -3.793051, 9.45612e-1, 2.222222e-1, 2.893725e-1,\n -1.041259, -1.38879e-1, 1.147331, 6.282086, 3.679836, 4.398314, -1.355232e-1,\n 1.031134, 9.273509e-1, -1.063473, -1.916051e-1, 6.556979e-1, -3.371891e-3,\n -3.699664, -1.926783, 7.371154e-1, 1.179975, 6.367068e-1,\n // albedo 0, turbidity 7\n -1.33639, -3.778927e-1, -7.259477e-1, 2.270247e-1, 4.627513e-1, 1.366459e-1,\n 2.637347e-1, 3.292059, 4.998211e-1, -2.119878, -1.055472, 5.422052e-1,\n 7.826648e-1, -1.286065, 9.517905e-1, -1.432358e-1, -2.379816e-1, 5.910513e-1,\n -7.761432e-1, 2.124336e-1, -6.845184e-1, -9.812342e-1, 4.347257, 9.67198e-1,\n 3.77315e-1, 5.789529, 9.646598e-1, -1.118734, -3.513815e-1, 5.500918e-1,\n 9.449627e-1, -1.26207e1, -1.82528, 4.73126e-1, -3.326892, 3.568768e-1,\n -1.026437, -8.257946e-2, 3.221701e-1, 1.198372e1, 1.55513, 2.560304,\n 1.406465e-1, 2.912858, 8.643181e-1, -1.069949, -2.029607e-1, 5.825042e-1,\n -2.398595e-3, -3.278335, -1.349882, 7.208433e-1, 8.505164e-1, 6.625391e-1,\n // albedo 0, turbidity 8\n -1.392309, -4.454945e-1, -5.664e-1, 6.283393e-1, -3.761727e-1, 6.949802e-1,\n 7.748178e-2, 3.192797, 5.968661e-1, -2.713405, -1.395112, 2.02923e-1,\n 1.877272e-1, -3.715859e-1, -1.652929e-1, 2.385861e-1, -4.150768e-1,\n 1.375467e-1, -9.588644e-1, 2.4339e-2, -1.527493, -9.632874e-1, 5.496269,\n 1.094931, 2.004044e-1, 6.084554, 1.369604, -8.028546e-1, -2.473563e-1,\n 1.617898, 2.073591, -1.149446e1, -8.394131e-1, 2.726847e-1, -4.634538,\n 1.367293e-1, -1.198326, -1.804865e-1, -3.565414e-1, 4.0732, 1.662086, 1.23977,\n 3.367978e-1, 2.997402, 9.360383e-1, -1.013531, -1.85906e-1, 5.799857e-1,\n 1.331883e1, -4.346873, -1.11382, 5.275714e-1, 8.045177e-1, 6.496373e-1,\n // albedo 0, turbidity 9\n -1.530103, -6.107468e-1, -3.841771e-1, 1.881508, -1.464807, 6.65469e-1,\n -5.950797e-6, 2.738912, 8.101012e-1, -2.415469, -1.057499, -4.161968e-1,\n -2.357548, 6.300296e-1, 6.224915e-1, 1.545048e-2, 2.038561, -1.339415e-1,\n -3.096796, -1.465688, -1.199232, 4.567061, 3.26098, -9.794907e-1, 8.950491e-1,\n 2.049235, 1.331015, 2.713904e-1, 2.852852e-1, 1.20209, -8.206784, -5.805762,\n 1.804431, -6.090648e-1, -1.990902, 3.288858e-1, -1.45658, -3.45596e-1,\n -6.409257e-2, 1.667697e1, -2.311094, -9.771104e-1, 6.759863e-1, 1.245136,\n 7.911932e-1, -9.860389e-1, -2.099564e-1, 2.94665e-1, -3.5478e-3, -2.268313,\n -6.205647e-2, 4.705185e-1, 8.657995e-1, 6.856284e-1,\n // albedo 0, turbidity 10\n -1.971736, -9.414047e-1, -3.400557e-1, 1.468763, -1.474284, 5.501062e-1,\n -1.10975e-5, 2.35637, 9.001702e-1, -1.589845, -7.797079e-1, -5.58224e-1,\n -8.137376e-1, 5.846617e-1, 1.129459e-1, -2.658005e-2, 2.707248, -2.112486e-1,\n -6.940173, -2.823963, -1.620848, 1.090696, 2.39173, 1.370047, 5.890462e-1,\n 1.7284, 1.331253, 1.293144, -1.919778e-3, 1.644206, -8.666967e-1, -7.161953,\n -1.385018, -1.505374e-1, -1.388643, 2.530122e-1, -1.48888, -2.495496e-1,\n -2.377137e-1, 1.167714e1, -8.617124e-1, 1.053828, 1.992744e-1, 3.633564e-1,\n 8.553304e-1, -1.060891, -4.035829e-1, 2.823207e-1, -2.369798e-3, -1.876577,\n -5.950265e-1, 4.241017e-1, 3.140802e-1, 6.631669e-1,\n // albedo 1, turbidity 1\n -1.101204, -1.351353e-1, -4.030882, 6.096353, -1.148599e-1, 1.606507,\n -1.555474e-6, 4.436084, 5.973715e-1, -1.154597, -1.923378e-1, 8.512132e-1,\n 2.934895e-1, -6.522777e-2, 1.389077e-1, 9.091469e-2, 3.133307, 2.108541e-1,\n -1.031588, -1.546804e-1, 5.266214, -9.49139e-1, -7.184867e-1, 4.875626,\n -1.911907e-1, -2.865642, 1.087895, -1.159454, -9.546699e-2, -1.508146,\n -2.031411e-2, 1.040653, -2.333508, 2.540592e-1, 8.594981, 9.31677e-2,\n -1.03594, -2.021151e-1, 4.719343, -9.019318e-1, -7.858046, 3.901234,\n -2.233137e-1, -4.344739, 6.550733e-1, -1.096669, -1.558196e-1, 2.057553,\n 6.274495, -2.678352, -1.814927, 1.550676e-1, 1.903276, 4.998989e-1,\n // albedo 1, turbidity 2\n -1.114209, -1.473531e-1, -7.602914, 8.973685, -4.980074e-2, 1.289198,\n 8.366906e-2, 4.557987, 6.118757e-1, -1.149397, -1.981628e-1, 4.914096,\n -3.498986, -6.25709e-2, 1.667401e-1, 1.04898e-1, 2.284689, 5.935965e-1,\n -1.056121, -1.456172e-1, 4.272656e-1, 2.912649, -5.501745e-1, 4.406542,\n -1.38768e-1, 1.245555, 9.733011e-1, -1.125047, -4.003662e-2, 1.058457,\n -3.462236, 4.395278e-1, -2.395805, 5.177589e-1, 4.866247, 4.253189e-1,\n -1.051444, -2.804541e-1, 3.364668, 3.293787, -1.015741e1, 3.807407,\n -3.592377e-1, -3.367415, 7.900825e-1, -1.093847, -1.436965e-1, 2.38478,\n 5.78707, -2.445987, -1.311171, 2.326563e-1, 1.158439, 5.555416e-1,\n // albedo 1, turbidity 3\n -1.134824, -1.680468e-1, -3.32562, 4.458596, -1.135063e-1, 1.1045,\n 7.794544e-2, 4.609952, 6.854854e-1, -1.143017, -1.565926e-1, 3.014687e-1,\n -1.763027e-1, -3.557925e-2, -2.342406e-1, 2.528705e-1, 5.884085, 4.750602e-1,\n -1.136801, -2.907502e-1, 3.682423, -4.061202e-1, -8.728159e-1, 4.00151,\n -1.522202e-1, -5.528713, 1.044847, -1.063652, 7.808107e-2, -1.983678,\n 3.648078e-1, 2.102276, -3.06505, 8.431951e-1, 1.03883e1, 2.662834e-1,\n -1.061015, -2.859814e-1, 4.223615, -2.290138, -8.31401, 4.405718,\n -4.613627e-1, -4.50291, 1.008383, -1.106302, -1.697123e-1, 2.087196, 8.238929,\n -2.992416, -1.821776, 3.434859e-1, 7.755179e-1, 5.34119e-1,\n // albedo 1, turbidity 4\n -1.17111, -2.106304e-1, -1.614361, 2.378103, -1.625969e-1, 8.504483e-1,\n 1.059312e-1, 4.046256, 6.618227e-1, -1.20048, -2.235733e-1, 1.01439,\n -1.174074, -4.44018e-1, 2.262406e-1, 1.665868e-1, 5.461829, 5.67631e-1,\n -1.223587, -3.502622e-1, 1.699106, 6.724266e-1, 1.268567, 2.135102,\n 8.039374e-4, -5.221111, 9.44569e-1, -9.452673e-1, 1.468459e-1, -1.335034,\n 4.346628, -1.285652e1, -1.807046, 8.175243e-1, 9.301065, 3.656798e-1,\n -1.134681, -3.310951e-1, 3.571244, -2.208948, 6.04158, 3.107577, -3.112127e-1,\n -4.186351, 9.188333e-1, -1.083237, -1.831394e-1, 2.062654, 1.385424, -5.00495,\n -1.332669, 3.627352e-1, 3.32315e-1, 6.191181e-1,\n // albedo 1, turbidity 5\n -1.211527, -2.590617e-1, -1.660874e-1, 3.627905e-1, -1.039258e-1, 4.697924e-1,\n 1.671653e-1, 3.507497, 6.022506e-1, -1.433017, -4.733592e-1, 1.724445e-1,\n 9.953236e-1, -1.874457, 4.432099e-1, 1.71581e-2, 2.339272, 6.44147e-1,\n -1.08492, -1.587903e-1, 8.999585e-1, -2.537516, 5.877859, 2.014554,\n 9.689141e-2, 3.177242e-1, 9.030399e-1, -1.008242, 2.79303e-3, -3.507469e-1,\n 1.0283e1, -2.080454e1, -2.781026, 8.99509e-1, 3.366951, 3.473867e-1,\n -1.103151, -2.799598e-1, 2.525791, -4.255704, 9.903388, 3.722668,\n -3.603941e-1, -1.303292, 9.369454e-1, -1.102235, -2.025061e-1, 2.08566,\n 1.686787, -5.010957, -1.656458, 4.584029e-1, -2.751759e-1, 6.184162e-1,\n // albedo 1, turbidity 6\n -1.25613, -3.104904e-1, 1.63935e-1, 1.315502e-1, -7.297583e-1, 4.77848e-1,\n 1.259265e-1, 3.012108, 6.202728e-1, -1.620114, -6.55267e-1, -2.877157e-1,\n 1.094371, 2.818914e-1, 3.69683e-1, 9.428521e-2, 1.450951, 5.681308e-1,\n -9.686204e-1, -3.755647e-2, 1.46998, -3.103414, 2.856583, 1.883209,\n -5.746099e-2, 1.286383, 1.001751, -1.089377, -1.023062e-1, -1.498891,\n 1.066455e1, -1.720184e1, -2.759314, 1.061258, 2.910211, 2.624701e-1,\n -1.044681, -2.156857e-1, 3.230136, -5.863862e-1, 6.09664, 3.550019,\n -4.255773e-1, -1.500033, 9.687696e-1, -1.133658, -2.505101e-1, 1.71784,\n 8.480428e-3, -5.011789, -1.740989, 4.98343e-1, -2.081829e-1, 6.088641e-1,\n // albedo 1, turbidity 7\n -1.335366, -3.863319e-1, -5.279971e-1, 3.638324e-1, 3.230699e-1, 8.339707e-2,\n 2.483293e-1, 2.678646, 4.998346e-1, -2.004511, -9.957121e-1, 1.250807,\n 1.625025e-2, -3.410754e-1, 7.858244e-1, -9.506757e-2, 2.651876e-2,\n 5.788643e-1, -8.714157e-1, 1.192051e-1, -8.486879e-1, -3.702497e-1, 1.818277,\n 1.103427, 2.454866e-1, 3.841575, 9.84735e-1, -1.042618, -2.285793e-1,\n 3.620175e-1, 2.983368, -9.776844, -1.971587, 6.691674e-1, -7.901947e-1,\n 3.2132e-1, -1.099112, -1.869868e-1, 2.044065, 2.062964, 1.265668, 2.71013,\n -1.099443e-1, 2.179353e-1, 9.024108e-1, -1.106985, -2.396881e-1, 1.809807,\n 8.523319, -5.011788, -1.590086, 3.248449e-1, -1.003187e-1, 6.550606e-1,\n // albedo 1, turbidity 8\n -1.421285, -4.767024e-1, -3.885004e-1, 8.27459e-1, -3.644229e-1, 6.999513e-1,\n 5.19671e-2, 2.578431, 6.24631e-1, -2.611217, -1.398846, 4.527425e-1,\n -5.932142e-1, 2.224617e-1, -5.593581e-1, 3.389633e-1, -7.767112e-1,\n 6.536004e-2, -9.881543e-1, 4.684782e-2, -8.616613e-1, 8.799807e-1, 4.00313,\n 1.739543, -8.098378e-2, 5.524802, 1.499673, -7.544759e-1, -2.314808e-1,\n 8.12577e-1, -7.724135e-1, -9.577645, -1.629433, 6.790832e-1, -4.193895,\n -2.526624e-2, -1.273719, -2.18703e-1, 1.401798, 5.231832, 7.405093e-1,\n 1.775166, -7.269476e-2, 1.996087, 1.05745, -1.046864, -2.247559e-1, 1.679449,\n 1.140057e1, -4.948829, -1.182664, 3.241038e-1, -2.470012e-1, 6.1159e-1,\n // albedo 1, turbidity 9\n -1.514607, -5.98543e-1, -1.87761e-1, 1.75693, -1.314206, 6.11581e-1,\n -5.97046e-6, 2.412975, 8.124304e-1, -2.308414, -1.083797, -1.179959e-1,\n -1.728246, 7.784742e-1, 5.494505e-1, 6.203168e-3, 9.326251e-1, -1.419518e-1,\n -3.230837, -1.43867, -9.868286e-1, 2.974393, 1.949339, -6.337857e-1,\n 8.160271e-1, 3.278606, 1.354373, 5.149378e-1, 2.754789e-1, 1.040965,\n -4.501186, -3.399057, 9.661861e-1, -4.736173e-1, -4.037574, 2.794847e-1,\n -1.62187, -3.192763e-1, 8.786242e-1, 9.785565, -2.727652, 1.903691e-2,\n 5.521261e-1, 2.138764, 8.419871e-1, -9.951701e-1, -2.550607e-1, 1.498952,\n -2.737197e-3, -3.101832, -5.921329e-1, 2.864422e-1, -4.405218e-1, 6.63141e-1,\n // albedo 1, turbidity 10\n -1.902954, -9.056918e-1, -2.06957e-1, 1.191499, -1.092577, 5.849556e-1,\n -9.649602e-6, 2.048407, 9.001527e-1, -1.271627, -7.193923e-1, -1.136606e-2,\n -1.167951e-1, 3.286175e-3, -5.262827e-2, -2.473874e-2, 1.716125, -2.187133e-1,\n -7.647175, -3.114129, -1.490128, -5.266488e-1, 3.06309, 1.474262, 5.481458e-1,\n 2.052174, 1.353089, 2.191403, 3.42112e-1, 1.44651, 2.170943, -7.768187,\n -1.471207, -1.456708e-1, -1.753574, 2.310576e-1, -1.932296, -3.814739e-1,\n 6.245422e-1, 6.748294, -3.060171e-1, 1.067747, 2.500671e-1, -1.252596e-1,\n 8.614611e-1, -9.471101e-1, -4.05264e-1, 1.300174, -3.951536e-3, -1.908284,\n -5.385721e-1, 2.133578e-1, -6.250292e-1, 6.658012e-1,\n];\n\nexport const datasetRGBRadiance_R = [\n // albedo 0, turbidity 1\n 1.962684, 1.159831, 4.450588, 5.079633, 4.437388, 4.324573,\n // albedo 0, turbidity 2\n 1.946487, 1.287515, 3.703696, 8.782833, 3.440437, 5.160333,\n // albedo 0, turbidity 3\n 1.88217, 1.335878, 2.648641, 1.358368e1, 3.105473, 5.907387,\n // albedo 0, turbidity 4\n 1.738159, 1.624289, -8.786695e-3, 2.118253e1, 2.770255, 7.055672,\n // albedo 0, turbidity 5\n 1.571896, 2.301786, -4.028545, 2.966806e1, 1.630876, 8.711031,\n // albedo 0, turbidity 6\n 1.475048, 2.679086, -6.311315, 3.377896e1, 2.140975, 9.385283,\n // albedo 0, turbidity 7\n 1.326174, 3.378759, -9.831444, 3.942061e1, 2.852702, 1.082542e1,\n // albedo 0, turbidity 8\n 1.153344, 3.967771, -1.265181e1, 4.195016e1, 7.468239, 1.22135e1,\n // albedo 0, turbidity 9\n 9.746081e-1, 4.051626, -1.298454e1, 3.754964e1, 1.749232e1, 1.420619e1,\n // albedo 0, turbidity 10\n 8.448016e-1, 3.181809, -8.757338, 2.197962e1, 3.524033e1, 1.639549e1,\n // albedo 1, turbidity 1\n 2.029623, 1.364434, 4.201529, 5.415099, 9.825839, 1.063328e1,\n // albedo 1, turbidity 2\n 2.023126, 1.494728, 3.420413, 9.072178, 9.205157, 1.186639e1,\n // albedo 1, turbidity 3\n 1.956307, 1.648665, 2.039712, 1.430239e1, 9.039526, 1.330453e1,\n // albedo 1, turbidity 4\n 1.825053, 1.985022, -8.036307e-1, 2.202493e1, 9.415361, 1.517659e1,\n // albedo 1, turbidity 5\n 1.650367, 2.593201, -4.469328, 2.969817e1, 9.410977, 1.74485e1,\n // albedo 1, turbidity 6\n 1.555202, 2.962925, -6.60817, 3.329887e1, 1.064559e1, 1.850816e1,\n // albedo 1, turbidity 7\n 1.412478, 3.439403, -9.196616, 3.685077e1, 1.345341e1, 2.003128e1,\n // albedo 1, turbidity 8\n 1.25299, 3.820805, -1.115338e1, 3.721593e1, 2.014916e1, 2.18232e1,\n // albedo 1, turbidity 9\n 1.091952, 3.663027, -1.03133e1, 2.978985e1, 3.296835e1, 2.37545e1,\n // albedo 1, turbidity 10\n 9.501691e-1, 2.664579, -5.545167, 1.281159e1, 5.154768e1, 2.574284e1,\n];\n\nexport const datasetRGB_G = [\n // albedo 0, turbidity 1\n -1.14053, -1.982747e-1, -7.51273, 8.403899, -5.699038e-2, 9.015907e-1,\n 3.392161e-2, 4.772522, 5.111184e-1, -1.165117, -1.852955e-1, 2.963684,\n -2.262274, -1.571683e-1, 6.339974e-1, 4.977879e-2, 7.243307, 4.220053e-1,\n -1.169936, -3.357429e-1, 1.911291, -2.391074e-1, -4.791643e-1, 1.446113,\n -9.178108e-2, -4.700239, 8.096219e-1, -1.060246, -1.051633e-1, 5.013829e-1,\n 2.832309, -3.707855e-1, 1.523131, 9.163749e-2, 5.604183, 7.208566e-1,\n -1.089753, -2.382167e-1, 2.360312, -5.902562, -8.799894, 1.377692,\n -6.131633e-2, -1.415472, 6.124057e-1, -1.075481, -1.242391e-1, 1.425781,\n 8.810319, -2.922646, 1.48652, 3.27058e-2, 3.889783, 4.999482e-1,\n // albedo 0, turbidity 2\n -1.149342, -2.076337e-1, -7.446587, 8.014559, -4.866227e-2, 8.203043e-1,\n 6.386483e-2, 4.894198, 5.452051e-1, -1.120531, -1.513311e-1, 2.735504,\n -2.417591, -1.361114e-1, 4.296342e-1, 9.427488e-2, 8.171403, 4.102448e-1,\n -1.226964, -3.516378e-1, 1.308298, -5.097487e-2, -4.846783e-1, 1.654619,\n -1.13494e-1, -3.347854, 1.131147, -9.664377e-1, 2.767589e-2, 1.658235e-1,\n 2.407439, -1.300304e-1, 9.170958e-1, 2.742895e-1, 6.642633, 2.550064e-1,\n -1.153358, -3.126223e-1, 2.078934, -5.857733, -8.659848, 1.758505,\n -9.616094e-2, -1.230863, 9.663832e-1, -1.05385, -1.330743e-1, 1.481738,\n 1.049485e1, -3.528854, 9.142363e-1, 1.24488e-1, 2.644615, 5.001048e-1,\n // albedo 0, turbidity 3\n -1.173687, -2.360362e-1, -3.741454, 4.088507, -7.528205e-2, 6.645237e-1,\n 7.718265e-2, 4.65122, 5.586318e-1, -1.213757, -2.589561e-1, 7.132551e-1,\n -4.259327e-1, -1.980821e-1, 3.627815e-1, 4.66656e-2, 5.807984, 5.847377e-1,\n -1.108794, -2.25987e-1, 1.574179, -3.753731e-1, -5.984743e-1, 1.659414,\n -1.681021e-2, 6.785219e-1, 8.647325e-1, -1.060896, -1.34669e-2, -7.529656e-1,\n 1.711319, -9.792435e-1, 2.022433e-1, 3.826487e-1, 5.725157, 5.290714e-1,\n -1.085145, -2.840715e-1, 2.088029, -4.935097, -9.056542, 1.976149,\n -3.912485e-2, -8.636064e-1, 7.452125e-1, -1.077983, -1.416633e-1, 1.100848,\n 1.015875e1, -2.943712, 5.255135e-1, 2.164224e-1, 2.941143, 6.699937e-1,\n // albedo 0, turbidity 4\n -1.223293, -2.867444e-1, -1.624136, 1.668299, -9.537589e-2, 5.015947e-1,\n 1.130741e-1, 4.244812, 5.082152e-1, -1.325342, -4.280991e-1, 4.70549e-1,\n 6.926592e-2, -4.572587e-1, 5.344144e-1, -2.554192e-2, 3.093939, 6.639401e-1,\n -1.113581, -1.192133e-1, 4.011536e-1, 7.011889e-1, 2.052842e-1, 9.880724e-1,\n 1.807533e-2, 4.69016, 8.57624e-1, -1.016063, -1.038138e-1, -2.280391e-1,\n 7.898918e-1, -1.127333e1, 2.074545e-1, 5.388182e-1, 1.364263, 4.660455e-1,\n -1.099582, -2.228607e-1, 1.332648, 5.135188, 1.653152, 1.41702, -1.087532e-1,\n 1.809275, 8.080874e-1, -1.064357, -1.520775e-1, 8.207368e-1, -1.323565e-3,\n -5.009523, 3.946298e-1, 4.337902e-1, 2.593198, 6.719172e-1,\n // albedo 0, turbidity 5\n -1.278702, -3.512866e-1, -4.511055e-1, 3.89576e-1, -2.429672e-1, 4.270577e-1,\n 1.135348e-1, 3.71913, 4.998867e-1, -1.580069, -7.095475e-1, -3.198904e-1,\n 1.715748, -1.185915, 4.523161e-1, -1.026159e-2, 7.927188e-1, 5.53835e-1,\n -9.474023e-1, 1.173703e-1, 4.881381e-1, -2.618684, 3.251661, 1.213931,\n -1.736274e-2, 8.000768, 1.025998, -1.129091, -3.287694e-1, -3.524077e-1,\n 3.352892, -1.416073e1, -8.485617e-1, 6.560766e-1, -2.820937, 3.111303e-1,\n -1.030884, -1.137581e-1, 1.109855, 8.082276, 1.519214, 2.112433, -1.592299e-1,\n 3.675905, 8.703367e-1, -1.075192, -1.627166e-1, 3.51491e-1, 1.168164,\n -4.255822, -6.015348e-1, 6.265776e-1, 2.884818, 6.548384e-1,\n // albedo 0, turbidity 6\n -1.316017, -3.889652e-1, -5.030854e-1, 4.488704e-1, -3.1868e-1, 4.570763e-1,\n 8.909201e-2, 3.659274, 5.011746e-1, -1.731876, -8.493806e-1, 1.194871e-1,\n 2.002781, -2.006547, 4.872233e-1, -2.854606e-2, 2.662137e-1, 4.611629e-1,\n -9.27368e-1, 1.380954e-1, -3.302179e-1, -3.553265, 4.633345, 9.696729e-1,\n 8.799775e-2, 8.291129, 1.094451, -1.099377, -3.325392e-1, 2.501063e-1,\n 2.613712, -1.328142e1, -5.579527e-1, 4.992081e-1, -3.504402, 3.022924e-1,\n -1.04842, -1.227773e-1, 5.845373e-1, 1.105869e1, 3.813151e-2, 1.330409,\n 1.978131e-2, 3.95943, 8.396439e-1, -1.063233, -1.560639e-1, 2.840033e-1,\n 8.751565e-1, -3.41182, -1.436564e-1, 5.84658e-1, 2.899292, 6.799095e-1,\n // albedo 0, turbidity 7\n -1.376715, -4.541567e-1, -1.445491, 1.569898, -1.390627e-1, 5.55827e-1,\n 4.109877e-2, 3.349451, 5.516123e-1, -1.953391, -1.035869, 1.690563,\n -1.96469e-1, -7.787096e-1, 5.799605e-1, 2.945626e-2, 4.217906e-2, 2.451373e-1,\n -1.012422, 7.136451e-2, -1.862534, -7.228653e-1, 1.947997e-1, 2.091805e-1,\n 6.399233e-2, 7.928994, 1.290733, -9.706708e-1, -2.88095e-1, 1.107797,\n -2.731734, -8.445995, 4.296774e-1, 5.117648e-1, -3.824277, 1.761207e-1,\n -1.110611, -1.789409e-1, 2.108488e-1, 2.07143e1, -1.763174, 9.554695e-2,\n -2.943103e-2, 3.422079, 8.815496e-1, -1.048334, -1.614087e-1, 2.475184e-1,\n 2.146938e-2, -2.983901, 2.538224e-1, 5.60137e-1, 2.461925, 6.777394e-1,\n // albedo 0, turbidity 8\n -1.393719, -5.002724e-1, -2.40894, 2.680983, -1.362825e-1, 7.395067e-1,\n -3.300343e-6, 3.260889, 8.132057e-1, -2.128663, -1.151182, 2.923026,\n -1.931838, -4.42617e-1, 2.309983e-1, -5.48589e-3, 3.279529e-1, -2.229467e-1,\n -1.618022, -3.76649e-1, -3.163544, 1.611608, -3.967476e-1, 3.93368e-1,\n 3.006742e-1, 6.835177, 1.613765, -5.669064e-1, -1.481749e-1, 2.071817,\n -8.157422, -5.988088, 2.387202e-1, 1.447191e-1, -4.296385, 5.011258e-2,\n -1.241724, -2.519348e-1, -1.908609e-1, 2.952235e1, -3.33366, -1.837651e-2,\n 1.022249e-1, 2.92932, 8.867262e-1, -1.02167, -1.667327e-1, 1.789771e-1,\n -2.178108e-3, -2.641572, -5.641484e-2, 5.303758e-1, 2.138196, 6.78035e-1,\n // albedo 0, turbidity 9\n -1.669332, -7.588708e-1, -2.993557, 3.17876, -8.066442e-2, 6.544672e-1,\n -8.08988e-6, 2.628924, 9.001272e-1, -1.755806, -8.735348e-1, 3.258881,\n -2.504785, -3.300791e-1, 1.180565e-1, -9.315982e-3, 1.785154, -3.205824e-1,\n -3.720277, -1.73335, -3.332272, 1.515869, 1.734218e-1, 8.011956e-1,\n 1.99544e-1, 3.817666, 1.638502, 4.724641e-1, 3.209828e-1, 2.051443, -5.105574,\n -6.509139, -4.232041e-1, 2.598931e-1, -2.151756, -3.49391e-3, -1.5256,\n -4.897606e-1, -9.891121e-2, 2.346818e1, -2.278152, 1.681219e-1, -4.469389e-2,\n 1.051, 9.294666e-1, -9.908649e-1, -2.008182e-1, 1.605143e-1, -2.463113e-3,\n -2.477349, -1.218647e-1, 4.750121e-1, 1.460813, 6.661364e-1,\n // albedo 0, turbidity 10\n -2.122119, -1.125475, -3.066599, 3.145078, -5.411593e-2, 5.133628e-1,\n -7.823408e-6, 2.268448, 9.001416e-1, -1.528158, -9.370249e-1, 2.567559,\n -1.591439, -3.63446e-1, 1.763256e-1, 1.119624e-3, 1.811848, -2.637929e-1,\n -6.524387, -2.673507, -2.940472, -6.025609e-1, 7.852067e-1, 1.073499,\n -3.540435e-2, 3.517416, 1.490466, 8.886026e-1, -9.681828e-2, 1.430554,\n 4.993717, -6.071355, -6.053986e-1, 5.092997e-1, -1.27301, 7.491329e-2,\n -1.481997, -5.897282e-1, 2.659264e-1, 1.267239, -5.741291e-1, 5.983011e-2,\n -2.217312e-1, -3.016452e-1, 9.26083e-1, -1.010943, -2.075134e-1, 5.066749e-2,\n 1.470708e1, -3.780501, 7.253223e-2, 4.045458e-1, 1.320164, 6.559925e-1,\n // albedo 1, turbidity 1\n -1.129907, -1.884011e-1, -8.04767, 9.035776, -5.539419e-2, 8.823349e-1,\n 3.197135e-2, 4.839388, 5.042822e-1, -1.133821, -1.510781e-1, 3.362822,\n -2.453381, -1.463925e-1, 4.728708e-1, 5.95814e-2, 7.6363, 4.805162e-1,\n -1.176518, -3.549902e-1, 1.729044, -2.160966e-1, -5.075865e-1, 1.675584,\n -8.906902e-2, -5.386842, 5.452218e-1, -1.043563, -7.520975e-2, 8.750644e-1,\n 2.510518, 7.584882e-3, 9.36125e-1, 7.889083e-2, 6.066644, 5.813108e-1,\n -1.081304, -2.222253e-1, 2.517638, -4.45382, -8.663691, 8.662558e-1,\n -4.802657e-2, -8.965449e-1, 4.886656e-1, -1.083774, -1.375469e-1, 1.685818,\n 5.63112, -3.100752, 4.045941e-1, 2.346895e-2, 3.390321, 5.008309e-1,\n // albedo 1, turbidity 2\n -1.143158, -2.058334e-1, -9.660198, 1.062394e1, -4.434119e-2, 8.607615e-1,\n 3.177325e-2, 4.416481, 5.918162e-1, -1.146773, -1.727385e-1, 4.626048,\n -4.684602, -8.307137e-2, 1.619616e-1, 1.484866e-1, 7.572868, 2.681126e-1,\n -1.151324, -3.099303e-1, 4.125596e-1, 2.340752, -4.214444e-1, 1.987375,\n -1.91341e-1, -3.845978, 1.337311, -1.034258, -7.778759e-3, 7.050094e-1,\n -8.036369e-1, 3.13857e-1, 2.469452e-1, 3.55997e-1, 7.485917, 4.790329e-2,\n -1.096568, -2.673169e-1, 2.575654, -8.057121e-1, -8.884928, 1.41617,\n -2.091315e-1, -1.543494, 1.065445, -1.083304, -1.528265e-1, 1.697727,\n 2.503702, -2.885296, -1.2985e-1, 1.54887e-1, 2.479652, 5.066496e-1,\n // albedo 1, turbidity 3\n -1.165736, -2.329945e-1, -5.967964, 6.705959, -5.931355e-2, 7.485638e-1,\n 3.913878e-2, 4.221591, 6.183926e-1, -1.212422, -2.54591e-1, 2.418626,\n -2.266104, -1.102014e-1, 1.363887e-2, 1.055411e-1, 5.648062, 4.557412e-1,\n -1.070436, -2.163341e-1, 7.098718e-1, 7.843075e-1, -4.32393e-1, 2.109823,\n -9.5897e-2, -1.985193e-1, 1.060428, -1.104879, -3.013622e-2, 2.976276e-2,\n 1.069707, 1.41e-1, -4.88002e-1, 4.452288e-1, 6.41859, 3.195986e-1, -1.048969,\n -2.655317e-1, 2.689426, -3.941038, -9.506461, 1.837119, -1.892124e-1,\n -1.562146, 9.043414e-1, -1.106145, -1.601642e-1, 1.544544, 7.388492, -2.9246,\n -4.328453e-1, 1.763161e-1, 2.523111, 5.851902e-1,\n // albedo 1, turbidity 4\n -1.203666, -2.776587e-1, -2.084286, 2.45084, -8.746613e-2, 5.258507e-1,\n 7.983316e-2, 3.860055, 5.486167e-1, -1.340448, -4.23059e-1, 3.462849e-1,\n 4.707607e-1, -2.512626e-1, 1.530746e-1, 2.724218e-2, 3.035216, 5.876133e-1,\n -1.014554, -1.16879e-1, 9.477794e-1, -1.061218, -4.19673e-1, 2.058832,\n -5.989624e-2, 3.058168, 9.763861e-1, -1.137388, -9.85403e-2, -2.984893e-1,\n 3.64782, -6.585571e-1, -1.47918, 6.102932e-1, 3.265914, 3.480333e-1,\n -1.021816, -2.344957e-1, 2.463671, -7.240685, -8.862697, 2.514058,\n -2.122768e-1, -3.313968e-2, 9.028136e-1, -1.126581, -1.874347e-1, 1.454154,\n 1.034398e1, -3.237393, -8.654927e-1, 2.457248e-1, 1.845769, 6.002482e-1,\n // albedo 1, turbidity 5\n -1.263727, -3.439354e-1, -1.786388e-1, 3.980166e-1, -3.349517e-1, 3.825166e-1,\n 1.029225e-1, 3.331096, 4.998955e-1, -1.53001, -6.879698e-1, 2.380415e-1,\n 1.608216, -1.682679, 3.54636e-1, -3.91522e-3, 4.517655e-1, 5.128605e-1,\n -9.685659e-1, 9.480403e-2, 6.076844e-2, -3.217561, 4.568074, 1.069299,\n 2.083638e-2, 7.301088, 1.072165, -1.113925, -3.112382e-1, 3.954133e-1,\n 5.105907, -1.456866e1, -4.917378e-1, 5.289909e-1, -2.678374, 3.014709e-1,\n -1.046864, -1.215754e-1, 1.778308, 4.661489, 2.565583e-1, 1.35368,\n -1.175767e-1, 3.415972, 8.457746e-1, -1.10448, -1.940913e-1, 1.343668,\n -1.759206e-3, -5.009204, -4.186951e-1, 3.12571e-1, 1.628183, 6.720408e-1,\n // albedo 1, turbidity 6\n -1.286902, -3.781238e-1, -8.977253e-2, 3.545393e-1, -4.866515e-1, 3.843664e-1,\n 8.281675e-2, 3.122231, 5.046991e-1, -1.712597, -8.549112e-1, 4.809286e-1,\n 1.515398, -2.212211, 2.539029e-1, 2.335997e-2, -6.089466e-2, 4.268444e-1,\n -8.807283e-1, 1.646097e-1, -4.437898e-1, -3.188247, 5.984417, 1.334779,\n -4.026975e-2, 7.546431, 1.175751, -1.147253, -3.538199e-1, 6.101836e-1,\n 4.43778, -1.559813e1, -1.103222, 6.242039e-1, -3.091472, 2.17429e-1, -1.03823,\n -1.213475e-1, 1.547505, 5.893176, 1.368738, 1.663127, -1.37713e-1, 3.185279,\n 8.736453e-1, -1.101026, -1.874907e-1, 1.272667, 3.596524, -5.007243,\n -6.352483e-1, 3.048985e-1, 1.931613, 6.788844e-1,\n // albedo 1, turbidity 7\n -1.342753, -4.384971e-1, -1.213491, 1.621399, -1.551441e-1, 5.614218e-1,\n 2.591739e-2, 2.958967, 5.782132e-1, -1.937684, -1.066019, 1.913336,\n -7.347719e-1, -5.916167e-1, 1.58759e-1, 1.092568e-1, -6.275002e-1,\n 1.599071e-1, -9.302391e-1, 1.486187e-1, -1.603835, 1.783713e-1, 1.100461,\n 1.174181, -1.602361e-1, 7.868331, 1.468971, -1.053631, -3.72705e-1, 1.114117,\n -9.603286e-1, -1.062469e1, -1.16214, 7.952797e-1, -4.478765, -4.440862e-2,\n -1.083629, -1.261405e-1, 1.229344, 1.127825e1, 1.31901e-1, 1.624729,\n -2.825898e-1, 3.661082, 1.036911, -1.09395, -2.067455e-1, 1.258035, 7.548645,\n -4.598387, -8.944932e-1, 3.292634e-1, 1.311304, 6.291871e-1,\n // albedo 1, turbidity 8\n -1.385867, -5.068139e-1, -1.48649, 1.969049, -1.698025e-1, 6.629167e-1,\n -5.289365e-6, 2.760315, 8.644368e-1, -2.107367, -1.175639, 2.313241,\n -1.001653, -4.843139e-1, 1.124485e-1, 3.901494e-5, -3.502469e-1, -3.20478e-1,\n -1.475244, -2.833055e-1, -2.085824, 1.192563, -7.6452e-1, 8.380081e-1,\n 2.20358e-1, 7.157885, 1.753702, -6.644372e-1, -2.549735e-1, 1.600273,\n -8.589034, -6.144718, -7.599731e-1, 2.89837e-1, -5.770923, -9.656242e-2,\n -1.211687, -1.653494e-1, 8.3934e-1, 2.792988e1, -3.395461, 9.933752e-1,\n -3.976877e-2, 3.776659, 9.546526e-1, -1.063757, -2.037563e-1, 1.117207,\n -1.252806e-3, -3.33233, -6.971409e-1, 3.388719e-1, 1.311398, 6.635171e-1,\n // albedo 1, turbidity 9\n -1.678889, -7.992295e-1, -2.421687, 2.871029, -7.662842e-2, 6.046208e-1,\n -7.598099e-6, 2.002314, 9.001307e-1, -1.692144, -8.80425e-1, 3.060895,\n -2.000009, -3.183563e-1, 8.385862e-2, -6.326713e-3, 1.206639, -3.369967e-1,\n -3.676795, -1.719207, -2.534697, 1.005285, 1.550407e-1, 1.07291, 1.318094e-1,\n 3.717018, 1.689191, 5.424542e-1, 3.263528e-1, 1.551055, -3.841058, -6.598996,\n -1.201779, 3.530669e-1, -2.542945, -6.482523e-2, -1.553849, -4.57686e-1,\n 9.324676e-1, 1.950982e1, -2.344516, 1.12102, -1.221537e-1, 7.285496e-1,\n 9.582816e-1, -1.02065, -2.215797e-1, 1.009774, -2.056855e-3, -2.740338,\n -8.122355e-1, 3.328967e-1, 8.982766e-1, 6.594676e-1,\n // albedo 1, turbidity 10\n -2.24736, -1.221267, -3.072346, 3.385139, -4.387559e-2, 5.084887e-1,\n -7.418833e-6, 1.750107, 9.001401e-1, -1.248499, -8.442718e-1, 3.062611,\n -2.020314, -2.815341e-1, 5.254745e-2, 3.345008e-3, 1.433225, -2.835911e-1,\n -7.004119, -2.927978, -2.649852, 7.971894e-1, 5.466893e-1, 1.442667,\n -6.063912e-2, 2.806194, 1.547429, 1.434882, 9.114639e-2, 1.170089,\n 3.512808e-2, -5.861915, -1.411843, 5.400486e-1, -7.746522e-1, 2.386984e-2,\n -1.559053, -5.502302e-1, 1.200396, 1.347741e1, -2.344397, 8.868907e-1,\n -3.292661e-1, -1.362105, 9.217826e-1, -1.044436, -2.360719e-1, 7.054471e-1,\n -2.904518e-3, -2.092829, -5.119668e-1, 4.174861e-1, 9.687435e-1, 6.588427e-1,\n];\n\nexport const datasetRGBRadiance_G = [\n // albedo 0, turbidity 1\n 1.59033, 1.355401, 1.151412, 1.359116e1, 5.857714, 8.090833,\n // albedo 0, turbidity 2\n 1.55254, 1.51004, 1.276413e-1, 1.604643e1, 5.912162, 8.350009,\n // albedo 0, turbidity 3\n 1.470871, 1.880464, -1.865398, 2.030808e1, 5.471461, 9.109834,\n // albedo 0, turbidity 4\n 1.356563, 2.373866, -4.653245, 2.570922e1, 5.686009, 1.00948e1,\n // albedo 0, turbidity 5\n 1.244232, 2.851519, -7.130942, 2.993449e1, 6.38212, 1.114578e1,\n // albedo 0, turbidity 6\n 1.173693, 3.120604, -8.491886, 3.187393e1, 7.290615, 1.180066e1,\n // albedo 0, turbidity 7\n 1.091845, 3.368888, -9.722083, 3.268508e1, 1.032424e1, 1.236508e1,\n // albedo 0, turbidity 8\n 9.858985e-1, 3.500541, -1.026328e1, 3.092956e1, 1.610881e1, 1.331222e1,\n // albedo 0, turbidity 9\n 8.864993e-1, 3.172888, -8.68755, 2.362161e1, 2.621851e1, 1.474967e1,\n // albedo 0, turbidity 10\n 7.946973e-1, 2.189355, -4.207953, 9.399091, 4.062849e1, 1.681753e1,\n // albedo 1, turbidity 1\n 1.711696, 1.657311, 9.328021e-1, 1.31788e1, 1.506751e1, 1.863556e1,\n // albedo 1, turbidity 2\n 1.666968, 1.849993, -2.088601e-1, 1.586653e1, 1.48688e1, 1.940719e1,\n // albedo 1, turbidity 3\n 1.584846, 2.170022, -2.019597, 1.970826e1, 1.490684e1, 2.045055e1,\n // albedo 1, turbidity 4\n 1.469412, 2.524017, -4.197267, 2.365249e1, 1.664588e1, 2.134477e1,\n // albedo 1, turbidity 5\n 1.369714, 2.843548, -6.059031, 2.634993e1, 1.881361e1, 2.232186e1,\n // albedo 1, turbidity 6\n 1.310477, 2.984444, -6.831686, 2.68234e1, 2.123267e1, 2.259755e1,\n // albedo 1, turbidity 7\n 1.222552, 3.176523, -7.731496, 2.67176e1, 2.484358e1, 2.336863e1,\n // albedo 1, turbidity 8\n 1.115781, 3.130635, -7.581744, 2.336531e1, 3.171048e1, 2.413859e1,\n // albedo 1, turbidity 9\n 1.013181, 2.699342, -5.602709, 1.500158e1, 4.217613e1, 2.515957e1,\n // albedo 1, turbidity 10\n 8.976323e-1, 1.726948, -1.29612, 1.183675, 5.503215e1, 2.643066e1,\n];\n\nexport const datasetRGB_B = [\n // albedo 0, turbidity 1\n -1.372629, -4.905585e-1, -4.100789e1, 4.122169e1, -7.38936e-3, 4.839359e-1,\n 6.474757e-3, 3.471755, 5.092936e-1, -1.523025, -6.497084e-1, 6.249857,\n -5.662543, -1.908402e-2, 5.51281e-1, -2.181049e-5, 2.507663, 4.339598e-1,\n -1.035567, -7.47874e-2, 9.22103e-1, -2.140047, -2.374146e-2, 3.795517e-1,\n -1.769134e-2, 7.479831, 7.729303e-1, -1.271086, -5.58819e-1, 6.908023e-1,\n 2.096832, -2.453967e-1, 1.410648, 4.475036e-2, -4.719115, 5.741186e-1,\n -9.712598e-1, -7.033926e-2, 9.167274e-1, -9.502097e-1, 3.004684e-1,\n 4.547054e-1, -5.929017e-2, 5.266196, 7.204135e-1, -1.087457, -1.888896e-1,\n 8.156686e-1, 3.101712e-1, -2.155419, 1.422205, 9.692261e-2, 3.122404,\n 4.99943e-1,\n // albedo 0, turbidity 2\n -1.42528, -5.413508e-1, -3.454883e1, 3.481142e1, -8.686975e-3, 4.914268e-1,\n -2.479243e-6, 3.239879, 6.094201e-1, -1.688557, -8.070865e-1, 7.018459,\n -6.244574, -2.149341e-2, 3.993971e-1, 1.252502e-2, 1.630662, 1.09786e-1,\n -8.664152e-1, 7.869125e-2, -5.236535e-1, -1.21896, -2.059093e-2, 6.684898e-1,\n -5.584112e-2, 8.602299, 1.410496, -1.319763, -5.985323e-1, 1.253918, 1.914706,\n -3.216739e-1, 9.011213e-1, 1.324845e-1, -5.252749, 6.231252e-2, -9.706008e-1,\n -5.914059e-2, 5.69315e-1, -1.175362, 5.221644e-1, 7.518213e-1, -8.247655e-2,\n 5.875635, 9.850863e-1, -1.08533, -1.956105e-1, 8.019605e-1, 5.338101e-1,\n -3.423464, 1.110444, 1.507923e-1, 2.864942, 4.999481e-1,\n // albedo 0, turbidity 3\n -1.431967, -5.478935e-1, -3.286288e1, 3.305288e1, -8.380797e-3, 4.77205e-1,\n -3.044274e-6, 3.289973, 5.976303e-1, -1.801361, -9.315889e-1, 5.391756,\n -4.588592, -2.040076e-2, 4.144684e-1, 1.814534e-2, 1.051795, 1.145651e-1,\n -7.905357e-1, 1.451332e-1, -1.605661e-1, -1.592174, 4.561348e-4, 3.380323e-1,\n -7.770275e-2, 8.775384, 1.489512, -1.308575, -5.539232e-1, 9.184133e-1,\n 2.011479, -3.842472e-1, 1.432274, 1.637153e-1, -4.408856, 5.272957e-2,\n -9.829872e-1, -8.183048e-2, 4.464556e-1, -1.442716, 1.029641, -6.991617e-2,\n 8.702356e-3, 5.706417, 9.116452e-1, -1.08713, -2.038013e-1, 7.260801e-1,\n 9.164376e-1, -5.006183, 1.511271, 1.257134e-1, 2.715439, 6.201652e-1,\n // albedo 0, turbidity 4\n -1.448662, -5.799075e-1, -2.833268e1, 2.858023e1, -9.134061e-3, 4.404783e-1,\n -2.709026e-6, 3.029357, 5.540071e-1, -2.061772, -1.14519, 7.918478, -7.212525,\n -2.02076e-2, 2.962715e-1, 4.68967e-2, 8.517209e-1, 2.334587e-1, -6.413755e-1,\n 1.780425e-1, -2.412919, 1.064484, -1.949986e-2, 6.769741e-1, -1.75276e-1,\n 7.262714, 1.325869, -1.304871, -3.975581e-1, 1.219002, 7.285178e-1,\n -2.710105e-1, 7.779727e-1, 3.247139e-1, -8.818168e-1, 1.839517e-1, -1.001104,\n -1.994801e-1, 3.676742e-1, -1.409737, 2.901555e-1, 2.50694e-1, 2.468899e-3,\n 3.398923, 8.584645e-1, -1.111552, -2.487204e-1, 7.410842e-1, 1.703749,\n -5.007855, 1.057763, 1.354511e-1, 2.088715, 6.600013e-1,\n // albedo 0, turbidity 5\n -1.547227, -6.679466e-1, -1.861465e1, 1.884045e1, -1.24221e-2, 4.157339e-1,\n -2.432805e-6, 2.812423, 5.446957e-1, -2.04389, -1.149081, 2.304118, -1.715757,\n -2.433628e-2, 2.816836e-1, 7.185458e-2, 1.06486, 2.706789e-1, -9.04072e-1,\n -8.274472e-2, -2.555676e-1, -6.326215e-1, -2.77088e-2, 6.676024e-1,\n -2.513532e-1, 5.903839, 1.241452, -1.000013, -1.010774e-1, 3.699166e-1,\n 8.774526e-1, -3.042007e-1, 6.951053e-1, 4.361813e-1, 6.793421e-1, 2.573892e-1,\n -1.171332, -3.768188e-1, 3.701377e-1, -1.470757, 5.525942e-1, 2.991456e-2,\n 1.581823e-2, 2.365233, 8.214514e-1, -1.068667, -2.32633e-1, 6.725059e-1,\n 2.243733, -4.61437, 1.033677, 1.376291e-1, 2.013334, 6.865304e-1,\n // albedo 0, turbidity 6\n -1.592991, -7.246948e-1, -2.598204e1, 2.62196e1, -8.365176e-3, 4.207571e-1,\n -2.742772e-6, 2.623735, 5.87319e-1, -2.271349, -1.280884, 6.308739, -5.75835,\n -1.977049e-2, 3.671835e-1, 6.698038e-2, 1.150597, 1.759218e-1, -6.36862e-1,\n -7.436052e-3, -2.230026, 1.640997, -1.548497e-2, 3.145331e-1, -2.492644e-1,\n 5.083843, 1.260215, -1.177925, -9.628114e-2, 3.051152e-1, -3.749544e-2,\n -2.713209e-1, 1.164226, 4.559969e-1, 2.175429, 2.874284e-1, -1.0785,\n -3.801779e-1, 4.788906e-1, -4.795969e-1, 5.977621e-1, -4.488535e-1,\n 3.386874e-2, 1.538143, 8.062054e-1, -1.108028, -2.596892e-1, 5.162202e-1,\n 1.557081, -4.265039, 1.182535, 1.563762e-1, 2.095084, 6.883383e-1,\n // albedo 0, turbidity 7\n -1.668427, -7.908511e-1, -2.77969e1, 2.799746e1, -7.186935e-3, 3.757766e-1,\n -3.326858e-6, 2.563421, 5.439687e-1, -2.156175, -1.220004, 3.585732,\n -3.235988, -1.086239e-2, 1.846143e-1, 1.046017e-1, 1.234427, 2.842191e-1,\n -1.117051, -4.101627e-1, -8.46373e-1, 7.671472e-1, -2.226609e-2, 8.574943e-1,\n -3.434124e-1, 4.475715, 1.154824, -7.44484e-1, 2.312078e-1, -5.393724e-1,\n 1.574213e-1, -1.763914e-1, 2.751692e-1, 5.5642e-1, 2.217672, 3.483932e-1,\n -1.273036, -5.275562e-1, 4.902512e-1, -4.498436e-2, 4.339366e-1, 2.386682e-1,\n 2.380879e-2, 1.413444, 7.855923e-1, -1.084192, -2.936753e-1, 4.719432e-1,\n 1.384436, -3.257789, 6.119543e-1, 1.681884e-1, 1.650441, 6.936631e-1,\n // albedo 0, turbidity 8\n -1.84849, -9.51267e-1, -3.005251e1, 3.024315e1, -5.635304e-3, 3.44778e-1,\n -2.782999e-6, 2.309422, 5.643559e-1, -2.300008, -1.252335, -1.218876, 1.49373,\n -6.1071e-3, 7.97486e-2, 1.023449e-1, 1.505934, 2.360948e-1, -1.483705,\n -8.547575e-1, -7.797146e-1, 6.447971e-1, -2.678052e-2, 1.091263, -3.344889e-1,\n 3.830416, 1.189425, -5.348005e-1, 3.982733e-1, -4.071573e-1, 3.265569e-1,\n -8.658789e-2, -2.370892e-1, 5.369097e-1, 1.478279, 3.143303e-1, -1.320401,\n -6.043247e-1, 3.019196e-1, -7.732911e-2, 4.768381e-1, 6.745764e-1,\n 3.694098e-2, 1.158234, 8.169056e-1, -1.10104, -3.420019e-1, 3.775661e-1,\n 1.769338, -2.990515, 1.649529e-1, 1.970125e-1, 1.453355, 6.759757e-1,\n // albedo 0, turbidity 9\n -2.251946, -1.229349, -3.271808e1, 3.283114e1, -4.252027e-3, 3.372289e-1,\n -3.001937e-6, 2.154046, 5.842674e-1, -1.867834, -9.531252e-1, -1.229365e1,\n 1.269149e1, -6.844772e-3, 1.185107e-1, 7.539587e-2, 1.846381, 1.899412e-1,\n -3.398629, -2.180862, 2.335213, -3.382823, -8.613985e-3, 8.431602e-1,\n -2.393567e-1, 3.11246, 1.218556, 5.708381e-1, 9.40603e-1, -6.890113e-1,\n 2.746233, -5.772068e-2, 1.096005e-1, 3.491978e-1, 7.281453e-1, 3.212049e-1,\n -1.705909, -8.517224e-1, 1.13116e-1, -2.141434, 4.274043e-1, 3.3976e-1,\n 1.78649e-1, 9.026101e-1, 7.8828e-1, -1.012865, -3.495551e-1, 3.369038e-1,\n 3.724205, -3.089586, 1.266964e-1, 1.46179e-1, 1.170199, 6.931052e-1,\n // albedo 0, turbidity 10\n -2.890318, -1.665573, -3.493756e1, 3.500369e1, -2.984251e-3, 2.622419e-1,\n -4.25936e-6, 1.947681, 6.905752e-1, -1.956022, -1.0629, -1.919714e1,\n 1.975164e1, -8.865396e-3, 2.16554e-1, 5.475637e-2, 1.761134, 3.164249e-3,\n -5.612198, -3.101371, 4.098034, -6.144001, 9.944958e-3, 2.905472e-1,\n -1.70711e-1, 3.199107, 1.33766, 8.353756e-1, 4.855943e-1, -1.243589, 5.147385,\n -7.013963e-2, 9.38041e-1, 2.335714e-1, 1.727744e-1, 2.802696e-1, -1.524329,\n -7.388547e-1, 3.259025e-1, -4.050634, 4.058549e-1, -2.591384e-1, 1.898299e-1,\n 3.556071e-1, 7.884126e-1, -1.070371, -4.207858e-1, 1.739862e-1, 5.29341,\n -3.136757, 2.323856e-1, 1.673706e-1, 1.007227, 6.844287e-1,\n // albedo 1, turbidity 1\n -1.34172, -4.834889e-1, -4.633447e1, 4.682148e1, -6.137296e-3, 4.599216e-1,\n 7.047323e-3, 2.895798, 4.999398e-1, -1.529104, -6.498631e-1, 1.534103e1,\n -1.450675e1, -1.531439e-2, 3.280082e-1, 1.682926e-2, 1.901587, 5.013227e-1,\n -1.014776, -1.454495e-1, -4.071085, 2.954982, -2.630348e-2, 5.681531e-1,\n -3.016505e-2, 6.773854, 5.003504e-1, -1.172413, -4.02632e-1, 2.960428,\n 2.02071e-1, -2.004947e-1, 9.375572e-1, 5.998168e-2, -4.945934, 4.502898e-1,\n -9.898161e-1, -5.772814e-2, 4.470024e-1, -5.786656e-1, 1.158168e-1,\n 3.46804e-1, -5.04336e-2, 6.867947, 8.012363e-1, -1.085111, -1.882675e-1,\n 1.223748, 3.565495e-1, -3.688357, 5.653723e-1, 6.727646e-2, 2.69013,\n 4.9994e-1,\n // albedo 1, turbidity 2\n -1.389119, -5.29025e-1, -4.055774e1, 4.105972e1, -7.062577e-3, 4.56006e-1,\n -1.736334e-6, 2.775512, 6.671455e-1, -1.584641, -7.200619e-1, 1.248067e1,\n -1.156028e1, -1.659568e-2, 3.050029e-1, 1.099895e-2, 1.438927, -2.138015e-2,\n -9.826068e-1, -8.887254e-2, -2.960031, 1.808816, -2.478159e-2, 6.035733e-1,\n -4.868441e-2, 7.347705, 1.584739, -1.150423, -4.073793e-1, 2.412991,\n 4.87084e-1, -2.337902e-1, 8.295114e-1, 1.129914e-1, -5.150045, -9.016643e-2,\n -1.016933, -6.311501e-2, 5.218937e-1, -5.71643e-1, 1.250993e-1, 3.601524e-1,\n -5.497586e-2, 7.060139, 1.018333, -1.073151, -1.845444e-1, 1.155394,\n 3.004486e-1, -3.431711, 4.657031e-1, 9.401223e-2, 2.68862, 4.999544e-1,\n // albedo 1, turbidity 3\n -1.391257, -5.365815e-1, -4.255881e1, 4.299132e1, -5.838466e-3, 4.229134e-1,\n -2.760038e-6, 2.775531, 6.234597e-1, -1.780062, -9.22888e-1, 1.376172e1,\n -1.260946e1, -1.507526e-2, 3.117435e-1, 2.205045e-2, 6.093731e-1, 3.463446e-2,\n -7.388169e-1, 1.27567e-1, -3.999528, 2.223993, -1.856853e-2, 5.43931e-1,\n -8.834054e-2, 8.037139, 1.645951, -1.322387, -5.320143e-1, 2.659359, 1.086712,\n -2.129712e-1, 8.704649e-1, 1.800315e-1, -4.967241, -1.38372e-1, -9.378288e-1,\n -1.599895e-2, 3.607555e-1, -1.980561, 3.791456e-1, 1.212268e-1, -2.845992e-2,\n 6.825542, 1.059139, -1.100832, -2.172313e-1, 1.211561, 2.002721, -5.010011,\n 5.717583e-1, 6.777702e-2, 2.160006, 5.676392e-1,\n // albedo 1, turbidity 4\n -1.409373, -5.708751e-1, -3.034974e1, 3.079809e1, -7.280715e-3, 3.723304e-1,\n -2.436279e-6, 2.577348, 5.913377e-1, -1.954312, -1.11651, 5.399148, -4.299553,\n -1.724739e-2, 3.742824e-1, 4.187077e-2, 1.044883e-1, 1.232727e-1,\n -6.772215e-1, 2.001396e-1, -3.670523e-1, -1.014628, -3.497152e-3, 4.099858e-1,\n -1.584633e-1, 7.7504, 1.514559, -1.2916, -4.977437e-1, 9.641914e-1, 1.56242,\n -3.227782e-1, 9.055427e-1, 3.046444e-1, -3.385619, 9.546291e-3, -9.750857e-1,\n -8.77056e-2, 9.054256e-1, -1.429236, 8.974777e-1, -1.217961e-1, -5.194608e-2,\n 4.909409, 9.589153e-1, -1.088007, -1.959301e-1, 9.745799e-1, 1.260761,\n -5.008864, 7.271248e-1, 1.096661e-1, 2.717295, 6.340731e-1,\n // albedo 1, turbidity 5\n -1.45605, -6.223072e-1, -2.228088e1, 2.269604e1, -9.340812e-3, 4.118308e-1,\n -2.418083e-6, 2.442117, 5.589638e-1, -2.176449, -1.302416, 2.222836, -1.22273,\n -1.728051e-2, 1.323513e-1, 7.027731e-2, 4.835745e-2, 2.093351e-1,\n -5.789641e-1, 2.215407e-1, 2.142291e-1, -1.201725, -1.185728e-2, 8.122982e-1,\n -2.38042e-1, 6.706841, 1.404146, -1.307463, -4.515174e-1, 6.447827e-1,\n 1.223841, -2.902391e-1, 4.986588e-1, 4.073652e-1, -1.706696, 1.060885e-1,\n -9.698678e-1, -1.307094e-1, 9.389347e-1, -1.522852, 7.768797e-1, -1.368595e-1,\n -3.857426e-2, 3.676935, 8.980966e-1, -1.104349, -2.380323e-1, 1.047043,\n 1.865421, -5.011664, 7.014954e-1, 9.622701e-2, 1.89136, 6.687354e-1,\n // albedo 1, turbidity 6\n -1.502249, -6.724523e-1, -2.888092e1, 2.93036e1, -6.685766e-3, 3.685464e-1,\n -2.469442e-6, 2.310797, 5.566754e-1, -2.217125, -1.364924, 4.048243,\n -3.111333, -1.317747e-2, 1.921948e-1, 8.627702e-2, 1.981769e-3, 2.213689e-1,\n -6.215757e-1, 1.687995e-1, -5.949131e-1, -1.551293e-1, 3.356129e-4,\n 6.897657e-1, -2.855053e-1, 6.271042, 1.363084, -1.216317, -3.489429e-1,\n 7.566226e-1, 5.409809e-1, -2.830843e-1, 6.191825e-1, 4.755163e-1,\n -9.131387e-1, 1.383909e-1, -1.030437, -2.034064e-1, 8.335995e-1, -1.050947,\n 8.689093e-1, -3.67231e-1, -4.056183e-2, 3.111269, 8.856842e-1, -1.078984,\n -2.070549e-1, 9.683145e-1, 1.497022, -5.007653, 7.702541e-1, 1.285822e-1,\n 2.225188, 6.587911e-1,\n // albedo 1, turbidity 7\n -1.559291, -7.374039e-1, -3.596311e1, 3.63447e1, -4.667132e-3, 3.277964e-1,\n -2.487945e-6, 2.215652, 5.764681e-1, -2.356929, -1.444755, 6.244526,\n -5.540162, -8.79451e-3, 1.7921e-1, 9.578517e-2, 3.737676e-1, 1.922194e-1,\n -6.589752e-1, -2.92691e-2, -1.831779, 1.869962, -2.030095e-3, 7.552089e-1,\n -3.168157e-1, 4.632196, 1.294054, -1.161046, -1.472506e-1, 6.494138e-1,\n -8.327174e-1, -2.320724e-1, 3.391212e-1, 5.269637e-1, 9.376341e-1,\n 2.458573e-1, -1.034427, -3.062504e-1, 8.975634e-1, 3.203531e-1, 8.565142e-1,\n -1.250162e-1, -4.094017e-2, 1.861304, 8.223468e-1, -1.109954, -2.740277e-1,\n 1.063811, 7.077398e-1, -4.695734, 5.621696e-1, 1.248956e-1, 1.297723,\n 6.78972e-1,\n // albedo 1, turbidity 8\n -1.788293, -9.368751e-1, -4.38298e1, 4.424963e1, -3.65253e-3, 3.094331e-1,\n -2.810503e-6, 1.904402, 5.861599e-1, -2.268206, -1.312676, 2.863082,\n -2.373727, -5.14498e-3, 1.711072e-1, 9.316041e-2, 9.309598e-1, 1.791683e-1,\n -1.376966, -7.418582e-1, -1.349589, 1.563419, -3.124219e-3, 6.967139e-1,\n -3.061887e-1, 3.602731, 1.255669, -6.01754e-1, 2.815928e-1, 5.424052e-1,\n -6.88545e-1, -1.620001e-1, 2.980046e-1, 4.995571e-1, 7.371203e-1, 2.812466e-1,\n -1.278853, -5.245326e-1, 7.87052e-1, 3.125067e-1, 7.748105e-1, -7.788581e-2,\n 3.490956e-3, 1.283748, 8.13019e-1, -1.05093, -2.786331e-1, 1.056344, 1.053002,\n -4.047789, 4.432174e-1, 1.169077e-1, 9.532621e-1, 6.806764e-1,\n // albedo 1, turbidity 9\n -2.084927, -1.203954, -4.881638e1, 4.92016e1, -2.896045e-3, 2.882977e-1,\n -3.073517e-6, 1.702211, 6.37418e-1, -2.328567, -1.238023, -1.891019, 2.45152,\n -5.847581e-3, 2.084702e-1, 7.84813e-2, 1.211048, 8.095008e-2, -2.634632,\n -1.78946, -1.370558e-1, -3.326435e-1, 2.783737e-3, 5.239451e-1, -2.548881e-1,\n 2.896327, 1.324116, 6.882616e-2, 5.997821e-1, 1.535398e-1, 1.375209,\n -1.267285e-1, 4.239743e-1, 4.013122e-1, 1.794675e-1, 2.395382e-1, -1.430918,\n -6.439041e-1, 8.32598e-1, -1.705612, 7.236426e-1, -5.567593e-2, 6.408718e-2,\n 6.836524e-1, 8.388887e-1, -1.037956, -3.215402e-1, 9.457349e-1, 3.178114,\n -4.152156, 2.230992e-1, 1.156198e-1, 7.606223e-1, 6.656923e-1,\n // albedo 1, turbidity 10\n -2.967314, -1.728778, -3.730988e1, 3.755578e1, -2.588835e-3, 2.927966e-1,\n -3.935038e-6, 1.592161, 6.868694e-1, -2.123311, -1.175148, -1.314988e1,\n 1.386882e1, -7.828537e-3, 1.852026e-1, 5.481038e-2, 1.294309, 2.428177e-2,\n -5.443597, -3.156344, 2.110838, -3.421556, 1.18189e-2, 1.196951e-1,\n -1.742902e-1, 2.404353, 1.272805, 1.029898, 5.912521e-1, -3.983531e-1,\n 3.286069, -9.252065e-2, 1.331381, 2.560642e-1, 8.001754e-1, 3.624178e-1,\n -1.547574, -7.881604e-1, 1.020902, -2.897069, 5.21347e-1, -9.242315e-1,\n 1.185594e-1, -1.150721, 7.317211e-1, -9.621043e-1, -1.991406e-1, 6.531287e-1,\n 3.925839, -3.596904, 6.317332e-1, 1.531334e-1, 1.457846, 6.966285e-1,\n];\n\nexport const datasetRGBRadiance_B = [\n // albedo 0, turbidity 1\n 9.926518e-1, 1.999494, -4.136109, 1.85627e1, 1.351028e1, 1.390238e1,\n // albedo 0, turbidity 2\n 9.634366e-1, 2.119694, -4.614523, 1.919701e1, 1.376644e1, 1.418731e1,\n // albedo 0, turbidity 3\n 9.446537e-1, 2.17161, -4.915556, 1.91824e1, 1.537135e1, 1.40053e1,\n // albedo 0, turbidity 4\n 9.073074e-1, 2.330536, -5.577596, 1.961615e1, 1.688365e1, 1.446955e1,\n // albedo 0, turbidity 5\n 8.739124e-1, 2.388682, -5.842995, 1.923265e1, 1.887735e1, 1.485698e1,\n // albedo 0, turbidity 6\n 8.563688e-1, 2.391534, -5.769133, 1.828709e1, 2.097209e1, 1.469587e1,\n // albedo 0, turbidity 7\n 8.270533e-1, 2.34279, -5.558071, 1.684993e1, 2.356498e1, 1.505975e1,\n // albedo 0, turbidity 8\n 7.908339e-1, 2.190341, -4.852571, 1.374862e1, 2.806846e1, 1.548444e1,\n // albedo 0, turbidity 9\n 7.403619e-1, 1.783998, -2.983854, 7.622563, 3.50761e1, 1.615805e1,\n // albedo 0, turbidity 10\n 6.840111e-1, 1.154457, -2.39383e-1, -7.896893e-1, 4.282765e1, 1.779469e1,\n // albedo 1, turbidity 1\n 1.1683, 1.860993, -2.129074, 1.251952e1, 3.032499e1, 2.938716e1,\n // albedo 1, turbidity 2\n 1.150338, 1.918813, -2.413527, 1.274862e1, 3.087134e1, 2.951432e1,\n // albedo 1, turbidity 3\n 1.114719, 1.964689, -2.625423, 1.247837e1, 3.237949e1, 2.943596e1,\n // albedo 1, turbidity 4\n 1.077948, 2.006292, -2.846934, 1.190195e1, 3.459293e1, 2.937492e1,\n // albedo 1, turbidity 5\n 1.035143, 1.986681, -2.752584, 1.060972e1, 3.722185e1, 2.918594e1,\n // albedo 1, turbidity 6\n 1.015992, 1.992054, -2.812626, 1.001416e1, 3.8473e1, 2.924624e1,\n // albedo 1, turbidity 7\n 9.756887e-1, 1.939897, -2.533281, 8.319176, 4.083907e1, 2.925586e1,\n // albedo 1, turbidity 8\n 9.264164e-1, 1.716454, -1.597044, 4.739725, 4.507683e1, 2.878915e1,\n // albedo 1, turbidity 9\n 8.595191e-1, 1.346034, -2.801895e-2, -6.582906e-1, 5.017523e1, 2.852953e1,\n // albedo 1, turbidity 10\n 7.754116e-1, 7.709245e-1, 2.200201, -7.487661, 5.436622e1, 2.893432e1,\n];\n","import {\n datasetRGB_B,\n datasetRGB_G,\n datasetRGB_R,\n datasetRGBRadiance_B,\n datasetRGBRadiance_G,\n datasetRGBRadiance_R,\n} from './hosek-wilkie-configuration';\n\nexport interface HosekWilkieSkyConfigurationRGB {\n r: HosekWilkieSkyConfiguration;\n g: HosekWilkieSkyConfiguration;\n b: HosekWilkieSkyConfiguration;\n}\n\nexport interface HosekWilkieSkyRadianceConfigurationRGB {\n r: number;\n g: number;\n b: number;\n}\n\nexport type HosekWilkieSkyConfiguration = [\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n];\n\nconst calculateElevationMatrixCoefficient = (\n solarElevation: number,\n elevationMatrix: number[],\n i: number,\n) => {\n return (\n Math.pow(1.0 - solarElevation, 5.0) * elevationMatrix[i] +\n 5.0 *\n Math.pow(1.0 - solarElevation, 4.0) *\n solarElevation *\n elevationMatrix[i + 9] +\n 10.0 *\n Math.pow(1.0 - solarElevation, 3.0) *\n Math.pow(solarElevation, 2.0) *\n elevationMatrix[i + 18] +\n 10.0 *\n Math.pow(1.0 - solarElevation, 2.0) *\n Math.pow(solarElevation, 3.0) *\n elevationMatrix[i + 27] +\n 5.0 *\n (1.0 - solarElevation) *\n Math.pow(solarElevation, 4.0) *\n elevationMatrix[i + 36] +\n Math.pow(solarElevation, 5.0) * elevationMatrix[i + 45]\n );\n};\n\nexport const buildHosekWilkieSkyConfigurationRGB = (\n turbidity: number,\n albedo: number,\n elevation: number,\n): HosekWilkieSkyConfigurationRGB => {\n const configs = [datasetRGB_R, datasetRGB_G, datasetRGB_B].map((dataset) => {\n const config: HosekWilkieSkyConfiguration = [0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n const intTurbidity = Math.floor(turbidity);\n const turbidityRemainder = turbidity - intTurbidity;\n\n const solarElevation = Math.pow(elevation / (Math.PI / 2.0), 1.0 / 3.0);\n\n // albedo 0 low turbidity\n let elevationMatrix = dataset.slice(9 * 6 * (intTurbidity - 1));\n\n for (let i = 0; i < 9; ++i) {\n config[i] =\n (1.0 - albedo) *\n (1.0 - turbidityRemainder) *\n calculateElevationMatrixCoefficient(solarElevation, elevationMatrix, i);\n }\n\n // albedo 1 low turbidity\n elevationMatrix = dataset.slice(9 * 6 * 10 + 9 * 6 * (intTurbidity - 1));\n for (let i = 0; i < 9; ++i) {\n config[i] +=\n albedo *\n (1.0 - turbidityRemainder) *\n calculateElevationMatrixCoefficient(solarElevation, elevationMatrix, i);\n }\n\n if (intTurbidity === 10) {\n return config;\n }\n\n // albedo 0 high turbidity\n elevationMatrix = dataset.slice(9 * 6 * intTurbidity);\n for (let i = 0; i < 9; ++i) {\n config[i] +=\n (1.0 - albedo) *\n turbidityRemainder *\n calculateElevationMatrixCoefficient(solarElevation, elevationMatrix, i);\n }\n\n // albedo 1 high turbidity\n elevationMatrix = dataset.slice(9 * 6 * 10 + 9 * 6 * intTurbidity);\n for (let i = 0; i < 9; ++i) {\n config[i] +=\n albedo *\n turbidityRemainder *\n calculateElevationMatrixCoefficient(solarElevation, elevationMatrix, i);\n }\n return config;\n });\n return { r: configs[0], g: configs[1], b: configs[2] };\n};\n\nconst calculateCommonRadianceElevationMatrixCoefficient = (\n solarElevation: number,\n elevationMatrix: number[],\n) => {\n return (\n Math.pow(1.0 - solarElevation, 5.0) * elevationMatrix[0] +\n 5.0 *\n Math.pow(1.0 - solarElevation, 4.0) *\n solarElevation *\n elevationMatrix[1] +\n 10.0 *\n Math.pow(1.0 - solarElevation, 3.0) *\n Math.pow(solarElevation, 2.0) *\n elevationMatrix[2] +\n 10.0 *\n Math.pow(1.0 - solarElevation, 2.0) *\n Math.pow(solarElevation, 3.0) *\n elevationMatrix[3] +\n 5.0 *\n (1.0 - solarElevation) *\n Math.pow(solarElevation, 4.0) *\n elevationMatrix[4] +\n Math.pow(solarElevation, 5.0) * elevationMatrix[5]\n );\n};\n\nexport const buildHosekWilkieSkyRadianceConfiguration = (\n turbidity: number,\n albedo: number,\n elevation: number,\n): HosekWilkieSkyRadianceConfigurationRGB => {\n const radiances = [\n datasetRGBRadiance_R,\n datasetRGBRadiance_G,\n datasetRGBRadiance_B,\n ].map((dataset) => {\n const intTurbidity = Math.floor(turbidity);\n const turbidityRemainder = turbidity - intTurbidity;\n const solarElevation = Math.pow(elevation / (Math.PI / 2.0), 1.0 / 3.0);\n\n // albedo 0 low turbidity\n let elevationMatrix = dataset.slice(6 * (intTurbidity - 1));\n let result =\n (1.0 - albedo) *\n (1.0 - turbidityRemainder) *\n calculateCommonRadianceElevationMatrixCoefficient(\n solarElevation,\n elevationMatrix,\n );\n\n // albedo 1 low turbidity\n elevationMatrix = dataset.slice(6 * 10 + 6 * (intTurbidity - 1));\n result +=\n albedo *\n (1.0 - turbidityRemainder) *\n calculateCommonRadianceElevationMatrixCoefficient(\n solarElevation,\n elevationMatrix,\n );\n if (intTurbidity === 10) {\n return result;\n }\n\n // albedo 0 high turbidity\n elevationMatrix = dataset.slice(6 * intTurbidity);\n result +=\n (1.0 - albedo) *\n turbidityRemainder *\n calculateCommonRadianceElevationMatrixCoefficient(\n solarElevation,\n elevationMatrix,\n );\n\n // albedo 1 high turbidity\n elevationMatrix = dataset.slice(6 * 10 + 6 * intTurbidity);\n result +=\n albedo *\n turbidityRemainder *\n calculateCommonRadianceElevationMatrixCoefficient(\n solarElevation,\n elevationMatrix,\n );\n return result;\n });\n return { r: radiances[0], g: radiances[1], b: radiances[2] };\n};\n","import type { Node } from 'three/webgpu';\nimport {\n Fn,\n fract,\n sin,\n dot,\n vec2,\n floor,\n sub,\n add,\n mix,\n float,\n Loop,\n} from 'three/tsl';\n\n// see https://blog.frost.kiwi/GLSL-noise-and-radial-gradient/\nexport const random2D = Fn(([uv]: [Node<'vec2'>]) => {\n return fract(sin(dot(uv, vec2(12.9898, 78.233))).mul(43758.5453));\n});\n\nexport const noise = Fn(([uv_immutable]: [Node<'vec2'>]) => {\n const uv = vec2(uv_immutable).toVar();\n const uvInt = floor(uv);\n const uvFract = fract(uv);\n const interpolationWeights = uvFract\n .mul(uvFract)\n .mul(sub(3.0, uvFract.mul(2.0)));\n\n const a = random2D(uvInt);\n const b = random2D(add(uvInt, vec2(1.0, 0.0)));\n const c = random2D(add(uvInt, vec2(0.0, 1.0)));\n const d = random2D(add(uvInt, vec2(1.0, 1.0)));\n\n return mix(\n mix(a, b, interpolationWeights.x),\n mix(c, d, interpolationWeights.x),\n interpolationWeights.y,\n );\n});\n\nexport const fbm = Fn(([uv_immutable]: [Node<'vec2'>]) => {\n const uv = vec2(uv_immutable).toVar();\n const fbmValue = float(0.0).toVar();\n const amplitude = float(0.5).toVar();\n\n Loop(5, () => {\n fbmValue.addAssign(amplitude.mul(noise(uv)));\n uv.mulAssign(2.0);\n amplitude.mulAssign(0.5);\n });\n\n return fbmValue;\n});\n","import { BackSide, BoxGeometry, Mesh, Vector3 } from 'three';\nimport type { UniformNode, Node, UniformArrayNode } from 'three/webgpu';\nimport { NodeMaterial } from 'three/webgpu';\nimport {\n clamp,\n vec2,\n acos,\n exp,\n cos,\n sqrt,\n uniformArray,\n pow,\n dot,\n Fn,\n smoothstep,\n float,\n uniform,\n vec4,\n vec3,\n modelViewProjection,\n cameraPosition,\n positionWorld,\n sub,\n add,\n mul,\n max,\n mix,\n If,\n} from 'three/tsl';\nimport {\n buildHosekWilkieSkyConfigurationRGB,\n buildHosekWilkieSkyRadianceConfiguration,\n} from './hosek-wilkie-sky-configuration-builder';\nimport { fbm, random2D } from './tsl-util';\n\ninterface HosekWilkieSkyParameters {\n turbidity?: number;\n albedo?: number;\n sunPosition?: Vector3;\n}\n\n// Hosek-Wilkie sky model implementation based on\n// https://dl.acm.org/doi/epdf/10.1145/2185520.2185591\n// https://github.com/ebruneton/clear-sky-models/tree/master/atmosphere/model/hosek\n// and https://kazakov.life/2025/12/29/drawing-a-hosek-wilkie-sky-on-cpu-fast/\n// theta is the angle between the zenith (the upper edge of the sky, so here just up (0,1,0))\n// and the direction towards the point in the sky we are looking at (so pi/2 would be the horizon for example)\n// gamma is the angle between the sun direction and the direction towards the\n// point in the sky we are looking at (so 0, would be the sun)\nexport class HosekWilkieSky extends Mesh {\n public readonly sunRadius: UniformNode<'float', number> = uniform(0.03);\n public readonly sunSoftness: UniformNode<'float', number> = uniform(0.002);\n public readonly tonemapExposure: UniformNode<'float', number> = uniform(0.5);\n public readonly tonemapWhite: UniformNode<'float', number> = uniform(14);\n public readonly fixColorBanding: UniformNode<'bool', boolean> = uniform(true);\n public readonly cloudCoverage: UniformNode<'float', number> = uniform(0.4);\n public readonly cloudDensity: UniformNode<'float', number> = uniform(0.4);\n public readonly cloudElevation: UniformNode<'float', number> = uniform(0.5);\n public readonly cloudScale: UniformNode<'float', number> = uniform(0.0002);\n\n // private since these require updateConfigurations() to be called after updates\n // which is handled in the corresponding setters\n private readonly _sunPosition: UniformNode<'vec3', Vector3>;\n private _turbidity: number;\n private _albedo: number;\n\n private _configuration_R: UniformArrayNode<'float'>;\n private _configuration_G: UniformArrayNode<'float'>;\n private _configuration_B: UniformArrayNode<'float'>;\n\n private _radiance_R: UniformNode<'float', number>;\n private _radiance_G: UniformNode<'float', number>;\n private _radiance_B: UniformNode<'float', number>;\n\n constructor(parameters: HosekWilkieSkyParameters = {}) {\n const material = new NodeMaterial();\n super(new BoxGeometry(1, 1, 1), material);\n\n this._turbidity = parameters.turbidity ?? 2.5; // clear sky in a temperate climate\n this._albedo = parameters.albedo ?? 0.9; // brightness of the ground in range [0,1]\n this._sunPosition = uniform(parameters.sunPosition ?? new Vector3(0, 1, 0));\n\n material.side = BackSide;\n material.depthWrite = false; // this sky is only in the background and should not be considered for depth testing\n\n this.initializeConfigurations();\n material.vertexNode = this.buildVertexNode();\n material.colorNode = this.buildColorNode();\n }\n\n public getClonedSunPosition(): Vector3 {\n return this._sunPosition.value.clone();\n }\n\n public setSunPosition(polarAngle: number, azimuthAngle: number): void {\n const sunPosition = new Vector3().setFromSphericalCoords(\n 1,\n polarAngle,\n azimuthAngle,\n );\n this._sunPosition.value.copy(sunPosition);\n this.updateConfigurations();\n }\n\n get turbidity(): number {\n return this._turbidity;\n }\n\n set turbidity(value: number) {\n this._turbidity = value;\n this.updateConfigurations();\n }\n\n get albedo(): number {\n return this._albedo;\n }\n\n set albedo(value: number) {\n this._albedo = value;\n this.updateConfigurations();\n }\n\n private buildColorNode(): Node<'vec4'> {\n return Fn(() => {\n const up = vec3(0, 1, 0).toConst();\n const viewDirection = positionWorld.sub(cameraPosition).normalize();\n\n // clamp dot to something > 0 to use bordering horizon values below the horizon as well\n const theta = acos(clamp(dot(viewDirection, up), 0.001, 1));\n const gamma = acos(clamp(dot(viewDirection, this._sunPosition), -1, 1));\n\n const atmosphereColor = this.calculateAtmosphereColor(theta, gamma);\n\n const atmosphereWithSun = atmosphereColor.add(\n this.calculateSunColor(gamma),\n );\n\n const tonemappedSRGBColor =\n this.tonemapExtendedReinhard(atmosphereWithSun);\n\n const skyWithClouds = this.mixInClouds(\n tonemappedSRGBColor,\n viewDirection,\n );\n\n const finalColor = this.removeColorBanding(skyWithClouds, theta, gamma);\n\n return vec4(finalColor, 1);\n })();\n }\n\n // adapted from https://github.com/mrdoob/three.js/blob/master/examples/jsm/objects/SkyMesh.js\n private mixInClouds(\n skyColor: Node<'vec3'>,\n viewDirection: Node<'vec3'>,\n ): Node<'vec3'> {\n const result = vec3(skyColor).toVar();\n\n If(\n this.cloudCoverage.greaterThan(0.0).and(viewDirection.y.greaterThan(0.0)),\n () => {\n const cloudUV = this.projectViewToCloudPlane(viewDirection);\n const cloudMask = this.sampleCloudsFromFbmAndSmoothen(\n cloudUV,\n viewDirection,\n );\n const cloudColor = this.shadeClouds(skyColor, viewDirection);\n result.assign(\n mix(result, cloudColor, cloudMask.mul(this.cloudDensity)),\n );\n },\n );\n\n return result;\n }\n\n private projectViewToCloudPlane(viewDirection: Node<'vec3'>): Node<'vec2'> {\n const elevation = mix(1.0, 0.1, this.cloudElevation);\n return viewDirection.xz\n .div(viewDirection.y.mul(elevation))\n .mul(this.cloudScale);\n }\n\n private sampleCloudsFromFbmAndSmoothen(\n cloudUV: Node<'vec2'>,\n viewDirection: Node<'vec3'>,\n ): Node<'float'> {\n const cloudNoise = fbm(cloudUV.mul(1000.0))\n .add(fbm(cloudUV.mul(2000.0).add(3.7)).mul(0.5))\n .mul(0.5)\n .add(0.5);\n\n const cloudsSmoothedByCoverage = smoothstep(\n sub(1.0, this.cloudCoverage),\n sub(1.0, this.cloudCoverage).add(0.3),\n cloudNoise,\n );\n const elevationSmoothingFactor = smoothstep(\n 0.0,\n add(0.1, mul(0.2, this.cloudElevation)),\n viewDirection.y,\n );\n\n return cloudsSmoothedByCoverage.mul(elevationSmoothingFactor);\n }\n\n private shadeClouds(\n skyColor: Node<'vec3'>,\n viewDirection: Node<'vec3'>,\n ): Node<'vec3'> {\n const sunInfluence = dot(viewDirection, this._sunPosition)\n .mul(0.5)\n .add(0.5);\n const daylight = max(0.0, this._sunPosition.y.mul(2.0));\n\n const cloudColor = mix(vec3(0.3), vec3(1.0), daylight);\n const litClouds = mix(\n cloudColor,\n skyColor.add(vec3(1.0)),\n sunInfluence.mul(0.5),\n );\n return litClouds.mul(clamp(this._sunPosition.y.mul(2.0), 0.0, 1.0));\n }\n\n private calculateSunColor(gamma: Node<'float'>): Node<'vec3'> {\n const sunBrightness = this.tonemapWhite;\n\n const sunDisk = float(1).sub(\n smoothstep(this.sunRadius, this.sunRadius.add(this.sunSoftness), gamma),\n );\n\n const sunRadiance = vec3(\n this._radiance_R,\n this._radiance_G,\n this._radiance_B,\n ).mul(sunBrightness);\n return sunRadiance.mul(sunDisk);\n }\n\n private calculateAtmosphereColor(\n theta: Node<'float'>,\n gamma: Node<'float'>,\n ): Node<'vec3'> {\n return vec3(\n this.calculateRadiance(this._configuration_R, theta, gamma).mul(\n this._radiance_R,\n ),\n this.calculateRadiance(this._configuration_G, theta, gamma).mul(\n this._radiance_G,\n ),\n this.calculateRadiance(this._configuration_B, theta, gamma).mul(\n this._radiance_B,\n ),\n );\n }\n\n private buildVertexNode(): Node<'vec4'> {\n return Fn(() => {\n const position = modelViewProjection as Node<'vec4'>;\n position.z.assign(position.w); // set z to the clip space projection coordinate (camera.far)\n\n return position;\n })();\n }\n\n private initializeConfigurations() {\n const elevation = Math.asin(this._sunPosition.value.y);\n\n const configurations = buildHosekWilkieSkyConfigurationRGB(\n this._turbidity,\n this._albedo,\n elevation,\n );\n this._configuration_R = uniformArray(configurations.r);\n this._configuration_G = uniformArray(configurations.g);\n this._configuration_B = uniformArray(configurations.b);\n\n const radiances = buildHosekWilkieSkyRadianceConfiguration(\n this._turbidity,\n this._albedo,\n elevation,\n );\n this._radiance_R = uniform(radiances.r);\n this._radiance_G = uniform(radiances.g);\n this._radiance_B = uniform(radiances.b);\n }\n\n public updateConfigurations(): void {\n const elevation = Math.asin(this._sunPosition.value.y);\n\n const configurations = buildHosekWilkieSkyConfigurationRGB(\n this._turbidity,\n this._albedo,\n elevation,\n );\n this._configuration_R.array.splice(0, 9, ...configurations.r);\n this._configuration_G.array.splice(0, 9, ...configurations.g);\n this._configuration_B.array.splice(0, 9, ...configurations.b);\n\n const radiances = buildHosekWilkieSkyRadianceConfiguration(\n this._turbidity,\n this._albedo,\n elevation,\n );\n this._radiance_R.value = radiances.r;\n this._radiance_G.value = radiances.g;\n this._radiance_B.value = radiances.b;\n }\n\n private calculateRadiance(\n configuration: UniformArrayNode<'float'>,\n theta: Node<'float'>,\n gamma: Node<'float'>,\n ): Node<'float'> {\n const cosGamma = cos(gamma);\n const cosTheta = cos(theta);\n\n const expMultiplier = exp(configuration.element(4).mul(gamma));\n const rayMultiplier = cosGamma.mul(cosGamma);\n const mieMultiplier = float(1)\n .add(cosGamma.mul(cosGamma))\n .div(\n pow(\n float(1)\n .add(configuration.element(8).mul(configuration.element(8)))\n .sub(configuration.element(8).mul(2).mul(cosGamma)),\n 1.5,\n ),\n );\n const zenith = sqrt(cosTheta);\n\n return float(1)\n .add(\n configuration\n .element(0)\n .mul(exp(configuration.element(1).div(cosTheta.add(0.01)))),\n )\n .mul(\n configuration\n .element(2)\n .add(configuration.element(3).mul(expMultiplier))\n .add(configuration.element(5).mul(rayMultiplier))\n .add(configuration.element(6).mul(mieMultiplier))\n .add(configuration.element(7).mul(zenith)),\n );\n }\n\n // based on https://kazakov.life/2025/12/29/drawing-a-hosek-wilkie-sky-on-cpu-fast/\n private tonemapExtendedReinhard(color: Node<'vec3'>): Node<'vec3'> {\n // based on Rec.709 weights\n const luminance = color.dot(vec3(0.2126, 0.7152, 0.0722));\n const reinhardExtendedCorrectionFactor = float(1)\n .add(luminance.div(this.tonemapWhite.mul(this.tonemapWhite)))\n .div(float(1).add(luminance));\n return color\n .mul(this.tonemapExposure)\n .mul(reinhardExtendedCorrectionFactor);\n }\n\n // see https://blog.frost.kiwi/GLSL-noise-and-radial-gradient/\n private removeColorBanding(\n color: Node<'vec3'>,\n theta: Node<'float'>,\n gamma: Node<'float'>,\n ): Node<'vec3'> {\n const dithered = color.add(random2D(vec2(theta, gamma)).sub(0.5).mul(0.02));\n return this.fixColorBanding.select(dithered, color);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hosek-wilkie-sky-DmTvnxMA.mjs","names":[],"sources":["../../packages/common-core/src/webgpu/hosek-wilkie-configuration.ts","../../packages/common-core/src/webgpu/hosek-wilkie-sky-configuration-builder.ts","../../packages/common-core/src/webgpu/tsl-util.ts","../../packages/common-core/src/webgpu/hosek-wilkie-sky.ts"],"sourcesContent":["export const datasetRGB_R = [\n // albedo 0, turbidity 1\n -1.099459, -1.335146e-1, -4.083223, 5.919603, -1.104166e-1, 1.600158,\n -1.326538e-6, 4.917807, 5.127716e-1, -1.169858, -1.832793e-1, 9.694744e-1,\n 9.495762e-2, -4.738918e-2, 2.194171e-1, 1.095749e-1, 3.603604, 3.815119e-1,\n -9.665225e-1, -1.403888e-1, 5.194457, -1.107607, -8.135181e-1, 4.969661,\n -2.300508e-1, -2.48935, 1.279158, -1.292508, -1.299552e-1, -2.071404,\n -4.752482e-2, 1.215598, -1.904179, 3.027985e-1, 8.707768, 6.332446e-2,\n -9.264666e-1, -1.69678e-1, 4.57407, -4.232936e-1, -7.575833, 5.079755,\n -2.576343e-1, -4.506805, 6.908129e-1, -1.139072, -1.796056e-1, 1.923311,\n 6.788529, -2.364389, -1.064041, 1.71701e-1, 1.534681, 5.01581e-1,\n // albedo 0, turbidity 2\n -1.107257, -1.384411e-1, -4.285744, 5.713157, -1.015992e-1, 1.372638,\n 6.555893e-2, 5.127514, 6.550471e-1, -1.187337, -1.969013e-1, 8.551048e-1,\n 5.289708e-2, -7.626406e-2, 1.733153e-2, 1.779454e-1, 3.801038, 4.742709e-1,\n -9.685321e-1, -1.553308e-1, 4.732492, -1.178935, -7.852791e-1, 4.604492,\n -2.666518e-1, -2.367663, 1.177527, -1.252817, -5.129949e-2, -2.800433,\n -1.295992e-2, 1.308964, -2.204331, 7.276011e-1, 8.699265, 1.188388e-1,\n -9.459509e-1, -2.322133e-1, 4.375041, -1.712018e-1, -7.451681, 5.078019,\n -4.223538e-1, -4.595561, 1.074719, -1.125092, -1.79675e-1, 1.626399, 6.989743,\n -2.406382, -9.060383e-1, 2.961611e-1, 1.337715, 5.43814e-1,\n // albedo 0, turbidity 3\n -1.135338, -1.71616e-1, -1.499253, 2.373491, -1.654023e-1, 9.566404e-1,\n 1.113453e-1, 4.528473, 6.579439e-1, -1.13278, -1.456214e-1, -1.736672,\n 1.756589, -1.087003e-1, 3.757927e-1, 2.52507e-1, 7.178513, 5.003814e-1,\n -1.167176, -2.927225e-1, 5.727667, -3.139244, -6.425204e-1, 2.822634,\n -1.457812e-1, -6.78708, 1.017072, -1.042529, 4.110823e-2, -4.000629, 4.362364,\n 1.09054, -1.338674, 8.246964e-1, 1.095249e1, 2.912211e-1, -1.061598,\n -2.096143e-1, 3.803155, -7.977069, -3.63788, 3.707671, -1.903128e-1,\n -3.397953, 9.9715e-1, -1.07356, -2.077964e-1, 1.492052, 1.626322e1, -5.015304,\n -4.059889e-1, 2.659782e-1, 6.39538e-1, 5.634436e-1,\n // albedo 0, turbidity 4\n -1.172794, -2.111186e-1, -1.360013, 1.60408, -8.473723e-2, 7.217312e-1,\n 1.54803e-1, 4.25701, 6.328974e-1, -1.238374, -2.670827e-1, 3.247678e-1,\n 5.466311e-1, -7.425952e-1, 5.27644e-1, 2.678026e-2, 5.484169, 6.814734e-1,\n -1.176923, -2.574586e-1, 2.304045, -2.797678, 1.464405, 1.998552, 2.550559e-1,\n -4.199772, 7.544892e-1, -1.003284, 1.943984e-2, -2.145066, 1.030924e1,\n -1.525413e1, -2.02301, 5.448699e-1, 8.159497, 5.539148e-1, -1.060017,\n -2.037206e-1, 2.483018, -4.595459, 6.526991, 4.031804, 1.206513e-1, -2.586527,\n 7.875752e-1, -1.081141, -2.123302e-1, 1.092275, 2.683841, -4.166938,\n -1.396582, 4.371205e-1, 1.030233, 6.664862e-1,\n // albedo 0, turbidity 5\n -1.222392, -2.651924e-1, -4.625037e-1, 3.521964e-1, 2.148855e-2, 5.078494e-1,\n 1.79159e-1, 3.852516, 5.998216e-1, -1.42461, -4.710155e-1, -1.826815e-1,\n 1.786277, -1.952442, 5.277612e-1, -1.773629e-2, 2.415874, 6.701272e-1,\n -1.130655, -1.358609e-1, 9.171203e-1, -4.660394, 6.251162, 1.904529,\n 2.639668e-1, 1.85613, 8.22844e-1, -9.739015e-1, -6.674749e-2, -4.768897e-1,\n 1.248589e1, -1.994688e1, -2.353043, 5.885575e-1, 1.287251, 4.830135e-1,\n -1.082178, -1.974495e-1, 1.050245, -4.792855, 8.663406, 3.246969, 1.556731e-1,\n 8.117442e-1, 8.050376e-1, -1.063354, -1.727108e-1, 9.681592e-1, 2.736077,\n -4.969269, -8.36057e-1, 5.994612e-1, 1.024039, 6.786935e-1,\n // albedo 0, turbidity 6\n -1.261936, -3.053676e-1, -4.262222e-1, 4.000196e-1, -2.059388e-2, 4.721802e-1,\n 1.480028e-1, 3.505343, 6.121337e-1, -1.681088, -6.971919e-1, -1.105652e-1,\n 7.437426e-1, -6.594399e-1, 2.254221e-1, 8.710195e-2, 1.263913, 5.681865e-1,\n -9.453001e-1, 3.460388e-2, 6.067038e-1, -1.985128, 3.457236, 2.655483,\n -1.162354e-2, 3.304716, 1.00195, -1.086609, -2.029011e-1, -6.39917e-1,\n 6.926885, -1.512189e1, -3.793051, 9.45612e-1, 2.222222e-1, 2.893725e-1,\n -1.041259, -1.38879e-1, 1.147331, 6.282086, 3.679836, 4.398314, -1.355232e-1,\n 1.031134, 9.273509e-1, -1.063473, -1.916051e-1, 6.556979e-1, -3.371891e-3,\n -3.699664, -1.926783, 7.371154e-1, 1.179975, 6.367068e-1,\n // albedo 0, turbidity 7\n -1.33639, -3.778927e-1, -7.259477e-1, 2.270247e-1, 4.627513e-1, 1.366459e-1,\n 2.637347e-1, 3.292059, 4.998211e-1, -2.119878, -1.055472, 5.422052e-1,\n 7.826648e-1, -1.286065, 9.517905e-1, -1.432358e-1, -2.379816e-1, 5.910513e-1,\n -7.761432e-1, 2.124336e-1, -6.845184e-1, -9.812342e-1, 4.347257, 9.67198e-1,\n 3.77315e-1, 5.789529, 9.646598e-1, -1.118734, -3.513815e-1, 5.500918e-1,\n 9.449627e-1, -1.26207e1, -1.82528, 4.73126e-1, -3.326892, 3.568768e-1,\n -1.026437, -8.257946e-2, 3.221701e-1, 1.198372e1, 1.55513, 2.560304,\n 1.406465e-1, 2.912858, 8.643181e-1, -1.069949, -2.029607e-1, 5.825042e-1,\n -2.398595e-3, -3.278335, -1.349882, 7.208433e-1, 8.505164e-1, 6.625391e-1,\n // albedo 0, turbidity 8\n -1.392309, -4.454945e-1, -5.664e-1, 6.283393e-1, -3.761727e-1, 6.949802e-1,\n 7.748178e-2, 3.192797, 5.968661e-1, -2.713405, -1.395112, 2.02923e-1,\n 1.877272e-1, -3.715859e-1, -1.652929e-1, 2.385861e-1, -4.150768e-1,\n 1.375467e-1, -9.588644e-1, 2.4339e-2, -1.527493, -9.632874e-1, 5.496269,\n 1.094931, 2.004044e-1, 6.084554, 1.369604, -8.028546e-1, -2.473563e-1,\n 1.617898, 2.073591, -1.149446e1, -8.394131e-1, 2.726847e-1, -4.634538,\n 1.367293e-1, -1.198326, -1.804865e-1, -3.565414e-1, 4.0732, 1.662086, 1.23977,\n 3.367978e-1, 2.997402, 9.360383e-1, -1.013531, -1.85906e-1, 5.799857e-1,\n 1.331883e1, -4.346873, -1.11382, 5.275714e-1, 8.045177e-1, 6.496373e-1,\n // albedo 0, turbidity 9\n -1.530103, -6.107468e-1, -3.841771e-1, 1.881508, -1.464807, 6.65469e-1,\n -5.950797e-6, 2.738912, 8.101012e-1, -2.415469, -1.057499, -4.161968e-1,\n -2.357548, 6.300296e-1, 6.224915e-1, 1.545048e-2, 2.038561, -1.339415e-1,\n -3.096796, -1.465688, -1.199232, 4.567061, 3.26098, -9.794907e-1, 8.950491e-1,\n 2.049235, 1.331015, 2.713904e-1, 2.852852e-1, 1.20209, -8.206784, -5.805762,\n 1.804431, -6.090648e-1, -1.990902, 3.288858e-1, -1.45658, -3.45596e-1,\n -6.409257e-2, 1.667697e1, -2.311094, -9.771104e-1, 6.759863e-1, 1.245136,\n 7.911932e-1, -9.860389e-1, -2.099564e-1, 2.94665e-1, -3.5478e-3, -2.268313,\n -6.205647e-2, 4.705185e-1, 8.657995e-1, 6.856284e-1,\n // albedo 0, turbidity 10\n -1.971736, -9.414047e-1, -3.400557e-1, 1.468763, -1.474284, 5.501062e-1,\n -1.10975e-5, 2.35637, 9.001702e-1, -1.589845, -7.797079e-1, -5.58224e-1,\n -8.137376e-1, 5.846617e-1, 1.129459e-1, -2.658005e-2, 2.707248, -2.112486e-1,\n -6.940173, -2.823963, -1.620848, 1.090696, 2.39173, 1.370047, 5.890462e-1,\n 1.7284, 1.331253, 1.293144, -1.919778e-3, 1.644206, -8.666967e-1, -7.161953,\n -1.385018, -1.505374e-1, -1.388643, 2.530122e-1, -1.48888, -2.495496e-1,\n -2.377137e-1, 1.167714e1, -8.617124e-1, 1.053828, 1.992744e-1, 3.633564e-1,\n 8.553304e-1, -1.060891, -4.035829e-1, 2.823207e-1, -2.369798e-3, -1.876577,\n -5.950265e-1, 4.241017e-1, 3.140802e-1, 6.631669e-1,\n // albedo 1, turbidity 1\n -1.101204, -1.351353e-1, -4.030882, 6.096353, -1.148599e-1, 1.606507,\n -1.555474e-6, 4.436084, 5.973715e-1, -1.154597, -1.923378e-1, 8.512132e-1,\n 2.934895e-1, -6.522777e-2, 1.389077e-1, 9.091469e-2, 3.133307, 2.108541e-1,\n -1.031588, -1.546804e-1, 5.266214, -9.49139e-1, -7.184867e-1, 4.875626,\n -1.911907e-1, -2.865642, 1.087895, -1.159454, -9.546699e-2, -1.508146,\n -2.031411e-2, 1.040653, -2.333508, 2.540592e-1, 8.594981, 9.31677e-2,\n -1.03594, -2.021151e-1, 4.719343, -9.019318e-1, -7.858046, 3.901234,\n -2.233137e-1, -4.344739, 6.550733e-1, -1.096669, -1.558196e-1, 2.057553,\n 6.274495, -2.678352, -1.814927, 1.550676e-1, 1.903276, 4.998989e-1,\n // albedo 1, turbidity 2\n -1.114209, -1.473531e-1, -7.602914, 8.973685, -4.980074e-2, 1.289198,\n 8.366906e-2, 4.557987, 6.118757e-1, -1.149397, -1.981628e-1, 4.914096,\n -3.498986, -6.25709e-2, 1.667401e-1, 1.04898e-1, 2.284689, 5.935965e-1,\n -1.056121, -1.456172e-1, 4.272656e-1, 2.912649, -5.501745e-1, 4.406542,\n -1.38768e-1, 1.245555, 9.733011e-1, -1.125047, -4.003662e-2, 1.058457,\n -3.462236, 4.395278e-1, -2.395805, 5.177589e-1, 4.866247, 4.253189e-1,\n -1.051444, -2.804541e-1, 3.364668, 3.293787, -1.015741e1, 3.807407,\n -3.592377e-1, -3.367415, 7.900825e-1, -1.093847, -1.436965e-1, 2.38478,\n 5.78707, -2.445987, -1.311171, 2.326563e-1, 1.158439, 5.555416e-1,\n // albedo 1, turbidity 3\n -1.134824, -1.680468e-1, -3.32562, 4.458596, -1.135063e-1, 1.1045,\n 7.794544e-2, 4.609952, 6.854854e-1, -1.143017, -1.565926e-1, 3.014687e-1,\n -1.763027e-1, -3.557925e-2, -2.342406e-1, 2.528705e-1, 5.884085, 4.750602e-1,\n -1.136801, -2.907502e-1, 3.682423, -4.061202e-1, -8.728159e-1, 4.00151,\n -1.522202e-1, -5.528713, 1.044847, -1.063652, 7.808107e-2, -1.983678,\n 3.648078e-1, 2.102276, -3.06505, 8.431951e-1, 1.03883e1, 2.662834e-1,\n -1.061015, -2.859814e-1, 4.223615, -2.290138, -8.31401, 4.405718,\n -4.613627e-1, -4.50291, 1.008383, -1.106302, -1.697123e-1, 2.087196, 8.238929,\n -2.992416, -1.821776, 3.434859e-1, 7.755179e-1, 5.34119e-1,\n // albedo 1, turbidity 4\n -1.17111, -2.106304e-1, -1.614361, 2.378103, -1.625969e-1, 8.504483e-1,\n 1.059312e-1, 4.046256, 6.618227e-1, -1.20048, -2.235733e-1, 1.01439,\n -1.174074, -4.44018e-1, 2.262406e-1, 1.665868e-1, 5.461829, 5.67631e-1,\n -1.223587, -3.502622e-1, 1.699106, 6.724266e-1, 1.268567, 2.135102,\n 8.039374e-4, -5.221111, 9.44569e-1, -9.452673e-1, 1.468459e-1, -1.335034,\n 4.346628, -1.285652e1, -1.807046, 8.175243e-1, 9.301065, 3.656798e-1,\n -1.134681, -3.310951e-1, 3.571244, -2.208948, 6.04158, 3.107577, -3.112127e-1,\n -4.186351, 9.188333e-1, -1.083237, -1.831394e-1, 2.062654, 1.385424, -5.00495,\n -1.332669, 3.627352e-1, 3.32315e-1, 6.191181e-1,\n // albedo 1, turbidity 5\n -1.211527, -2.590617e-1, -1.660874e-1, 3.627905e-1, -1.039258e-1, 4.697924e-1,\n 1.671653e-1, 3.507497, 6.022506e-1, -1.433017, -4.733592e-1, 1.724445e-1,\n 9.953236e-1, -1.874457, 4.432099e-1, 1.71581e-2, 2.339272, 6.44147e-1,\n -1.08492, -1.587903e-1, 8.999585e-1, -2.537516, 5.877859, 2.014554,\n 9.689141e-2, 3.177242e-1, 9.030399e-1, -1.008242, 2.79303e-3, -3.507469e-1,\n 1.0283e1, -2.080454e1, -2.781026, 8.99509e-1, 3.366951, 3.473867e-1,\n -1.103151, -2.799598e-1, 2.525791, -4.255704, 9.903388, 3.722668,\n -3.603941e-1, -1.303292, 9.369454e-1, -1.102235, -2.025061e-1, 2.08566,\n 1.686787, -5.010957, -1.656458, 4.584029e-1, -2.751759e-1, 6.184162e-1,\n // albedo 1, turbidity 6\n -1.25613, -3.104904e-1, 1.63935e-1, 1.315502e-1, -7.297583e-1, 4.77848e-1,\n 1.259265e-1, 3.012108, 6.202728e-1, -1.620114, -6.55267e-1, -2.877157e-1,\n 1.094371, 2.818914e-1, 3.69683e-1, 9.428521e-2, 1.450951, 5.681308e-1,\n -9.686204e-1, -3.755647e-2, 1.46998, -3.103414, 2.856583, 1.883209,\n -5.746099e-2, 1.286383, 1.001751, -1.089377, -1.023062e-1, -1.498891,\n 1.066455e1, -1.720184e1, -2.759314, 1.061258, 2.910211, 2.624701e-1,\n -1.044681, -2.156857e-1, 3.230136, -5.863862e-1, 6.09664, 3.550019,\n -4.255773e-1, -1.500033, 9.687696e-1, -1.133658, -2.505101e-1, 1.71784,\n 8.480428e-3, -5.011789, -1.740989, 4.98343e-1, -2.081829e-1, 6.088641e-1,\n // albedo 1, turbidity 7\n -1.335366, -3.863319e-1, -5.279971e-1, 3.638324e-1, 3.230699e-1, 8.339707e-2,\n 2.483293e-1, 2.678646, 4.998346e-1, -2.004511, -9.957121e-1, 1.250807,\n 1.625025e-2, -3.410754e-1, 7.858244e-1, -9.506757e-2, 2.651876e-2,\n 5.788643e-1, -8.714157e-1, 1.192051e-1, -8.486879e-1, -3.702497e-1, 1.818277,\n 1.103427, 2.454866e-1, 3.841575, 9.84735e-1, -1.042618, -2.285793e-1,\n 3.620175e-1, 2.983368, -9.776844, -1.971587, 6.691674e-1, -7.901947e-1,\n 3.2132e-1, -1.099112, -1.869868e-1, 2.044065, 2.062964, 1.265668, 2.71013,\n -1.099443e-1, 2.179353e-1, 9.024108e-1, -1.106985, -2.396881e-1, 1.809807,\n 8.523319, -5.011788, -1.590086, 3.248449e-1, -1.003187e-1, 6.550606e-1,\n // albedo 1, turbidity 8\n -1.421285, -4.767024e-1, -3.885004e-1, 8.27459e-1, -3.644229e-1, 6.999513e-1,\n 5.19671e-2, 2.578431, 6.24631e-1, -2.611217, -1.398846, 4.527425e-1,\n -5.932142e-1, 2.224617e-1, -5.593581e-1, 3.389633e-1, -7.767112e-1,\n 6.536004e-2, -9.881543e-1, 4.684782e-2, -8.616613e-1, 8.799807e-1, 4.00313,\n 1.739543, -8.098378e-2, 5.524802, 1.499673, -7.544759e-1, -2.314808e-1,\n 8.12577e-1, -7.724135e-1, -9.577645, -1.629433, 6.790832e-1, -4.193895,\n -2.526624e-2, -1.273719, -2.18703e-1, 1.401798, 5.231832, 7.405093e-1,\n 1.775166, -7.269476e-2, 1.996087, 1.05745, -1.046864, -2.247559e-1, 1.679449,\n 1.140057e1, -4.948829, -1.182664, 3.241038e-1, -2.470012e-1, 6.1159e-1,\n // albedo 1, turbidity 9\n -1.514607, -5.98543e-1, -1.87761e-1, 1.75693, -1.314206, 6.11581e-1,\n -5.97046e-6, 2.412975, 8.124304e-1, -2.308414, -1.083797, -1.179959e-1,\n -1.728246, 7.784742e-1, 5.494505e-1, 6.203168e-3, 9.326251e-1, -1.419518e-1,\n -3.230837, -1.43867, -9.868286e-1, 2.974393, 1.949339, -6.337857e-1,\n 8.160271e-1, 3.278606, 1.354373, 5.149378e-1, 2.754789e-1, 1.040965,\n -4.501186, -3.399057, 9.661861e-1, -4.736173e-1, -4.037574, 2.794847e-1,\n -1.62187, -3.192763e-1, 8.786242e-1, 9.785565, -2.727652, 1.903691e-2,\n 5.521261e-1, 2.138764, 8.419871e-1, -9.951701e-1, -2.550607e-1, 1.498952,\n -2.737197e-3, -3.101832, -5.921329e-1, 2.864422e-1, -4.405218e-1, 6.63141e-1,\n // albedo 1, turbidity 10\n -1.902954, -9.056918e-1, -2.06957e-1, 1.191499, -1.092577, 5.849556e-1,\n -9.649602e-6, 2.048407, 9.001527e-1, -1.271627, -7.193923e-1, -1.136606e-2,\n -1.167951e-1, 3.286175e-3, -5.262827e-2, -2.473874e-2, 1.716125, -2.187133e-1,\n -7.647175, -3.114129, -1.490128, -5.266488e-1, 3.06309, 1.474262, 5.481458e-1,\n 2.052174, 1.353089, 2.191403, 3.42112e-1, 1.44651, 2.170943, -7.768187,\n -1.471207, -1.456708e-1, -1.753574, 2.310576e-1, -1.932296, -3.814739e-1,\n 6.245422e-1, 6.748294, -3.060171e-1, 1.067747, 2.500671e-1, -1.252596e-1,\n 8.614611e-1, -9.471101e-1, -4.05264e-1, 1.300174, -3.951536e-3, -1.908284,\n -5.385721e-1, 2.133578e-1, -6.250292e-1, 6.658012e-1,\n];\n\nexport const datasetRGBRadiance_R = [\n // albedo 0, turbidity 1\n 1.962684, 1.159831, 4.450588, 5.079633, 4.437388, 4.324573,\n // albedo 0, turbidity 2\n 1.946487, 1.287515, 3.703696, 8.782833, 3.440437, 5.160333,\n // albedo 0, turbidity 3\n 1.88217, 1.335878, 2.648641, 1.358368e1, 3.105473, 5.907387,\n // albedo 0, turbidity 4\n 1.738159, 1.624289, -8.786695e-3, 2.118253e1, 2.770255, 7.055672,\n // albedo 0, turbidity 5\n 1.571896, 2.301786, -4.028545, 2.966806e1, 1.630876, 8.711031,\n // albedo 0, turbidity 6\n 1.475048, 2.679086, -6.311315, 3.377896e1, 2.140975, 9.385283,\n // albedo 0, turbidity 7\n 1.326174, 3.378759, -9.831444, 3.942061e1, 2.852702, 1.082542e1,\n // albedo 0, turbidity 8\n 1.153344, 3.967771, -1.265181e1, 4.195016e1, 7.468239, 1.22135e1,\n // albedo 0, turbidity 9\n 9.746081e-1, 4.051626, -1.298454e1, 3.754964e1, 1.749232e1, 1.420619e1,\n // albedo 0, turbidity 10\n 8.448016e-1, 3.181809, -8.757338, 2.197962e1, 3.524033e1, 1.639549e1,\n // albedo 1, turbidity 1\n 2.029623, 1.364434, 4.201529, 5.415099, 9.825839, 1.063328e1,\n // albedo 1, turbidity 2\n 2.023126, 1.494728, 3.420413, 9.072178, 9.205157, 1.186639e1,\n // albedo 1, turbidity 3\n 1.956307, 1.648665, 2.039712, 1.430239e1, 9.039526, 1.330453e1,\n // albedo 1, turbidity 4\n 1.825053, 1.985022, -8.036307e-1, 2.202493e1, 9.415361, 1.517659e1,\n // albedo 1, turbidity 5\n 1.650367, 2.593201, -4.469328, 2.969817e1, 9.410977, 1.74485e1,\n // albedo 1, turbidity 6\n 1.555202, 2.962925, -6.60817, 3.329887e1, 1.064559e1, 1.850816e1,\n // albedo 1, turbidity 7\n 1.412478, 3.439403, -9.196616, 3.685077e1, 1.345341e1, 2.003128e1,\n // albedo 1, turbidity 8\n 1.25299, 3.820805, -1.115338e1, 3.721593e1, 2.014916e1, 2.18232e1,\n // albedo 1, turbidity 9\n 1.091952, 3.663027, -1.03133e1, 2.978985e1, 3.296835e1, 2.37545e1,\n // albedo 1, turbidity 10\n 9.501691e-1, 2.664579, -5.545167, 1.281159e1, 5.154768e1, 2.574284e1,\n];\n\nexport const datasetRGB_G = [\n // albedo 0, turbidity 1\n -1.14053, -1.982747e-1, -7.51273, 8.403899, -5.699038e-2, 9.015907e-1,\n 3.392161e-2, 4.772522, 5.111184e-1, -1.165117, -1.852955e-1, 2.963684,\n -2.262274, -1.571683e-1, 6.339974e-1, 4.977879e-2, 7.243307, 4.220053e-1,\n -1.169936, -3.357429e-1, 1.911291, -2.391074e-1, -4.791643e-1, 1.446113,\n -9.178108e-2, -4.700239, 8.096219e-1, -1.060246, -1.051633e-1, 5.013829e-1,\n 2.832309, -3.707855e-1, 1.523131, 9.163749e-2, 5.604183, 7.208566e-1,\n -1.089753, -2.382167e-1, 2.360312, -5.902562, -8.799894, 1.377692,\n -6.131633e-2, -1.415472, 6.124057e-1, -1.075481, -1.242391e-1, 1.425781,\n 8.810319, -2.922646, 1.48652, 3.27058e-2, 3.889783, 4.999482e-1,\n // albedo 0, turbidity 2\n -1.149342, -2.076337e-1, -7.446587, 8.014559, -4.866227e-2, 8.203043e-1,\n 6.386483e-2, 4.894198, 5.452051e-1, -1.120531, -1.513311e-1, 2.735504,\n -2.417591, -1.361114e-1, 4.296342e-1, 9.427488e-2, 8.171403, 4.102448e-1,\n -1.226964, -3.516378e-1, 1.308298, -5.097487e-2, -4.846783e-1, 1.654619,\n -1.13494e-1, -3.347854, 1.131147, -9.664377e-1, 2.767589e-2, 1.658235e-1,\n 2.407439, -1.300304e-1, 9.170958e-1, 2.742895e-1, 6.642633, 2.550064e-1,\n -1.153358, -3.126223e-1, 2.078934, -5.857733, -8.659848, 1.758505,\n -9.616094e-2, -1.230863, 9.663832e-1, -1.05385, -1.330743e-1, 1.481738,\n 1.049485e1, -3.528854, 9.142363e-1, 1.24488e-1, 2.644615, 5.001048e-1,\n // albedo 0, turbidity 3\n -1.173687, -2.360362e-1, -3.741454, 4.088507, -7.528205e-2, 6.645237e-1,\n 7.718265e-2, 4.65122, 5.586318e-1, -1.213757, -2.589561e-1, 7.132551e-1,\n -4.259327e-1, -1.980821e-1, 3.627815e-1, 4.66656e-2, 5.807984, 5.847377e-1,\n -1.108794, -2.25987e-1, 1.574179, -3.753731e-1, -5.984743e-1, 1.659414,\n -1.681021e-2, 6.785219e-1, 8.647325e-1, -1.060896, -1.34669e-2, -7.529656e-1,\n 1.711319, -9.792435e-1, 2.022433e-1, 3.826487e-1, 5.725157, 5.290714e-1,\n -1.085145, -2.840715e-1, 2.088029, -4.935097, -9.056542, 1.976149,\n -3.912485e-2, -8.636064e-1, 7.452125e-1, -1.077983, -1.416633e-1, 1.100848,\n 1.015875e1, -2.943712, 5.255135e-1, 2.164224e-1, 2.941143, 6.699937e-1,\n // albedo 0, turbidity 4\n -1.223293, -2.867444e-1, -1.624136, 1.668299, -9.537589e-2, 5.015947e-1,\n 1.130741e-1, 4.244812, 5.082152e-1, -1.325342, -4.280991e-1, 4.70549e-1,\n 6.926592e-2, -4.572587e-1, 5.344144e-1, -2.554192e-2, 3.093939, 6.639401e-1,\n -1.113581, -1.192133e-1, 4.011536e-1, 7.011889e-1, 2.052842e-1, 9.880724e-1,\n 1.807533e-2, 4.69016, 8.57624e-1, -1.016063, -1.038138e-1, -2.280391e-1,\n 7.898918e-1, -1.127333e1, 2.074545e-1, 5.388182e-1, 1.364263, 4.660455e-1,\n -1.099582, -2.228607e-1, 1.332648, 5.135188, 1.653152, 1.41702, -1.087532e-1,\n 1.809275, 8.080874e-1, -1.064357, -1.520775e-1, 8.207368e-1, -1.323565e-3,\n -5.009523, 3.946298e-1, 4.337902e-1, 2.593198, 6.719172e-1,\n // albedo 0, turbidity 5\n -1.278702, -3.512866e-1, -4.511055e-1, 3.89576e-1, -2.429672e-1, 4.270577e-1,\n 1.135348e-1, 3.71913, 4.998867e-1, -1.580069, -7.095475e-1, -3.198904e-1,\n 1.715748, -1.185915, 4.523161e-1, -1.026159e-2, 7.927188e-1, 5.53835e-1,\n -9.474023e-1, 1.173703e-1, 4.881381e-1, -2.618684, 3.251661, 1.213931,\n -1.736274e-2, 8.000768, 1.025998, -1.129091, -3.287694e-1, -3.524077e-1,\n 3.352892, -1.416073e1, -8.485617e-1, 6.560766e-1, -2.820937, 3.111303e-1,\n -1.030884, -1.137581e-1, 1.109855, 8.082276, 1.519214, 2.112433, -1.592299e-1,\n 3.675905, 8.703367e-1, -1.075192, -1.627166e-1, 3.51491e-1, 1.168164,\n -4.255822, -6.015348e-1, 6.265776e-1, 2.884818, 6.548384e-1,\n // albedo 0, turbidity 6\n -1.316017, -3.889652e-1, -5.030854e-1, 4.488704e-1, -3.1868e-1, 4.570763e-1,\n 8.909201e-2, 3.659274, 5.011746e-1, -1.731876, -8.493806e-1, 1.194871e-1,\n 2.002781, -2.006547, 4.872233e-1, -2.854606e-2, 2.662137e-1, 4.611629e-1,\n -9.27368e-1, 1.380954e-1, -3.302179e-1, -3.553265, 4.633345, 9.696729e-1,\n 8.799775e-2, 8.291129, 1.094451, -1.099377, -3.325392e-1, 2.501063e-1,\n 2.613712, -1.328142e1, -5.579527e-1, 4.992081e-1, -3.504402, 3.022924e-1,\n -1.04842, -1.227773e-1, 5.845373e-1, 1.105869e1, 3.813151e-2, 1.330409,\n 1.978131e-2, 3.95943, 8.396439e-1, -1.063233, -1.560639e-1, 2.840033e-1,\n 8.751565e-1, -3.41182, -1.436564e-1, 5.84658e-1, 2.899292, 6.799095e-1,\n // albedo 0, turbidity 7\n -1.376715, -4.541567e-1, -1.445491, 1.569898, -1.390627e-1, 5.55827e-1,\n 4.109877e-2, 3.349451, 5.516123e-1, -1.953391, -1.035869, 1.690563,\n -1.96469e-1, -7.787096e-1, 5.799605e-1, 2.945626e-2, 4.217906e-2, 2.451373e-1,\n -1.012422, 7.136451e-2, -1.862534, -7.228653e-1, 1.947997e-1, 2.091805e-1,\n 6.399233e-2, 7.928994, 1.290733, -9.706708e-1, -2.88095e-1, 1.107797,\n -2.731734, -8.445995, 4.296774e-1, 5.117648e-1, -3.824277, 1.761207e-1,\n -1.110611, -1.789409e-1, 2.108488e-1, 2.07143e1, -1.763174, 9.554695e-2,\n -2.943103e-2, 3.422079, 8.815496e-1, -1.048334, -1.614087e-1, 2.475184e-1,\n 2.146938e-2, -2.983901, 2.538224e-1, 5.60137e-1, 2.461925, 6.777394e-1,\n // albedo 0, turbidity 8\n -1.393719, -5.002724e-1, -2.40894, 2.680983, -1.362825e-1, 7.395067e-1,\n -3.300343e-6, 3.260889, 8.132057e-1, -2.128663, -1.151182, 2.923026,\n -1.931838, -4.42617e-1, 2.309983e-1, -5.48589e-3, 3.279529e-1, -2.229467e-1,\n -1.618022, -3.76649e-1, -3.163544, 1.611608, -3.967476e-1, 3.93368e-1,\n 3.006742e-1, 6.835177, 1.613765, -5.669064e-1, -1.481749e-1, 2.071817,\n -8.157422, -5.988088, 2.387202e-1, 1.447191e-1, -4.296385, 5.011258e-2,\n -1.241724, -2.519348e-1, -1.908609e-1, 2.952235e1, -3.33366, -1.837651e-2,\n 1.022249e-1, 2.92932, 8.867262e-1, -1.02167, -1.667327e-1, 1.789771e-1,\n -2.178108e-3, -2.641572, -5.641484e-2, 5.303758e-1, 2.138196, 6.78035e-1,\n // albedo 0, turbidity 9\n -1.669332, -7.588708e-1, -2.993557, 3.17876, -8.066442e-2, 6.544672e-1,\n -8.08988e-6, 2.628924, 9.001272e-1, -1.755806, -8.735348e-1, 3.258881,\n -2.504785, -3.300791e-1, 1.180565e-1, -9.315982e-3, 1.785154, -3.205824e-1,\n -3.720277, -1.73335, -3.332272, 1.515869, 1.734218e-1, 8.011956e-1,\n 1.99544e-1, 3.817666, 1.638502, 4.724641e-1, 3.209828e-1, 2.051443, -5.105574,\n -6.509139, -4.232041e-1, 2.598931e-1, -2.151756, -3.49391e-3, -1.5256,\n -4.897606e-1, -9.891121e-2, 2.346818e1, -2.278152, 1.681219e-1, -4.469389e-2,\n 1.051, 9.294666e-1, -9.908649e-1, -2.008182e-1, 1.605143e-1, -2.463113e-3,\n -2.477349, -1.218647e-1, 4.750121e-1, 1.460813, 6.661364e-1,\n // albedo 0, turbidity 10\n -2.122119, -1.125475, -3.066599, 3.145078, -5.411593e-2, 5.133628e-1,\n -7.823408e-6, 2.268448, 9.001416e-1, -1.528158, -9.370249e-1, 2.567559,\n -1.591439, -3.63446e-1, 1.763256e-1, 1.119624e-3, 1.811848, -2.637929e-1,\n -6.524387, -2.673507, -2.940472, -6.025609e-1, 7.852067e-1, 1.073499,\n -3.540435e-2, 3.517416, 1.490466, 8.886026e-1, -9.681828e-2, 1.430554,\n 4.993717, -6.071355, -6.053986e-1, 5.092997e-1, -1.27301, 7.491329e-2,\n -1.481997, -5.897282e-1, 2.659264e-1, 1.267239, -5.741291e-1, 5.983011e-2,\n -2.217312e-1, -3.016452e-1, 9.26083e-1, -1.010943, -2.075134e-1, 5.066749e-2,\n 1.470708e1, -3.780501, 7.253223e-2, 4.045458e-1, 1.320164, 6.559925e-1,\n // albedo 1, turbidity 1\n -1.129907, -1.884011e-1, -8.04767, 9.035776, -5.539419e-2, 8.823349e-1,\n 3.197135e-2, 4.839388, 5.042822e-1, -1.133821, -1.510781e-1, 3.362822,\n -2.453381, -1.463925e-1, 4.728708e-1, 5.95814e-2, 7.6363, 4.805162e-1,\n -1.176518, -3.549902e-1, 1.729044, -2.160966e-1, -5.075865e-1, 1.675584,\n -8.906902e-2, -5.386842, 5.452218e-1, -1.043563, -7.520975e-2, 8.750644e-1,\n 2.510518, 7.584882e-3, 9.36125e-1, 7.889083e-2, 6.066644, 5.813108e-1,\n -1.081304, -2.222253e-1, 2.517638, -4.45382, -8.663691, 8.662558e-1,\n -4.802657e-2, -8.965449e-1, 4.886656e-1, -1.083774, -1.375469e-1, 1.685818,\n 5.63112, -3.100752, 4.045941e-1, 2.346895e-2, 3.390321, 5.008309e-1,\n // albedo 1, turbidity 2\n -1.143158, -2.058334e-1, -9.660198, 1.062394e1, -4.434119e-2, 8.607615e-1,\n 3.177325e-2, 4.416481, 5.918162e-1, -1.146773, -1.727385e-1, 4.626048,\n -4.684602, -8.307137e-2, 1.619616e-1, 1.484866e-1, 7.572868, 2.681126e-1,\n -1.151324, -3.099303e-1, 4.125596e-1, 2.340752, -4.214444e-1, 1.987375,\n -1.91341e-1, -3.845978, 1.337311, -1.034258, -7.778759e-3, 7.050094e-1,\n -8.036369e-1, 3.13857e-1, 2.469452e-1, 3.55997e-1, 7.485917, 4.790329e-2,\n -1.096568, -2.673169e-1, 2.575654, -8.057121e-1, -8.884928, 1.41617,\n -2.091315e-1, -1.543494, 1.065445, -1.083304, -1.528265e-1, 1.697727,\n 2.503702, -2.885296, -1.2985e-1, 1.54887e-1, 2.479652, 5.066496e-1,\n // albedo 1, turbidity 3\n -1.165736, -2.329945e-1, -5.967964, 6.705959, -5.931355e-2, 7.485638e-1,\n 3.913878e-2, 4.221591, 6.183926e-1, -1.212422, -2.54591e-1, 2.418626,\n -2.266104, -1.102014e-1, 1.363887e-2, 1.055411e-1, 5.648062, 4.557412e-1,\n -1.070436, -2.163341e-1, 7.098718e-1, 7.843075e-1, -4.32393e-1, 2.109823,\n -9.5897e-2, -1.985193e-1, 1.060428, -1.104879, -3.013622e-2, 2.976276e-2,\n 1.069707, 1.41e-1, -4.88002e-1, 4.452288e-1, 6.41859, 3.195986e-1, -1.048969,\n -2.655317e-1, 2.689426, -3.941038, -9.506461, 1.837119, -1.892124e-1,\n -1.562146, 9.043414e-1, -1.106145, -1.601642e-1, 1.544544, 7.388492, -2.9246,\n -4.328453e-1, 1.763161e-1, 2.523111, 5.851902e-1,\n // albedo 1, turbidity 4\n -1.203666, -2.776587e-1, -2.084286, 2.45084, -8.746613e-2, 5.258507e-1,\n 7.983316e-2, 3.860055, 5.486167e-1, -1.340448, -4.23059e-1, 3.462849e-1,\n 4.707607e-1, -2.512626e-1, 1.530746e-1, 2.724218e-2, 3.035216, 5.876133e-1,\n -1.014554, -1.16879e-1, 9.477794e-1, -1.061218, -4.19673e-1, 2.058832,\n -5.989624e-2, 3.058168, 9.763861e-1, -1.137388, -9.85403e-2, -2.984893e-1,\n 3.64782, -6.585571e-1, -1.47918, 6.102932e-1, 3.265914, 3.480333e-1,\n -1.021816, -2.344957e-1, 2.463671, -7.240685, -8.862697, 2.514058,\n -2.122768e-1, -3.313968e-2, 9.028136e-1, -1.126581, -1.874347e-1, 1.454154,\n 1.034398e1, -3.237393, -8.654927e-1, 2.457248e-1, 1.845769, 6.002482e-1,\n // albedo 1, turbidity 5\n -1.263727, -3.439354e-1, -1.786388e-1, 3.980166e-1, -3.349517e-1, 3.825166e-1,\n 1.029225e-1, 3.331096, 4.998955e-1, -1.53001, -6.879698e-1, 2.380415e-1,\n 1.608216, -1.682679, 3.54636e-1, -3.91522e-3, 4.517655e-1, 5.128605e-1,\n -9.685659e-1, 9.480403e-2, 6.076844e-2, -3.217561, 4.568074, 1.069299,\n 2.083638e-2, 7.301088, 1.072165, -1.113925, -3.112382e-1, 3.954133e-1,\n 5.105907, -1.456866e1, -4.917378e-1, 5.289909e-1, -2.678374, 3.014709e-1,\n -1.046864, -1.215754e-1, 1.778308, 4.661489, 2.565583e-1, 1.35368,\n -1.175767e-1, 3.415972, 8.457746e-1, -1.10448, -1.940913e-1, 1.343668,\n -1.759206e-3, -5.009204, -4.186951e-1, 3.12571e-1, 1.628183, 6.720408e-1,\n // albedo 1, turbidity 6\n -1.286902, -3.781238e-1, -8.977253e-2, 3.545393e-1, -4.866515e-1, 3.843664e-1,\n 8.281675e-2, 3.122231, 5.046991e-1, -1.712597, -8.549112e-1, 4.809286e-1,\n 1.515398, -2.212211, 2.539029e-1, 2.335997e-2, -6.089466e-2, 4.268444e-1,\n -8.807283e-1, 1.646097e-1, -4.437898e-1, -3.188247, 5.984417, 1.334779,\n -4.026975e-2, 7.546431, 1.175751, -1.147253, -3.538199e-1, 6.101836e-1,\n 4.43778, -1.559813e1, -1.103222, 6.242039e-1, -3.091472, 2.17429e-1, -1.03823,\n -1.213475e-1, 1.547505, 5.893176, 1.368738, 1.663127, -1.37713e-1, 3.185279,\n 8.736453e-1, -1.101026, -1.874907e-1, 1.272667, 3.596524, -5.007243,\n -6.352483e-1, 3.048985e-1, 1.931613, 6.788844e-1,\n // albedo 1, turbidity 7\n -1.342753, -4.384971e-1, -1.213491, 1.621399, -1.551441e-1, 5.614218e-1,\n 2.591739e-2, 2.958967, 5.782132e-1, -1.937684, -1.066019, 1.913336,\n -7.347719e-1, -5.916167e-1, 1.58759e-1, 1.092568e-1, -6.275002e-1,\n 1.599071e-1, -9.302391e-1, 1.486187e-1, -1.603835, 1.783713e-1, 1.100461,\n 1.174181, -1.602361e-1, 7.868331, 1.468971, -1.053631, -3.72705e-1, 1.114117,\n -9.603286e-1, -1.062469e1, -1.16214, 7.952797e-1, -4.478765, -4.440862e-2,\n -1.083629, -1.261405e-1, 1.229344, 1.127825e1, 1.31901e-1, 1.624729,\n -2.825898e-1, 3.661082, 1.036911, -1.09395, -2.067455e-1, 1.258035, 7.548645,\n -4.598387, -8.944932e-1, 3.292634e-1, 1.311304, 6.291871e-1,\n // albedo 1, turbidity 8\n -1.385867, -5.068139e-1, -1.48649, 1.969049, -1.698025e-1, 6.629167e-1,\n -5.289365e-6, 2.760315, 8.644368e-1, -2.107367, -1.175639, 2.313241,\n -1.001653, -4.843139e-1, 1.124485e-1, 3.901494e-5, -3.502469e-1, -3.20478e-1,\n -1.475244, -2.833055e-1, -2.085824, 1.192563, -7.6452e-1, 8.380081e-1,\n 2.20358e-1, 7.157885, 1.753702, -6.644372e-1, -2.549735e-1, 1.600273,\n -8.589034, -6.144718, -7.599731e-1, 2.89837e-1, -5.770923, -9.656242e-2,\n -1.211687, -1.653494e-1, 8.3934e-1, 2.792988e1, -3.395461, 9.933752e-1,\n -3.976877e-2, 3.776659, 9.546526e-1, -1.063757, -2.037563e-1, 1.117207,\n -1.252806e-3, -3.33233, -6.971409e-1, 3.388719e-1, 1.311398, 6.635171e-1,\n // albedo 1, turbidity 9\n -1.678889, -7.992295e-1, -2.421687, 2.871029, -7.662842e-2, 6.046208e-1,\n -7.598099e-6, 2.002314, 9.001307e-1, -1.692144, -8.80425e-1, 3.060895,\n -2.000009, -3.183563e-1, 8.385862e-2, -6.326713e-3, 1.206639, -3.369967e-1,\n -3.676795, -1.719207, -2.534697, 1.005285, 1.550407e-1, 1.07291, 1.318094e-1,\n 3.717018, 1.689191, 5.424542e-1, 3.263528e-1, 1.551055, -3.841058, -6.598996,\n -1.201779, 3.530669e-1, -2.542945, -6.482523e-2, -1.553849, -4.57686e-1,\n 9.324676e-1, 1.950982e1, -2.344516, 1.12102, -1.221537e-1, 7.285496e-1,\n 9.582816e-1, -1.02065, -2.215797e-1, 1.009774, -2.056855e-3, -2.740338,\n -8.122355e-1, 3.328967e-1, 8.982766e-1, 6.594676e-1,\n // albedo 1, turbidity 10\n -2.24736, -1.221267, -3.072346, 3.385139, -4.387559e-2, 5.084887e-1,\n -7.418833e-6, 1.750107, 9.001401e-1, -1.248499, -8.442718e-1, 3.062611,\n -2.020314, -2.815341e-1, 5.254745e-2, 3.345008e-3, 1.433225, -2.835911e-1,\n -7.004119, -2.927978, -2.649852, 7.971894e-1, 5.466893e-1, 1.442667,\n -6.063912e-2, 2.806194, 1.547429, 1.434882, 9.114639e-2, 1.170089,\n 3.512808e-2, -5.861915, -1.411843, 5.400486e-1, -7.746522e-1, 2.386984e-2,\n -1.559053, -5.502302e-1, 1.200396, 1.347741e1, -2.344397, 8.868907e-1,\n -3.292661e-1, -1.362105, 9.217826e-1, -1.044436, -2.360719e-1, 7.054471e-1,\n -2.904518e-3, -2.092829, -5.119668e-1, 4.174861e-1, 9.687435e-1, 6.588427e-1,\n];\n\nexport const datasetRGBRadiance_G = [\n // albedo 0, turbidity 1\n 1.59033, 1.355401, 1.151412, 1.359116e1, 5.857714, 8.090833,\n // albedo 0, turbidity 2\n 1.55254, 1.51004, 1.276413e-1, 1.604643e1, 5.912162, 8.350009,\n // albedo 0, turbidity 3\n 1.470871, 1.880464, -1.865398, 2.030808e1, 5.471461, 9.109834,\n // albedo 0, turbidity 4\n 1.356563, 2.373866, -4.653245, 2.570922e1, 5.686009, 1.00948e1,\n // albedo 0, turbidity 5\n 1.244232, 2.851519, -7.130942, 2.993449e1, 6.38212, 1.114578e1,\n // albedo 0, turbidity 6\n 1.173693, 3.120604, -8.491886, 3.187393e1, 7.290615, 1.180066e1,\n // albedo 0, turbidity 7\n 1.091845, 3.368888, -9.722083, 3.268508e1, 1.032424e1, 1.236508e1,\n // albedo 0, turbidity 8\n 9.858985e-1, 3.500541, -1.026328e1, 3.092956e1, 1.610881e1, 1.331222e1,\n // albedo 0, turbidity 9\n 8.864993e-1, 3.172888, -8.68755, 2.362161e1, 2.621851e1, 1.474967e1,\n // albedo 0, turbidity 10\n 7.946973e-1, 2.189355, -4.207953, 9.399091, 4.062849e1, 1.681753e1,\n // albedo 1, turbidity 1\n 1.711696, 1.657311, 9.328021e-1, 1.31788e1, 1.506751e1, 1.863556e1,\n // albedo 1, turbidity 2\n 1.666968, 1.849993, -2.088601e-1, 1.586653e1, 1.48688e1, 1.940719e1,\n // albedo 1, turbidity 3\n 1.584846, 2.170022, -2.019597, 1.970826e1, 1.490684e1, 2.045055e1,\n // albedo 1, turbidity 4\n 1.469412, 2.524017, -4.197267, 2.365249e1, 1.664588e1, 2.134477e1,\n // albedo 1, turbidity 5\n 1.369714, 2.843548, -6.059031, 2.634993e1, 1.881361e1, 2.232186e1,\n // albedo 1, turbidity 6\n 1.310477, 2.984444, -6.831686, 2.68234e1, 2.123267e1, 2.259755e1,\n // albedo 1, turbidity 7\n 1.222552, 3.176523, -7.731496, 2.67176e1, 2.484358e1, 2.336863e1,\n // albedo 1, turbidity 8\n 1.115781, 3.130635, -7.581744, 2.336531e1, 3.171048e1, 2.413859e1,\n // albedo 1, turbidity 9\n 1.013181, 2.699342, -5.602709, 1.500158e1, 4.217613e1, 2.515957e1,\n // albedo 1, turbidity 10\n 8.976323e-1, 1.726948, -1.29612, 1.183675, 5.503215e1, 2.643066e1,\n];\n\nexport const datasetRGB_B = [\n // albedo 0, turbidity 1\n -1.372629, -4.905585e-1, -4.100789e1, 4.122169e1, -7.38936e-3, 4.839359e-1,\n 6.474757e-3, 3.471755, 5.092936e-1, -1.523025, -6.497084e-1, 6.249857,\n -5.662543, -1.908402e-2, 5.51281e-1, -2.181049e-5, 2.507663, 4.339598e-1,\n -1.035567, -7.47874e-2, 9.22103e-1, -2.140047, -2.374146e-2, 3.795517e-1,\n -1.769134e-2, 7.479831, 7.729303e-1, -1.271086, -5.58819e-1, 6.908023e-1,\n 2.096832, -2.453967e-1, 1.410648, 4.475036e-2, -4.719115, 5.741186e-1,\n -9.712598e-1, -7.033926e-2, 9.167274e-1, -9.502097e-1, 3.004684e-1,\n 4.547054e-1, -5.929017e-2, 5.266196, 7.204135e-1, -1.087457, -1.888896e-1,\n 8.156686e-1, 3.101712e-1, -2.155419, 1.422205, 9.692261e-2, 3.122404,\n 4.99943e-1,\n // albedo 0, turbidity 2\n -1.42528, -5.413508e-1, -3.454883e1, 3.481142e1, -8.686975e-3, 4.914268e-1,\n -2.479243e-6, 3.239879, 6.094201e-1, -1.688557, -8.070865e-1, 7.018459,\n -6.244574, -2.149341e-2, 3.993971e-1, 1.252502e-2, 1.630662, 1.09786e-1,\n -8.664152e-1, 7.869125e-2, -5.236535e-1, -1.21896, -2.059093e-2, 6.684898e-1,\n -5.584112e-2, 8.602299, 1.410496, -1.319763, -5.985323e-1, 1.253918, 1.914706,\n -3.216739e-1, 9.011213e-1, 1.324845e-1, -5.252749, 6.231252e-2, -9.706008e-1,\n -5.914059e-2, 5.69315e-1, -1.175362, 5.221644e-1, 7.518213e-1, -8.247655e-2,\n 5.875635, 9.850863e-1, -1.08533, -1.956105e-1, 8.019605e-1, 5.338101e-1,\n -3.423464, 1.110444, 1.507923e-1, 2.864942, 4.999481e-1,\n // albedo 0, turbidity 3\n -1.431967, -5.478935e-1, -3.286288e1, 3.305288e1, -8.380797e-3, 4.77205e-1,\n -3.044274e-6, 3.289973, 5.976303e-1, -1.801361, -9.315889e-1, 5.391756,\n -4.588592, -2.040076e-2, 4.144684e-1, 1.814534e-2, 1.051795, 1.145651e-1,\n -7.905357e-1, 1.451332e-1, -1.605661e-1, -1.592174, 4.561348e-4, 3.380323e-1,\n -7.770275e-2, 8.775384, 1.489512, -1.308575, -5.539232e-1, 9.184133e-1,\n 2.011479, -3.842472e-1, 1.432274, 1.637153e-1, -4.408856, 5.272957e-2,\n -9.829872e-1, -8.183048e-2, 4.464556e-1, -1.442716, 1.029641, -6.991617e-2,\n 8.702356e-3, 5.706417, 9.116452e-1, -1.08713, -2.038013e-1, 7.260801e-1,\n 9.164376e-1, -5.006183, 1.511271, 1.257134e-1, 2.715439, 6.201652e-1,\n // albedo 0, turbidity 4\n -1.448662, -5.799075e-1, -2.833268e1, 2.858023e1, -9.134061e-3, 4.404783e-1,\n -2.709026e-6, 3.029357, 5.540071e-1, -2.061772, -1.14519, 7.918478, -7.212525,\n -2.02076e-2, 2.962715e-1, 4.68967e-2, 8.517209e-1, 2.334587e-1, -6.413755e-1,\n 1.780425e-1, -2.412919, 1.064484, -1.949986e-2, 6.769741e-1, -1.75276e-1,\n 7.262714, 1.325869, -1.304871, -3.975581e-1, 1.219002, 7.285178e-1,\n -2.710105e-1, 7.779727e-1, 3.247139e-1, -8.818168e-1, 1.839517e-1, -1.001104,\n -1.994801e-1, 3.676742e-1, -1.409737, 2.901555e-1, 2.50694e-1, 2.468899e-3,\n 3.398923, 8.584645e-1, -1.111552, -2.487204e-1, 7.410842e-1, 1.703749,\n -5.007855, 1.057763, 1.354511e-1, 2.088715, 6.600013e-1,\n // albedo 0, turbidity 5\n -1.547227, -6.679466e-1, -1.861465e1, 1.884045e1, -1.24221e-2, 4.157339e-1,\n -2.432805e-6, 2.812423, 5.446957e-1, -2.04389, -1.149081, 2.304118, -1.715757,\n -2.433628e-2, 2.816836e-1, 7.185458e-2, 1.06486, 2.706789e-1, -9.04072e-1,\n -8.274472e-2, -2.555676e-1, -6.326215e-1, -2.77088e-2, 6.676024e-1,\n -2.513532e-1, 5.903839, 1.241452, -1.000013, -1.010774e-1, 3.699166e-1,\n 8.774526e-1, -3.042007e-1, 6.951053e-1, 4.361813e-1, 6.793421e-1, 2.573892e-1,\n -1.171332, -3.768188e-1, 3.701377e-1, -1.470757, 5.525942e-1, 2.991456e-2,\n 1.581823e-2, 2.365233, 8.214514e-1, -1.068667, -2.32633e-1, 6.725059e-1,\n 2.243733, -4.61437, 1.033677, 1.376291e-1, 2.013334, 6.865304e-1,\n // albedo 0, turbidity 6\n -1.592991, -7.246948e-1, -2.598204e1, 2.62196e1, -8.365176e-3, 4.207571e-1,\n -2.742772e-6, 2.623735, 5.87319e-1, -2.271349, -1.280884, 6.308739, -5.75835,\n -1.977049e-2, 3.671835e-1, 6.698038e-2, 1.150597, 1.759218e-1, -6.36862e-1,\n -7.436052e-3, -2.230026, 1.640997, -1.548497e-2, 3.145331e-1, -2.492644e-1,\n 5.083843, 1.260215, -1.177925, -9.628114e-2, 3.051152e-1, -3.749544e-2,\n -2.713209e-1, 1.164226, 4.559969e-1, 2.175429, 2.874284e-1, -1.0785,\n -3.801779e-1, 4.788906e-1, -4.795969e-1, 5.977621e-1, -4.488535e-1,\n 3.386874e-2, 1.538143, 8.062054e-1, -1.108028, -2.596892e-1, 5.162202e-1,\n 1.557081, -4.265039, 1.182535, 1.563762e-1, 2.095084, 6.883383e-1,\n // albedo 0, turbidity 7\n -1.668427, -7.908511e-1, -2.77969e1, 2.799746e1, -7.186935e-3, 3.757766e-1,\n -3.326858e-6, 2.563421, 5.439687e-1, -2.156175, -1.220004, 3.585732,\n -3.235988, -1.086239e-2, 1.846143e-1, 1.046017e-1, 1.234427, 2.842191e-1,\n -1.117051, -4.101627e-1, -8.46373e-1, 7.671472e-1, -2.226609e-2, 8.574943e-1,\n -3.434124e-1, 4.475715, 1.154824, -7.44484e-1, 2.312078e-1, -5.393724e-1,\n 1.574213e-1, -1.763914e-1, 2.751692e-1, 5.5642e-1, 2.217672, 3.483932e-1,\n -1.273036, -5.275562e-1, 4.902512e-1, -4.498436e-2, 4.339366e-1, 2.386682e-1,\n 2.380879e-2, 1.413444, 7.855923e-1, -1.084192, -2.936753e-1, 4.719432e-1,\n 1.384436, -3.257789, 6.119543e-1, 1.681884e-1, 1.650441, 6.936631e-1,\n // albedo 0, turbidity 8\n -1.84849, -9.51267e-1, -3.005251e1, 3.024315e1, -5.635304e-3, 3.44778e-1,\n -2.782999e-6, 2.309422, 5.643559e-1, -2.300008, -1.252335, -1.218876, 1.49373,\n -6.1071e-3, 7.97486e-2, 1.023449e-1, 1.505934, 2.360948e-1, -1.483705,\n -8.547575e-1, -7.797146e-1, 6.447971e-1, -2.678052e-2, 1.091263, -3.344889e-1,\n 3.830416, 1.189425, -5.348005e-1, 3.982733e-1, -4.071573e-1, 3.265569e-1,\n -8.658789e-2, -2.370892e-1, 5.369097e-1, 1.478279, 3.143303e-1, -1.320401,\n -6.043247e-1, 3.019196e-1, -7.732911e-2, 4.768381e-1, 6.745764e-1,\n 3.694098e-2, 1.158234, 8.169056e-1, -1.10104, -3.420019e-1, 3.775661e-1,\n 1.769338, -2.990515, 1.649529e-1, 1.970125e-1, 1.453355, 6.759757e-1,\n // albedo 0, turbidity 9\n -2.251946, -1.229349, -3.271808e1, 3.283114e1, -4.252027e-3, 3.372289e-1,\n -3.001937e-6, 2.154046, 5.842674e-1, -1.867834, -9.531252e-1, -1.229365e1,\n 1.269149e1, -6.844772e-3, 1.185107e-1, 7.539587e-2, 1.846381, 1.899412e-1,\n -3.398629, -2.180862, 2.335213, -3.382823, -8.613985e-3, 8.431602e-1,\n -2.393567e-1, 3.11246, 1.218556, 5.708381e-1, 9.40603e-1, -6.890113e-1,\n 2.746233, -5.772068e-2, 1.096005e-1, 3.491978e-1, 7.281453e-1, 3.212049e-1,\n -1.705909, -8.517224e-1, 1.13116e-1, -2.141434, 4.274043e-1, 3.3976e-1,\n 1.78649e-1, 9.026101e-1, 7.8828e-1, -1.012865, -3.495551e-1, 3.369038e-1,\n 3.724205, -3.089586, 1.266964e-1, 1.46179e-1, 1.170199, 6.931052e-1,\n // albedo 0, turbidity 10\n -2.890318, -1.665573, -3.493756e1, 3.500369e1, -2.984251e-3, 2.622419e-1,\n -4.25936e-6, 1.947681, 6.905752e-1, -1.956022, -1.0629, -1.919714e1,\n 1.975164e1, -8.865396e-3, 2.16554e-1, 5.475637e-2, 1.761134, 3.164249e-3,\n -5.612198, -3.101371, 4.098034, -6.144001, 9.944958e-3, 2.905472e-1,\n -1.70711e-1, 3.199107, 1.33766, 8.353756e-1, 4.855943e-1, -1.243589, 5.147385,\n -7.013963e-2, 9.38041e-1, 2.335714e-1, 1.727744e-1, 2.802696e-1, -1.524329,\n -7.388547e-1, 3.259025e-1, -4.050634, 4.058549e-1, -2.591384e-1, 1.898299e-1,\n 3.556071e-1, 7.884126e-1, -1.070371, -4.207858e-1, 1.739862e-1, 5.29341,\n -3.136757, 2.323856e-1, 1.673706e-1, 1.007227, 6.844287e-1,\n // albedo 1, turbidity 1\n -1.34172, -4.834889e-1, -4.633447e1, 4.682148e1, -6.137296e-3, 4.599216e-1,\n 7.047323e-3, 2.895798, 4.999398e-1, -1.529104, -6.498631e-1, 1.534103e1,\n -1.450675e1, -1.531439e-2, 3.280082e-1, 1.682926e-2, 1.901587, 5.013227e-1,\n -1.014776, -1.454495e-1, -4.071085, 2.954982, -2.630348e-2, 5.681531e-1,\n -3.016505e-2, 6.773854, 5.003504e-1, -1.172413, -4.02632e-1, 2.960428,\n 2.02071e-1, -2.004947e-1, 9.375572e-1, 5.998168e-2, -4.945934, 4.502898e-1,\n -9.898161e-1, -5.772814e-2, 4.470024e-1, -5.786656e-1, 1.158168e-1,\n 3.46804e-1, -5.04336e-2, 6.867947, 8.012363e-1, -1.085111, -1.882675e-1,\n 1.223748, 3.565495e-1, -3.688357, 5.653723e-1, 6.727646e-2, 2.69013,\n 4.9994e-1,\n // albedo 1, turbidity 2\n -1.389119, -5.29025e-1, -4.055774e1, 4.105972e1, -7.062577e-3, 4.56006e-1,\n -1.736334e-6, 2.775512, 6.671455e-1, -1.584641, -7.200619e-1, 1.248067e1,\n -1.156028e1, -1.659568e-2, 3.050029e-1, 1.099895e-2, 1.438927, -2.138015e-2,\n -9.826068e-1, -8.887254e-2, -2.960031, 1.808816, -2.478159e-2, 6.035733e-1,\n -4.868441e-2, 7.347705, 1.584739, -1.150423, -4.073793e-1, 2.412991,\n 4.87084e-1, -2.337902e-1, 8.295114e-1, 1.129914e-1, -5.150045, -9.016643e-2,\n -1.016933, -6.311501e-2, 5.218937e-1, -5.71643e-1, 1.250993e-1, 3.601524e-1,\n -5.497586e-2, 7.060139, 1.018333, -1.073151, -1.845444e-1, 1.155394,\n 3.004486e-1, -3.431711, 4.657031e-1, 9.401223e-2, 2.68862, 4.999544e-1,\n // albedo 1, turbidity 3\n -1.391257, -5.365815e-1, -4.255881e1, 4.299132e1, -5.838466e-3, 4.229134e-1,\n -2.760038e-6, 2.775531, 6.234597e-1, -1.780062, -9.22888e-1, 1.376172e1,\n -1.260946e1, -1.507526e-2, 3.117435e-1, 2.205045e-2, 6.093731e-1, 3.463446e-2,\n -7.388169e-1, 1.27567e-1, -3.999528, 2.223993, -1.856853e-2, 5.43931e-1,\n -8.834054e-2, 8.037139, 1.645951, -1.322387, -5.320143e-1, 2.659359, 1.086712,\n -2.129712e-1, 8.704649e-1, 1.800315e-1, -4.967241, -1.38372e-1, -9.378288e-1,\n -1.599895e-2, 3.607555e-1, -1.980561, 3.791456e-1, 1.212268e-1, -2.845992e-2,\n 6.825542, 1.059139, -1.100832, -2.172313e-1, 1.211561, 2.002721, -5.010011,\n 5.717583e-1, 6.777702e-2, 2.160006, 5.676392e-1,\n // albedo 1, turbidity 4\n -1.409373, -5.708751e-1, -3.034974e1, 3.079809e1, -7.280715e-3, 3.723304e-1,\n -2.436279e-6, 2.577348, 5.913377e-1, -1.954312, -1.11651, 5.399148, -4.299553,\n -1.724739e-2, 3.742824e-1, 4.187077e-2, 1.044883e-1, 1.232727e-1,\n -6.772215e-1, 2.001396e-1, -3.670523e-1, -1.014628, -3.497152e-3, 4.099858e-1,\n -1.584633e-1, 7.7504, 1.514559, -1.2916, -4.977437e-1, 9.641914e-1, 1.56242,\n -3.227782e-1, 9.055427e-1, 3.046444e-1, -3.385619, 9.546291e-3, -9.750857e-1,\n -8.77056e-2, 9.054256e-1, -1.429236, 8.974777e-1, -1.217961e-1, -5.194608e-2,\n 4.909409, 9.589153e-1, -1.088007, -1.959301e-1, 9.745799e-1, 1.260761,\n -5.008864, 7.271248e-1, 1.096661e-1, 2.717295, 6.340731e-1,\n // albedo 1, turbidity 5\n -1.45605, -6.223072e-1, -2.228088e1, 2.269604e1, -9.340812e-3, 4.118308e-1,\n -2.418083e-6, 2.442117, 5.589638e-1, -2.176449, -1.302416, 2.222836, -1.22273,\n -1.728051e-2, 1.323513e-1, 7.027731e-2, 4.835745e-2, 2.093351e-1,\n -5.789641e-1, 2.215407e-1, 2.142291e-1, -1.201725, -1.185728e-2, 8.122982e-1,\n -2.38042e-1, 6.706841, 1.404146, -1.307463, -4.515174e-1, 6.447827e-1,\n 1.223841, -2.902391e-1, 4.986588e-1, 4.073652e-1, -1.706696, 1.060885e-1,\n -9.698678e-1, -1.307094e-1, 9.389347e-1, -1.522852, 7.768797e-1, -1.368595e-1,\n -3.857426e-2, 3.676935, 8.980966e-1, -1.104349, -2.380323e-1, 1.047043,\n 1.865421, -5.011664, 7.014954e-1, 9.622701e-2, 1.89136, 6.687354e-1,\n // albedo 1, turbidity 6\n -1.502249, -6.724523e-1, -2.888092e1, 2.93036e1, -6.685766e-3, 3.685464e-1,\n -2.469442e-6, 2.310797, 5.566754e-1, -2.217125, -1.364924, 4.048243,\n -3.111333, -1.317747e-2, 1.921948e-1, 8.627702e-2, 1.981769e-3, 2.213689e-1,\n -6.215757e-1, 1.687995e-1, -5.949131e-1, -1.551293e-1, 3.356129e-4,\n 6.897657e-1, -2.855053e-1, 6.271042, 1.363084, -1.216317, -3.489429e-1,\n 7.566226e-1, 5.409809e-1, -2.830843e-1, 6.191825e-1, 4.755163e-1,\n -9.131387e-1, 1.383909e-1, -1.030437, -2.034064e-1, 8.335995e-1, -1.050947,\n 8.689093e-1, -3.67231e-1, -4.056183e-2, 3.111269, 8.856842e-1, -1.078984,\n -2.070549e-1, 9.683145e-1, 1.497022, -5.007653, 7.702541e-1, 1.285822e-1,\n 2.225188, 6.587911e-1,\n // albedo 1, turbidity 7\n -1.559291, -7.374039e-1, -3.596311e1, 3.63447e1, -4.667132e-3, 3.277964e-1,\n -2.487945e-6, 2.215652, 5.764681e-1, -2.356929, -1.444755, 6.244526,\n -5.540162, -8.79451e-3, 1.7921e-1, 9.578517e-2, 3.737676e-1, 1.922194e-1,\n -6.589752e-1, -2.92691e-2, -1.831779, 1.869962, -2.030095e-3, 7.552089e-1,\n -3.168157e-1, 4.632196, 1.294054, -1.161046, -1.472506e-1, 6.494138e-1,\n -8.327174e-1, -2.320724e-1, 3.391212e-1, 5.269637e-1, 9.376341e-1,\n 2.458573e-1, -1.034427, -3.062504e-1, 8.975634e-1, 3.203531e-1, 8.565142e-1,\n -1.250162e-1, -4.094017e-2, 1.861304, 8.223468e-1, -1.109954, -2.740277e-1,\n 1.063811, 7.077398e-1, -4.695734, 5.621696e-1, 1.248956e-1, 1.297723,\n 6.78972e-1,\n // albedo 1, turbidity 8\n -1.788293, -9.368751e-1, -4.38298e1, 4.424963e1, -3.65253e-3, 3.094331e-1,\n -2.810503e-6, 1.904402, 5.861599e-1, -2.268206, -1.312676, 2.863082,\n -2.373727, -5.14498e-3, 1.711072e-1, 9.316041e-2, 9.309598e-1, 1.791683e-1,\n -1.376966, -7.418582e-1, -1.349589, 1.563419, -3.124219e-3, 6.967139e-1,\n -3.061887e-1, 3.602731, 1.255669, -6.01754e-1, 2.815928e-1, 5.424052e-1,\n -6.88545e-1, -1.620001e-1, 2.980046e-1, 4.995571e-1, 7.371203e-1, 2.812466e-1,\n -1.278853, -5.245326e-1, 7.87052e-1, 3.125067e-1, 7.748105e-1, -7.788581e-2,\n 3.490956e-3, 1.283748, 8.13019e-1, -1.05093, -2.786331e-1, 1.056344, 1.053002,\n -4.047789, 4.432174e-1, 1.169077e-1, 9.532621e-1, 6.806764e-1,\n // albedo 1, turbidity 9\n -2.084927, -1.203954, -4.881638e1, 4.92016e1, -2.896045e-3, 2.882977e-1,\n -3.073517e-6, 1.702211, 6.37418e-1, -2.328567, -1.238023, -1.891019, 2.45152,\n -5.847581e-3, 2.084702e-1, 7.84813e-2, 1.211048, 8.095008e-2, -2.634632,\n -1.78946, -1.370558e-1, -3.326435e-1, 2.783737e-3, 5.239451e-1, -2.548881e-1,\n 2.896327, 1.324116, 6.882616e-2, 5.997821e-1, 1.535398e-1, 1.375209,\n -1.267285e-1, 4.239743e-1, 4.013122e-1, 1.794675e-1, 2.395382e-1, -1.430918,\n -6.439041e-1, 8.32598e-1, -1.705612, 7.236426e-1, -5.567593e-2, 6.408718e-2,\n 6.836524e-1, 8.388887e-1, -1.037956, -3.215402e-1, 9.457349e-1, 3.178114,\n -4.152156, 2.230992e-1, 1.156198e-1, 7.606223e-1, 6.656923e-1,\n // albedo 1, turbidity 10\n -2.967314, -1.728778, -3.730988e1, 3.755578e1, -2.588835e-3, 2.927966e-1,\n -3.935038e-6, 1.592161, 6.868694e-1, -2.123311, -1.175148, -1.314988e1,\n 1.386882e1, -7.828537e-3, 1.852026e-1, 5.481038e-2, 1.294309, 2.428177e-2,\n -5.443597, -3.156344, 2.110838, -3.421556, 1.18189e-2, 1.196951e-1,\n -1.742902e-1, 2.404353, 1.272805, 1.029898, 5.912521e-1, -3.983531e-1,\n 3.286069, -9.252065e-2, 1.331381, 2.560642e-1, 8.001754e-1, 3.624178e-1,\n -1.547574, -7.881604e-1, 1.020902, -2.897069, 5.21347e-1, -9.242315e-1,\n 1.185594e-1, -1.150721, 7.317211e-1, -9.621043e-1, -1.991406e-1, 6.531287e-1,\n 3.925839, -3.596904, 6.317332e-1, 1.531334e-1, 1.457846, 6.966285e-1,\n];\n\nexport const datasetRGBRadiance_B = [\n // albedo 0, turbidity 1\n 9.926518e-1, 1.999494, -4.136109, 1.85627e1, 1.351028e1, 1.390238e1,\n // albedo 0, turbidity 2\n 9.634366e-1, 2.119694, -4.614523, 1.919701e1, 1.376644e1, 1.418731e1,\n // albedo 0, turbidity 3\n 9.446537e-1, 2.17161, -4.915556, 1.91824e1, 1.537135e1, 1.40053e1,\n // albedo 0, turbidity 4\n 9.073074e-1, 2.330536, -5.577596, 1.961615e1, 1.688365e1, 1.446955e1,\n // albedo 0, turbidity 5\n 8.739124e-1, 2.388682, -5.842995, 1.923265e1, 1.887735e1, 1.485698e1,\n // albedo 0, turbidity 6\n 8.563688e-1, 2.391534, -5.769133, 1.828709e1, 2.097209e1, 1.469587e1,\n // albedo 0, turbidity 7\n 8.270533e-1, 2.34279, -5.558071, 1.684993e1, 2.356498e1, 1.505975e1,\n // albedo 0, turbidity 8\n 7.908339e-1, 2.190341, -4.852571, 1.374862e1, 2.806846e1, 1.548444e1,\n // albedo 0, turbidity 9\n 7.403619e-1, 1.783998, -2.983854, 7.622563, 3.50761e1, 1.615805e1,\n // albedo 0, turbidity 10\n 6.840111e-1, 1.154457, -2.39383e-1, -7.896893e-1, 4.282765e1, 1.779469e1,\n // albedo 1, turbidity 1\n 1.1683, 1.860993, -2.129074, 1.251952e1, 3.032499e1, 2.938716e1,\n // albedo 1, turbidity 2\n 1.150338, 1.918813, -2.413527, 1.274862e1, 3.087134e1, 2.951432e1,\n // albedo 1, turbidity 3\n 1.114719, 1.964689, -2.625423, 1.247837e1, 3.237949e1, 2.943596e1,\n // albedo 1, turbidity 4\n 1.077948, 2.006292, -2.846934, 1.190195e1, 3.459293e1, 2.937492e1,\n // albedo 1, turbidity 5\n 1.035143, 1.986681, -2.752584, 1.060972e1, 3.722185e1, 2.918594e1,\n // albedo 1, turbidity 6\n 1.015992, 1.992054, -2.812626, 1.001416e1, 3.8473e1, 2.924624e1,\n // albedo 1, turbidity 7\n 9.756887e-1, 1.939897, -2.533281, 8.319176, 4.083907e1, 2.925586e1,\n // albedo 1, turbidity 8\n 9.264164e-1, 1.716454, -1.597044, 4.739725, 4.507683e1, 2.878915e1,\n // albedo 1, turbidity 9\n 8.595191e-1, 1.346034, -2.801895e-2, -6.582906e-1, 5.017523e1, 2.852953e1,\n // albedo 1, turbidity 10\n 7.754116e-1, 7.709245e-1, 2.200201, -7.487661, 5.436622e1, 2.893432e1,\n];\n","import {\n datasetRGB_B,\n datasetRGB_G,\n datasetRGB_R,\n datasetRGBRadiance_B,\n datasetRGBRadiance_G,\n datasetRGBRadiance_R,\n} from './hosek-wilkie-configuration';\n\nexport interface HosekWilkieSkyConfigurationRGB {\n r: HosekWilkieSkyConfiguration;\n g: HosekWilkieSkyConfiguration;\n b: HosekWilkieSkyConfiguration;\n}\n\nexport interface HosekWilkieSkyRadianceConfigurationRGB {\n r: number;\n g: number;\n b: number;\n}\n\nexport type HosekWilkieSkyConfiguration = [\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n];\n\nconst calculateElevationMatrixCoefficient = (\n solarElevation: number,\n elevationMatrix: number[],\n i: number,\n) => {\n return (\n Math.pow(1.0 - solarElevation, 5.0) * elevationMatrix[i] +\n 5.0 *\n Math.pow(1.0 - solarElevation, 4.0) *\n solarElevation *\n elevationMatrix[i + 9] +\n 10.0 *\n Math.pow(1.0 - solarElevation, 3.0) *\n Math.pow(solarElevation, 2.0) *\n elevationMatrix[i + 18] +\n 10.0 *\n Math.pow(1.0 - solarElevation, 2.0) *\n Math.pow(solarElevation, 3.0) *\n elevationMatrix[i + 27] +\n 5.0 *\n (1.0 - solarElevation) *\n Math.pow(solarElevation, 4.0) *\n elevationMatrix[i + 36] +\n Math.pow(solarElevation, 5.0) * elevationMatrix[i + 45]\n );\n};\n\nexport const buildHosekWilkieSkyConfigurationRGB = (\n turbidity: number,\n albedo: number,\n elevation: number,\n): HosekWilkieSkyConfigurationRGB => {\n const configs = [datasetRGB_R, datasetRGB_G, datasetRGB_B].map((dataset) => {\n const config: HosekWilkieSkyConfiguration = [0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n const intTurbidity = Math.floor(turbidity);\n const turbidityRemainder = turbidity - intTurbidity;\n\n const solarElevation = Math.pow(elevation / (Math.PI / 2.0), 1.0 / 3.0);\n\n // albedo 0 low turbidity\n let elevationMatrix = dataset.slice(9 * 6 * (intTurbidity - 1));\n\n for (let i = 0; i < 9; ++i) {\n config[i] =\n (1.0 - albedo) *\n (1.0 - turbidityRemainder) *\n calculateElevationMatrixCoefficient(solarElevation, elevationMatrix, i);\n }\n\n // albedo 1 low turbidity\n elevationMatrix = dataset.slice(9 * 6 * 10 + 9 * 6 * (intTurbidity - 1));\n for (let i = 0; i < 9; ++i) {\n config[i] +=\n albedo *\n (1.0 - turbidityRemainder) *\n calculateElevationMatrixCoefficient(solarElevation, elevationMatrix, i);\n }\n\n if (intTurbidity === 10) {\n return config;\n }\n\n // albedo 0 high turbidity\n elevationMatrix = dataset.slice(9 * 6 * intTurbidity);\n for (let i = 0; i < 9; ++i) {\n config[i] +=\n (1.0 - albedo) *\n turbidityRemainder *\n calculateElevationMatrixCoefficient(solarElevation, elevationMatrix, i);\n }\n\n // albedo 1 high turbidity\n elevationMatrix = dataset.slice(9 * 6 * 10 + 9 * 6 * intTurbidity);\n for (let i = 0; i < 9; ++i) {\n config[i] +=\n albedo *\n turbidityRemainder *\n calculateElevationMatrixCoefficient(solarElevation, elevationMatrix, i);\n }\n return config;\n });\n return { r: configs[0], g: configs[1], b: configs[2] };\n};\n\nconst calculateCommonRadianceElevationMatrixCoefficient = (\n solarElevation: number,\n elevationMatrix: number[],\n) => {\n return (\n Math.pow(1.0 - solarElevation, 5.0) * elevationMatrix[0] +\n 5.0 *\n Math.pow(1.0 - solarElevation, 4.0) *\n solarElevation *\n elevationMatrix[1] +\n 10.0 *\n Math.pow(1.0 - solarElevation, 3.0) *\n Math.pow(solarElevation, 2.0) *\n elevationMatrix[2] +\n 10.0 *\n Math.pow(1.0 - solarElevation, 2.0) *\n Math.pow(solarElevation, 3.0) *\n elevationMatrix[3] +\n 5.0 *\n (1.0 - solarElevation) *\n Math.pow(solarElevation, 4.0) *\n elevationMatrix[4] +\n Math.pow(solarElevation, 5.0) * elevationMatrix[5]\n );\n};\n\nexport const buildHosekWilkieSkyRadianceConfiguration = (\n turbidity: number,\n albedo: number,\n elevation: number,\n): HosekWilkieSkyRadianceConfigurationRGB => {\n const radiances = [\n datasetRGBRadiance_R,\n datasetRGBRadiance_G,\n datasetRGBRadiance_B,\n ].map((dataset) => {\n const intTurbidity = Math.floor(turbidity);\n const turbidityRemainder = turbidity - intTurbidity;\n const solarElevation = Math.pow(elevation / (Math.PI / 2.0), 1.0 / 3.0);\n\n // albedo 0 low turbidity\n let elevationMatrix = dataset.slice(6 * (intTurbidity - 1));\n let result =\n (1.0 - albedo) *\n (1.0 - turbidityRemainder) *\n calculateCommonRadianceElevationMatrixCoefficient(\n solarElevation,\n elevationMatrix,\n );\n\n // albedo 1 low turbidity\n elevationMatrix = dataset.slice(6 * 10 + 6 * (intTurbidity - 1));\n result +=\n albedo *\n (1.0 - turbidityRemainder) *\n calculateCommonRadianceElevationMatrixCoefficient(\n solarElevation,\n elevationMatrix,\n );\n if (intTurbidity === 10) {\n return result;\n }\n\n // albedo 0 high turbidity\n elevationMatrix = dataset.slice(6 * intTurbidity);\n result +=\n (1.0 - albedo) *\n turbidityRemainder *\n calculateCommonRadianceElevationMatrixCoefficient(\n solarElevation,\n elevationMatrix,\n );\n\n // albedo 1 high turbidity\n elevationMatrix = dataset.slice(6 * 10 + 6 * intTurbidity);\n result +=\n albedo *\n turbidityRemainder *\n calculateCommonRadianceElevationMatrixCoefficient(\n solarElevation,\n elevationMatrix,\n );\n return result;\n });\n return { r: radiances[0], g: radiances[1], b: radiances[2] };\n};\n","import type { Node } from 'three/webgpu';\nimport {\n Fn,\n fract,\n sin,\n dot,\n vec2,\n floor,\n sub,\n add,\n mix,\n float,\n Loop,\n} from 'three/tsl';\n\n// see https://blog.frost.kiwi/GLSL-noise-and-radial-gradient/\nexport const random2D = Fn(([uv]: [Node<'vec2'>]) => {\n return fract(sin(dot(uv, vec2(12.9898, 78.233))).mul(43758.5453));\n});\n\nexport const noise = Fn(([uv_immutable]: [Node<'vec2'>]) => {\n const uv = vec2(uv_immutable).toVar();\n const uvInt = floor(uv);\n const uvFract = fract(uv);\n const interpolationWeights = uvFract\n .mul(uvFract)\n .mul(sub(3.0, uvFract.mul(2.0)));\n\n const a = random2D(uvInt);\n const b = random2D(add(uvInt, vec2(1.0, 0.0)));\n const c = random2D(add(uvInt, vec2(0.0, 1.0)));\n const d = random2D(add(uvInt, vec2(1.0, 1.0)));\n\n return mix(\n mix(a, b, interpolationWeights.x),\n mix(c, d, interpolationWeights.x),\n interpolationWeights.y,\n );\n});\n\nexport const fbm = Fn(([uv_immutable]: [Node<'vec2'>]) => {\n const uv = vec2(uv_immutable).toVar();\n const fbmValue = float(0.0).toVar();\n const amplitude = float(0.5).toVar();\n\n Loop(5, () => {\n fbmValue.addAssign(amplitude.mul(noise(uv)));\n uv.mulAssign(2.0);\n amplitude.mulAssign(0.5);\n });\n\n return fbmValue;\n});\n","import { BackSide, BoxGeometry, Mesh, Vector3 } from 'three';\nimport type { UniformNode, Node, UniformArrayNode } from 'three/webgpu';\nimport { NodeMaterial } from 'three/webgpu';\nimport {\n clamp,\n vec2,\n acos,\n exp,\n cos,\n sqrt,\n uniformArray,\n pow,\n dot,\n Fn,\n smoothstep,\n float,\n uniform,\n vec4,\n vec3,\n modelViewProjection,\n cameraPosition,\n positionWorld,\n sub,\n add,\n mul,\n max,\n mix,\n If,\n} from 'three/tsl';\nimport {\n buildHosekWilkieSkyConfigurationRGB,\n buildHosekWilkieSkyRadianceConfiguration,\n} from './hosek-wilkie-sky-configuration-builder';\nimport { fbm, random2D } from './tsl-util';\n\ninterface HosekWilkieSkyParameters {\n turbidity?: number;\n albedo?: number;\n sunPosition?: Vector3;\n}\n\n// Hosek-Wilkie sky model implementation based on\n// https://dl.acm.org/doi/epdf/10.1145/2185520.2185591\n// https://github.com/ebruneton/clear-sky-models/tree/master/atmosphere/model/hosek\n// and https://kazakov.life/2025/12/29/drawing-a-hosek-wilkie-sky-on-cpu-fast/\n// theta is the angle between the zenith (the upper edge of the sky, so here just up (0,1,0))\n// and the direction towards the point in the sky we are looking at (so pi/2 would be the horizon for example)\n// gamma is the angle between the sun direction and the direction towards the\n// point in the sky we are looking at (so 0, would be the sun)\nexport class HosekWilkieSky extends Mesh {\n public readonly sunRadius: UniformNode<'float', number> = uniform(0.03);\n public readonly sunSoftness: UniformNode<'float', number> = uniform(0.002);\n public readonly tonemapExposure: UniformNode<'float', number> = uniform(0.5);\n public readonly tonemapWhite: UniformNode<'float', number> = uniform(14);\n public readonly fixColorBanding: UniformNode<'bool', boolean> = uniform(true);\n public readonly cloudCoverage: UniformNode<'float', number> = uniform(0.4);\n public readonly cloudDensity: UniformNode<'float', number> = uniform(0.4);\n public readonly cloudElevation: UniformNode<'float', number> = uniform(0.5);\n public readonly cloudScale: UniformNode<'float', number> = uniform(0.0002);\n\n // private since these require updateConfigurations() to be called after updates\n // which is handled in the corresponding setters\n private readonly _sunPosition: UniformNode<'vec3', Vector3>;\n private _turbidity: number;\n private _albedo: number;\n\n private _configuration_R: UniformArrayNode<'float'>;\n private _configuration_G: UniformArrayNode<'float'>;\n private _configuration_B: UniformArrayNode<'float'>;\n\n private _radiance_R: UniformNode<'float', number>;\n private _radiance_G: UniformNode<'float', number>;\n private _radiance_B: UniformNode<'float', number>;\n\n constructor(parameters: HosekWilkieSkyParameters = {}) {\n const material = new NodeMaterial();\n super(new BoxGeometry(1, 1, 1), material);\n\n this._turbidity = parameters.turbidity ?? 2.5; // clear sky in a temperate climate\n this._albedo = parameters.albedo ?? 0.9; // brightness of the ground in range [0,1]\n this._sunPosition = uniform(parameters.sunPosition ?? new Vector3(0, 1, 0));\n\n material.side = BackSide;\n material.depthWrite = false; // this sky is only in the background and should not be considered for depth testing\n\n this.initializeConfigurations();\n material.vertexNode = this.buildVertexNode();\n material.colorNode = this.buildColorNode();\n }\n\n public getClonedSunPosition(): Vector3 {\n return this._sunPosition.value.clone();\n }\n\n public setSunPosition(polarAngle: number, azimuthAngle: number): void {\n const sunPosition = new Vector3().setFromSphericalCoords(\n 1,\n polarAngle,\n azimuthAngle,\n );\n this._sunPosition.value.copy(sunPosition);\n this.updateConfigurations();\n }\n\n get turbidity(): number {\n return this._turbidity;\n }\n\n set turbidity(value: number) {\n this._turbidity = value;\n this.updateConfigurations();\n }\n\n get albedo(): number {\n return this._albedo;\n }\n\n set albedo(value: number) {\n this._albedo = value;\n this.updateConfigurations();\n }\n\n private buildColorNode(): Node<'vec4'> {\n return Fn(() => {\n const up = vec3(0, 1, 0).toConst();\n const viewDirection = positionWorld.sub(cameraPosition).normalize();\n\n // clamp dot to something > 0 to use bordering horizon values below the horizon as well\n const theta = acos(clamp(dot(viewDirection, up), 0.001, 1));\n const gamma = acos(clamp(dot(viewDirection, this._sunPosition), -1, 1));\n\n const atmosphereColor = this.calculateAtmosphereColor(theta, gamma);\n\n const atmosphereWithSun = atmosphereColor.add(\n this.calculateSunColor(gamma),\n );\n\n const tonemappedSRGBColor =\n this.tonemapExtendedReinhard(atmosphereWithSun);\n\n const skyWithClouds = this.mixInClouds(\n tonemappedSRGBColor,\n viewDirection,\n );\n\n const finalColor = this.removeColorBanding(skyWithClouds, theta, gamma);\n\n return vec4(finalColor, 1);\n })();\n }\n\n // adapted from https://github.com/mrdoob/three.js/blob/master/examples/jsm/objects/SkyMesh.js\n private mixInClouds(\n skyColor: Node<'vec3'>,\n viewDirection: Node<'vec3'>,\n ): Node<'vec3'> {\n const result = vec3(skyColor).toVar();\n\n If(\n this.cloudCoverage.greaterThan(0.0).and(viewDirection.y.greaterThan(0.0)),\n () => {\n const cloudUV = this.projectViewToCloudPlane(viewDirection);\n const cloudMask = this.sampleCloudsFromFbmAndSmoothen(\n cloudUV,\n viewDirection,\n );\n const cloudColor = this.shadeClouds(skyColor, viewDirection);\n result.assign(\n mix(result, cloudColor, cloudMask.mul(this.cloudDensity)),\n );\n },\n );\n\n return result;\n }\n\n private projectViewToCloudPlane(viewDirection: Node<'vec3'>): Node<'vec2'> {\n const elevation = mix(1.0, 0.1, this.cloudElevation);\n return viewDirection.xz\n .div(viewDirection.y.mul(elevation))\n .mul(this.cloudScale);\n }\n\n private sampleCloudsFromFbmAndSmoothen(\n cloudUV: Node<'vec2'>,\n viewDirection: Node<'vec3'>,\n ): Node<'float'> {\n const cloudNoise = fbm(cloudUV.mul(1000.0))\n .add(fbm(cloudUV.mul(2000.0).add(3.7)).mul(0.5))\n .mul(0.5)\n .add(0.5);\n\n const cloudsSmoothedByCoverage = smoothstep(\n sub(1.0, this.cloudCoverage),\n sub(1.0, this.cloudCoverage).add(0.3),\n cloudNoise,\n );\n const elevationSmoothingFactor = smoothstep(\n 0.0,\n add(0.1, mul(0.2, this.cloudElevation)),\n viewDirection.y,\n );\n\n return cloudsSmoothedByCoverage.mul(elevationSmoothingFactor);\n }\n\n private shadeClouds(\n skyColor: Node<'vec3'>,\n viewDirection: Node<'vec3'>,\n ): Node<'vec3'> {\n const sunInfluence = dot(viewDirection, this._sunPosition)\n .mul(0.5)\n .add(0.5);\n const daylight = max(0.0, this._sunPosition.y.mul(2.0));\n\n const cloudColor = mix(vec3(0.3), vec3(1.0), daylight);\n const litClouds = mix(\n cloudColor,\n skyColor.add(vec3(1.0)),\n sunInfluence.mul(0.5),\n );\n return litClouds.mul(clamp(this._sunPosition.y.mul(2.0), 0.0, 1.0));\n }\n\n private calculateSunColor(gamma: Node<'float'>): Node<'vec3'> {\n const sunBrightness = this.tonemapWhite;\n\n const sunDisk = float(1).sub(\n smoothstep(this.sunRadius, this.sunRadius.add(this.sunSoftness), gamma),\n );\n\n const sunRadiance = vec3(\n this._radiance_R,\n this._radiance_G,\n this._radiance_B,\n ).mul(sunBrightness);\n return sunRadiance.mul(sunDisk);\n }\n\n private calculateAtmosphereColor(\n theta: Node<'float'>,\n gamma: Node<'float'>,\n ): Node<'vec3'> {\n return vec3(\n this.calculateRadiance(this._configuration_R, theta, gamma).mul(\n this._radiance_R,\n ),\n this.calculateRadiance(this._configuration_G, theta, gamma).mul(\n this._radiance_G,\n ),\n this.calculateRadiance(this._configuration_B, theta, gamma).mul(\n this._radiance_B,\n ),\n );\n }\n\n private buildVertexNode(): Node<'vec4'> {\n return Fn(() => {\n const position = modelViewProjection as Node<'vec4'>;\n position.z.assign(position.w); // set z to the clip space projection coordinate (camera.far)\n\n return position;\n })();\n }\n\n private initializeConfigurations() {\n const elevation = Math.asin(this._sunPosition.value.y);\n\n const configurations = buildHosekWilkieSkyConfigurationRGB(\n this._turbidity,\n this._albedo,\n elevation,\n );\n this._configuration_R = uniformArray(configurations.r);\n this._configuration_G = uniformArray(configurations.g);\n this._configuration_B = uniformArray(configurations.b);\n\n const radiances = buildHosekWilkieSkyRadianceConfiguration(\n this._turbidity,\n this._albedo,\n elevation,\n );\n this._radiance_R = uniform(radiances.r);\n this._radiance_G = uniform(radiances.g);\n this._radiance_B = uniform(radiances.b);\n }\n\n public updateConfigurations(): void {\n const elevation = Math.asin(this._sunPosition.value.y);\n\n const configurations = buildHosekWilkieSkyConfigurationRGB(\n this._turbidity,\n this._albedo,\n elevation,\n );\n this._configuration_R.array.splice(0, 9, ...configurations.r);\n this._configuration_G.array.splice(0, 9, ...configurations.g);\n this._configuration_B.array.splice(0, 9, ...configurations.b);\n\n const radiances = buildHosekWilkieSkyRadianceConfiguration(\n this._turbidity,\n this._albedo,\n elevation,\n );\n this._radiance_R.value = radiances.r;\n this._radiance_G.value = radiances.g;\n this._radiance_B.value = radiances.b;\n }\n\n private calculateRadiance(\n configuration: UniformArrayNode<'float'>,\n theta: Node<'float'>,\n gamma: Node<'float'>,\n ): Node<'float'> {\n const cosGamma = cos(gamma);\n const cosTheta = cos(theta);\n\n const expMultiplier = exp(configuration.element(4).mul(gamma));\n const rayMultiplier = cosGamma.mul(cosGamma);\n const mieMultiplier = float(1)\n .add(cosGamma.mul(cosGamma))\n .div(\n pow(\n float(1)\n .add(configuration.element(8).mul(configuration.element(8)))\n .sub(configuration.element(8).mul(2).mul(cosGamma)),\n 1.5,\n ),\n );\n const zenith = sqrt(cosTheta);\n\n return float(1)\n .add(\n configuration\n .element(0)\n .mul(exp(configuration.element(1).div(cosTheta.add(0.01)))),\n )\n .mul(\n configuration\n .element(2)\n .add(configuration.element(3).mul(expMultiplier))\n .add(configuration.element(5).mul(rayMultiplier))\n .add(configuration.element(6).mul(mieMultiplier))\n .add(configuration.element(7).mul(zenith)),\n );\n }\n\n // based on https://kazakov.life/2025/12/29/drawing-a-hosek-wilkie-sky-on-cpu-fast/\n private tonemapExtendedReinhard(color: Node<'vec3'>): Node<'vec3'> {\n // based on Rec.709 weights\n const luminance = color.dot(vec3(0.2126, 0.7152, 0.0722));\n const reinhardExtendedCorrectionFactor = float(1)\n .add(luminance.div(this.tonemapWhite.mul(this.tonemapWhite)))\n .div(float(1).add(luminance));\n return color\n .mul(this.tonemapExposure)\n .mul(reinhardExtendedCorrectionFactor);\n }\n\n // see https://blog.frost.kiwi/GLSL-noise-and-radial-gradient/\n private removeColorBanding(\n color: Node<'vec3'>,\n theta: Node<'float'>,\n gamma: Node<'float'>,\n ): Node<'vec3'> {\n const dithered = color.add(random2D(vec2(theta, gamma)).sub(0.5).mul(0.02));\n return this.fixColorBanding.select(dithered, color);\n }\n}\n"],"mappings":"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"}
|
package/lib/{imos-ix-poc-export-helper-CyGqK7nu.mjs → imos-ix-poc-export-helper-BGN97m8W.mjs}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { o as e } from "./kernel-BWfRHWkW.mjs";
|
|
2
|
-
import { t } from "./kernel-utils-
|
|
3
|
-
import { g as n } from "./common-utils-
|
|
2
|
+
import { t } from "./kernel-utils-BYKmP0mf.mjs";
|
|
3
|
+
import { g as n } from "./common-utils-OTJQGohe.mjs";
|
|
4
4
|
//#region packages/configurator-core/src/utils/imos-ix-poc-export-helper.ts
|
|
5
5
|
var r = (e, t) => `${e.x.toFixed(t)},${e.y.toFixed(t)},${e.z.toFixed(t)}`, i = (e, t) => {
|
|
6
6
|
if (!t) return "";
|
|
@@ -159,4 +159,4 @@ var r = (e, t) => `${e.x.toFixed(t)},${e.y.toFixed(t)},${e.z.toFixed(t)}`, i = (
|
|
|
159
159
|
//#endregion
|
|
160
160
|
export { f as downloadHomagIxExportPoC, p as generateExportHomagIxConfiguration, m as homagIxMockUpData };
|
|
161
161
|
|
|
162
|
-
//# sourceMappingURL=imos-ix-poc-export-helper-
|
|
162
|
+
//# sourceMappingURL=imos-ix-poc-export-helper-BGN97m8W.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imos-ix-poc-export-helper-CyGqK7nu.mjs","names":[],"sources":["../../packages/configurator-core/src/utils/imos-ix-poc-export-helper.ts"],"sourcesContent":["import { download } from '../../../common-core/src/utils/common-utils';\nimport { convertCObject } from '../../../common-core/src/utils/kernel-utils';\nimport {\n type ConfigurationExporter,\n type ConfiguratorKernelClass,\n ExportType,\n type HomagIxArticleData,\n} from '../../../typings/kernel';\nimport type { PlanOverview } from '../../../typings/planner';\n\nexport interface HomagIxOrderParams {\n orderNumber?: string;\n dispatchDate?: string;\n basketNumber?: string;\n}\n\nexport interface HomagIxHeaderParams {\n comm?: string;\n articleno?: string;\n customer?: string;\n retailer?: string;\n client?: string;\n program?: string;\n employee?: string;\n textLong?: string;\n textShort?: string;\n colour?: string[];\n info?: string[];\n address?: string[];\n billingAddress?: string[];\n shippingAddress?: string[];\n orderPriceInfo?: string[];\n customInfo?: string[];\n}\n\nexport interface HomagIxArticleParams {\n articleTextInfo1?: string;\n articleTextInfo2?: string;\n articlePriceInfo1?: string;\n articlePriceInfo2?: string;\n articlePriceInfo3?: string;\n deliveryPeriod?: string;\n supplier?: string;\n discount?: number;\n discountAbs?: number;\n}\n\nconst createVector3fString = (\n vec: { x: number; y: number; z: number },\n n: number,\n): string => {\n return `${vec.x.toFixed(n)},${vec.y.toFixed(n)},${vec.z.toFixed(n)}`;\n};\n\nconst createSectionFromArray = (\n sectionName: string,\n data: string[] | undefined,\n): string => {\n if (!data) {\n return '';\n }\n let result = '';\n for (let i = 0; i < data.length; i++) {\n result += `<${sectionName}${i + 1}>${data[i]}</${sectionName}${i + 1}>\n `;\n }\n return result;\n};\n\nconst createHeader = (data: HomagIxHeaderParams): string => {\n return `<Head>\n <COMM>${data.comm}</COMM>\n <ARTICLENO>${data.articleno}</ARTICLENO>\n <CUSTOMER>${data.customer}</CUSTOMER>\n <RETAILER>${data.retailer}</RETAILER>\n <CLIENT>${data.client}</CLIENT>\n <PROGRAM>${data.program}</PROGRAM>\n <EMPLOYEE>${data.employee}</EMPLOYEE>\n <TEXT_LONG>${data.textLong}</TEXT_LONG>\n <TEXT_SHORT>${data.textShort}</TEXT_SHORT>\n\n ${createSectionFromArray('COLOUR', data.colour)}\n ${createSectionFromArray('INFO', data.info)}\n ${createSectionFromArray('ADDRESS', data.address)}\n ${createSectionFromArray('BILLING_ADDRESS', data.billingAddress)}\n ${createSectionFromArray('SHIPPING_ADDRESS', data.shippingAddress)}\n ${createSectionFromArray('ORDER_PRICE_INFO', data.orderPriceInfo)}\n ${createSectionFromArray('CUSTOM_INFO', data.customInfo)}\n </Head>`;\n};\n\nconst createArticle = (\n shop: HomagIxArticleParams,\n article: HomagIxArticleData,\n): string => {\n return `\n <Pname>${article.name}</Pname>\n <Count>${article.count}</Count>\n <PVarString>${article.attributes}</PVarString>\n <ARTICLE_TEXT_INFO1>${\n shop.articleTextInfo1 || ''\n }</ARTICLE_TEXT_INFO1>\n <ARTICLE_TEXT_INFO2>${\n shop.articleTextInfo2 || ''\n }</ARTICLE_TEXT_INFO2>\n <ARTICLE_PRICE_INFO1>${\n shop.articlePriceInfo1 || ''\n }</ARTICLE_PRICE_INFO1>\n <ARTICLE_PRICE_INFO2>${\n shop.articlePriceInfo2 || ''\n }</ARTICLE_PRICE_INFO2>\n <ARTICLE_PRICE_INFO3>${\n shop.articlePriceInfo3 || ''\n }</ARTICLE_PRICE_INFO3>\n <Pinsertion>${createVector3fString(\n article.position,\n 2,\n )}</Pinsertion>\n <POrntation>${createVector3fString(\n article.rotation,\n 2,\n )}</POrntation>\n <DeliveryPeriod>${shop.deliveryPeriod || ''}</DeliveryPeriod>\n <LIEFERANT>${shop.supplier || ''}</LIEFERANT>\n <Mengenrabatt>${shop.discount || 0}</Mengenrabatt>\n <MengenrabattAbs>${shop.discountAbs || ''}</MengenrabattAbs>\n `;\n};\n\nconst createArticles = (\n articleShopData: HomagIxArticleParams = {},\n articleCoreData: HomagIxArticleData[],\n): string => {\n let articlesDataString = '';\n for (let i = 0; i < articleCoreData.length; i++) {\n articlesDataString += `<Set LineNo=\"${i + 1}\">${createArticle(\n articleShopData,\n articleCoreData[i],\n )}</Set>\n `;\n }\n return articlesDataString;\n};\n\nexport const createHomagIxXml = (\n orderData: HomagIxOrderParams = {},\n headerData: HomagIxHeaderParams = {},\n articleShopData: HomagIxArticleParams = {},\n articleCoreData: any,\n): string => {\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <XML type=\"ListBuilder\">\n <Order No=\"${orderData.orderNumber}\" DispDate=\"${\n orderData.dispatchDate\n }\" Basket=\"${orderData.basketNumber}\">\n ${createHeader(headerData)}\n <BuilderList>\n ${createArticles(articleShopData, articleCoreData.articles)}\n </BuilderList>\n </Order>\n </XML>\n `;\n};\n\n// Mock data section, these can be deleted if proper values are available\nexport const getFakeOrderParams = (): HomagIxOrderParams => {\n const randomNumber = Math.floor(Math.random() * 1000000).toString();\n return {\n orderNumber: 'Order ' + randomNumber,\n dispatchDate: '9/11/1911',\n basketNumber: randomNumber,\n };\n};\n\nexport const getFakeHeaderParams = (): HomagIxHeaderParams => {\n return {\n comm: 'Rubens2Rembrand',\n articleno: 'ExampleSIM',\n customer: 'Roomle',\n retailer: 'Retail',\n client: 'Ex ClientName',\n program: 'program',\n employee: 'Homag',\n textLong: 'long long long txt',\n textShort: 'short txt',\n colour: ['colour1', 'colour2', 'colour3', 'colour4', 'colour5'],\n info: [\n '1Admin',\n '2Firma_ABC',\n '3Adresse_ABC',\n '4PLZ_ABC',\n '5Stadt_ABC',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n ],\n address: [\n 'Admin',\n 'Firma_ABC',\n 'Adresse_ABC',\n 'PLZ_ABC',\n 'Stadt_ABC',\n 'Kundennummer_ABC',\n 'Land_ABC',\n ],\n billingAddress: [\n 'Optional1',\n 'Optional2',\n 'Optional3',\n 'Optional4',\n 'Optional5',\n 'Optional6',\n ],\n shippingAddress: ['opt', 'opt', 'opt', 'opt', 'opt', 'opt'],\n orderPriceInfo: ['000', 'Price002', 'Price003', 'Price004', 'Price005'],\n customInfo: [\n 'CustInf1',\n 'CustInf2',\n 'CustInf3',\n 'CustInf4',\n 'CustInf5',\n 'CustInf6',\n 'CustInf7',\n 'CustInf8',\n 'CustInf9',\n 'CustInf10',\n ],\n };\n};\n\nexport const getFakeArticleParams = (): HomagIxArticleParams => {\n return {};\n};\n\nexport const downloadHomagIxExportPoC = async (\n planOverview: PlanOverview,\n exporter: ConfigurationExporter,\n kernelInstance: ConfiguratorKernelClass,\n) => {\n const planObjects = convertCObject(planOverview.objects);\n\n let articles: any[] = [];\n\n for (const planObject of planObjects) {\n const configurationRuntimeId = planObject.configurationRuntimeId;\n\n try {\n const planObjectExport = JSON.parse(\n exporter.generateExport(\n ExportType.HOMAGiX,\n configurationRuntimeId,\n kernelInstance,\n ),\n );\n articles = articles.concat(planObjectExport.articles);\n } catch (e) {\n console.error(e);\n return Promise.reject(\n `Could not create export JSON ${ExportType.HOMAGiX}`,\n );\n }\n }\n\n const homagIxOrderData = getFakeOrderParams();\n const homagIxHeaderParams = getFakeHeaderParams();\n const homagIxArticleParams = getFakeArticleParams();\n\n const xmltext = createHomagIxXml(\n homagIxOrderData,\n homagIxHeaderParams,\n homagIxArticleParams,\n { articles },\n );\n\n let filename = 'IMOSiX.xml';\n download(filename, xmltext);\n return Promise.resolve();\n};\nexport const generateExportHomagIxConfiguration = async (\n planObjectId: number,\n exportType: ExportType,\n exporter: ConfigurationExporter,\n kernelInstance: ConfiguratorKernelClass,\n defaultExportDefinition: string = '',\n): Promise<any> => {\n try {\n exporter.setDefaultExportDataDefinition(defaultExportDefinition);\n return Promise.resolve(\n JSON.parse(\n exporter.generateExport(exportType, planObjectId, kernelInstance),\n ),\n );\n } catch (e) {\n console.error(e);\n return Promise.reject(`Could not create export JSON ${exportType}`);\n }\n};\n\nexport const homagIxMockUpData = (\n articles: any[],\n homagIxOrderData = {},\n homagIxHeaderParams = {},\n homagIxArticleParams = {},\n) => {\n homagIxOrderData = getFakeOrderParams();\n homagIxHeaderParams = getFakeHeaderParams();\n homagIxArticleParams = getFakeArticleParams();\n\n return createHomagIxXml(\n homagIxOrderData,\n homagIxHeaderParams,\n homagIxArticleParams,\n articles,\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"imos-ix-poc-export-helper-BGN97m8W.mjs","names":[],"sources":["../../packages/configurator-core/src/utils/imos-ix-poc-export-helper.ts"],"sourcesContent":["import { download } from '../../../common-core/src/utils/common-utils';\nimport { convertCObject } from '../../../common-core/src/utils/kernel-utils';\nimport {\n type ConfigurationExporter,\n type ConfiguratorKernelClass,\n ExportType,\n type HomagIxArticleData,\n} from '../../../typings/kernel';\nimport type { PlanOverview } from '../../../typings/planner';\n\nexport interface HomagIxOrderParams {\n orderNumber?: string;\n dispatchDate?: string;\n basketNumber?: string;\n}\n\nexport interface HomagIxHeaderParams {\n comm?: string;\n articleno?: string;\n customer?: string;\n retailer?: string;\n client?: string;\n program?: string;\n employee?: string;\n textLong?: string;\n textShort?: string;\n colour?: string[];\n info?: string[];\n address?: string[];\n billingAddress?: string[];\n shippingAddress?: string[];\n orderPriceInfo?: string[];\n customInfo?: string[];\n}\n\nexport interface HomagIxArticleParams {\n articleTextInfo1?: string;\n articleTextInfo2?: string;\n articlePriceInfo1?: string;\n articlePriceInfo2?: string;\n articlePriceInfo3?: string;\n deliveryPeriod?: string;\n supplier?: string;\n discount?: number;\n discountAbs?: number;\n}\n\nconst createVector3fString = (\n vec: { x: number; y: number; z: number },\n n: number,\n): string => {\n return `${vec.x.toFixed(n)},${vec.y.toFixed(n)},${vec.z.toFixed(n)}`;\n};\n\nconst createSectionFromArray = (\n sectionName: string,\n data: string[] | undefined,\n): string => {\n if (!data) {\n return '';\n }\n let result = '';\n for (let i = 0; i < data.length; i++) {\n result += `<${sectionName}${i + 1}>${data[i]}</${sectionName}${i + 1}>\n `;\n }\n return result;\n};\n\nconst createHeader = (data: HomagIxHeaderParams): string => {\n return `<Head>\n <COMM>${data.comm}</COMM>\n <ARTICLENO>${data.articleno}</ARTICLENO>\n <CUSTOMER>${data.customer}</CUSTOMER>\n <RETAILER>${data.retailer}</RETAILER>\n <CLIENT>${data.client}</CLIENT>\n <PROGRAM>${data.program}</PROGRAM>\n <EMPLOYEE>${data.employee}</EMPLOYEE>\n <TEXT_LONG>${data.textLong}</TEXT_LONG>\n <TEXT_SHORT>${data.textShort}</TEXT_SHORT>\n\n ${createSectionFromArray('COLOUR', data.colour)}\n ${createSectionFromArray('INFO', data.info)}\n ${createSectionFromArray('ADDRESS', data.address)}\n ${createSectionFromArray('BILLING_ADDRESS', data.billingAddress)}\n ${createSectionFromArray('SHIPPING_ADDRESS', data.shippingAddress)}\n ${createSectionFromArray('ORDER_PRICE_INFO', data.orderPriceInfo)}\n ${createSectionFromArray('CUSTOM_INFO', data.customInfo)}\n </Head>`;\n};\n\nconst createArticle = (\n shop: HomagIxArticleParams,\n article: HomagIxArticleData,\n): string => {\n return `\n <Pname>${article.name}</Pname>\n <Count>${article.count}</Count>\n <PVarString>${article.attributes}</PVarString>\n <ARTICLE_TEXT_INFO1>${\n shop.articleTextInfo1 || ''\n }</ARTICLE_TEXT_INFO1>\n <ARTICLE_TEXT_INFO2>${\n shop.articleTextInfo2 || ''\n }</ARTICLE_TEXT_INFO2>\n <ARTICLE_PRICE_INFO1>${\n shop.articlePriceInfo1 || ''\n }</ARTICLE_PRICE_INFO1>\n <ARTICLE_PRICE_INFO2>${\n shop.articlePriceInfo2 || ''\n }</ARTICLE_PRICE_INFO2>\n <ARTICLE_PRICE_INFO3>${\n shop.articlePriceInfo3 || ''\n }</ARTICLE_PRICE_INFO3>\n <Pinsertion>${createVector3fString(\n article.position,\n 2,\n )}</Pinsertion>\n <POrntation>${createVector3fString(\n article.rotation,\n 2,\n )}</POrntation>\n <DeliveryPeriod>${shop.deliveryPeriod || ''}</DeliveryPeriod>\n <LIEFERANT>${shop.supplier || ''}</LIEFERANT>\n <Mengenrabatt>${shop.discount || 0}</Mengenrabatt>\n <MengenrabattAbs>${shop.discountAbs || ''}</MengenrabattAbs>\n `;\n};\n\nconst createArticles = (\n articleShopData: HomagIxArticleParams = {},\n articleCoreData: HomagIxArticleData[],\n): string => {\n let articlesDataString = '';\n for (let i = 0; i < articleCoreData.length; i++) {\n articlesDataString += `<Set LineNo=\"${i + 1}\">${createArticle(\n articleShopData,\n articleCoreData[i],\n )}</Set>\n `;\n }\n return articlesDataString;\n};\n\nexport const createHomagIxXml = (\n orderData: HomagIxOrderParams = {},\n headerData: HomagIxHeaderParams = {},\n articleShopData: HomagIxArticleParams = {},\n articleCoreData: any,\n): string => {\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n <XML type=\"ListBuilder\">\n <Order No=\"${orderData.orderNumber}\" DispDate=\"${\n orderData.dispatchDate\n }\" Basket=\"${orderData.basketNumber}\">\n ${createHeader(headerData)}\n <BuilderList>\n ${createArticles(articleShopData, articleCoreData.articles)}\n </BuilderList>\n </Order>\n </XML>\n `;\n};\n\n// Mock data section, these can be deleted if proper values are available\nexport const getFakeOrderParams = (): HomagIxOrderParams => {\n const randomNumber = Math.floor(Math.random() * 1000000).toString();\n return {\n orderNumber: 'Order ' + randomNumber,\n dispatchDate: '9/11/1911',\n basketNumber: randomNumber,\n };\n};\n\nexport const getFakeHeaderParams = (): HomagIxHeaderParams => {\n return {\n comm: 'Rubens2Rembrand',\n articleno: 'ExampleSIM',\n customer: 'Roomle',\n retailer: 'Retail',\n client: 'Ex ClientName',\n program: 'program',\n employee: 'Homag',\n textLong: 'long long long txt',\n textShort: 'short txt',\n colour: ['colour1', 'colour2', 'colour3', 'colour4', 'colour5'],\n info: [\n '1Admin',\n '2Firma_ABC',\n '3Adresse_ABC',\n '4PLZ_ABC',\n '5Stadt_ABC',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n ],\n address: [\n 'Admin',\n 'Firma_ABC',\n 'Adresse_ABC',\n 'PLZ_ABC',\n 'Stadt_ABC',\n 'Kundennummer_ABC',\n 'Land_ABC',\n ],\n billingAddress: [\n 'Optional1',\n 'Optional2',\n 'Optional3',\n 'Optional4',\n 'Optional5',\n 'Optional6',\n ],\n shippingAddress: ['opt', 'opt', 'opt', 'opt', 'opt', 'opt'],\n orderPriceInfo: ['000', 'Price002', 'Price003', 'Price004', 'Price005'],\n customInfo: [\n 'CustInf1',\n 'CustInf2',\n 'CustInf3',\n 'CustInf4',\n 'CustInf5',\n 'CustInf6',\n 'CustInf7',\n 'CustInf8',\n 'CustInf9',\n 'CustInf10',\n ],\n };\n};\n\nexport const getFakeArticleParams = (): HomagIxArticleParams => {\n return {};\n};\n\nexport const downloadHomagIxExportPoC = async (\n planOverview: PlanOverview,\n exporter: ConfigurationExporter,\n kernelInstance: ConfiguratorKernelClass,\n) => {\n const planObjects = convertCObject(planOverview.objects);\n\n let articles: any[] = [];\n\n for (const planObject of planObjects) {\n const configurationRuntimeId = planObject.configurationRuntimeId;\n\n try {\n const planObjectExport = JSON.parse(\n exporter.generateExport(\n ExportType.HOMAGiX,\n configurationRuntimeId,\n kernelInstance,\n ),\n );\n articles = articles.concat(planObjectExport.articles);\n } catch (e) {\n console.error(e);\n return Promise.reject(\n `Could not create export JSON ${ExportType.HOMAGiX}`,\n );\n }\n }\n\n const homagIxOrderData = getFakeOrderParams();\n const homagIxHeaderParams = getFakeHeaderParams();\n const homagIxArticleParams = getFakeArticleParams();\n\n const xmltext = createHomagIxXml(\n homagIxOrderData,\n homagIxHeaderParams,\n homagIxArticleParams,\n { articles },\n );\n\n let filename = 'IMOSiX.xml';\n download(filename, xmltext);\n return Promise.resolve();\n};\nexport const generateExportHomagIxConfiguration = async (\n planObjectId: number,\n exportType: ExportType,\n exporter: ConfigurationExporter,\n kernelInstance: ConfiguratorKernelClass,\n defaultExportDefinition: string = '',\n): Promise<any> => {\n try {\n exporter.setDefaultExportDataDefinition(defaultExportDefinition);\n return Promise.resolve(\n JSON.parse(\n exporter.generateExport(exportType, planObjectId, kernelInstance),\n ),\n );\n } catch (e) {\n console.error(e);\n return Promise.reject(`Could not create export JSON ${exportType}`);\n }\n};\n\nexport const homagIxMockUpData = (\n articles: any[],\n homagIxOrderData = {},\n homagIxHeaderParams = {},\n homagIxArticleParams = {},\n) => {\n homagIxOrderData = getFakeOrderParams();\n homagIxHeaderParams = getFakeHeaderParams();\n homagIxArticleParams = getFakeArticleParams();\n\n return createHomagIxXml(\n homagIxOrderData,\n homagIxHeaderParams,\n homagIxArticleParams,\n articles,\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Ei as e, cn as t, nt as n } from "./three.core-BTUCraWz.mjs";
|
|
2
2
|
//#region packages/common-core/src/utils/kernel-utils.ts
|
|
3
|
-
var r = (t) => t ? new e(t.x / 1e3, t.z / 1e3, t.y / -1e3) : new e(0, 0, 0), i = (e) => new
|
|
3
|
+
var r = (t) => t ? new e(t.x / 1e3, t.z / 1e3, t.y / -1e3) : new e(0, 0, 0), i = (e) => new n(e.x, e.z, -e.y, "YXZ"), a = (t) => new e(t.x / 1e3, t.z / 1e3, t.y / 1e3), o = (e, t = 0) => {
|
|
4
4
|
if (t === 0) return {
|
|
5
5
|
x: Math.round(e.x * 1e3),
|
|
6
6
|
y: Math.round(e.z * -1e3),
|
|
@@ -31,22 +31,22 @@ var r = (t) => t ? new e(t.x / 1e3, t.z / 1e3, t.y / -1e3) : new e(0, 0, 0), i =
|
|
|
31
31
|
for (let r = 0; r < n; r++) t.push(e.get(r));
|
|
32
32
|
}
|
|
33
33
|
return t;
|
|
34
|
-
}, u = (
|
|
35
|
-
let r = new
|
|
34
|
+
}, u = (n) => {
|
|
35
|
+
let r = new t();
|
|
36
36
|
r.set(1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1), r.scale(new e(1 / 1e3, 1 / 1e3, 1 / 1e3));
|
|
37
|
-
let i = new
|
|
38
|
-
return i.set(1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1), i.scale(new e(1e3, 1e3, 1e3)), r.multiply(
|
|
37
|
+
let i = new t();
|
|
38
|
+
return i.set(1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1), i.scale(new e(1e3, 1e3, 1e3)), r.multiply(n).multiply(i);
|
|
39
39
|
}, d = (e) => {
|
|
40
|
-
let
|
|
41
|
-
return u(new
|
|
40
|
+
let n = c(e.m);
|
|
41
|
+
return u(new t().fromArray(n).transpose());
|
|
42
42
|
}, f = (e) => {
|
|
43
|
-
let
|
|
44
|
-
return
|
|
43
|
+
let n = new t(), r = c(e);
|
|
44
|
+
return n.fromArray(r), n.transpose(), u(n);
|
|
45
45
|
}, p = (e) => {
|
|
46
|
-
let
|
|
47
|
-
return
|
|
46
|
+
let n = new t();
|
|
47
|
+
return n.set(e[0], e[2], 0, e[4], e[1], e[3], 0, e[5], 0, 0, 1, 0, 0, 0, 0, 1), n;
|
|
48
48
|
};
|
|
49
49
|
//#endregion
|
|
50
50
|
export { r as a, p as c, o as i, d as n, a as o, i as r, f as s, c as t };
|
|
51
51
|
|
|
52
|
-
//# sourceMappingURL=kernel-utils-
|
|
52
|
+
//# sourceMappingURL=kernel-utils-BYKmP0mf.mjs.map
|