@roomle/web-sdk 5.1.0-alpha.1 → 5.1.0-alpha.3
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-Cd2ewNVQ.mjs → BufferGeometry-Bl5whHAB.mjs} +1 -1
- package/lib/{BufferGeometry-Cd2ewNVQ.mjs.map → BufferGeometry-Bl5whHAB.mjs.map} +1 -1
- package/lib/ConfiguratorKernel.js +2 -2
- package/lib/ConfiguratorKernel.wasm +0 -0
- package/lib/{GLTFExporter-n80QLoDf.mjs → GLTFExporter-yQ7mMauu.mjs} +1 -1
- package/lib/{GLTFExporter-n80QLoDf.mjs.map → GLTFExporter-yQ7mMauu.mjs.map} +1 -1
- package/lib/{GaussianBlurNode-Cwy3kx8H.mjs → GaussianBlurNode-DNBEf5-n.mjs} +14 -14
- package/lib/{GaussianBlurNode-Cwy3kx8H.mjs.map → GaussianBlurNode-DNBEf5-n.mjs.map} +1 -1
- package/lib/{PointLightHelper-DlPLsDNy.mjs → PointLightHelper-CuPSBuDU.mjs} +2 -2
- package/lib/{PointLightHelper-DlPLsDNy.mjs.map → PointLightHelper-CuPSBuDU.mjs.map} +1 -1
- package/lib/RoomleCore.wasm +0 -0
- package/lib/RoomleToolsCore.wasm +0 -0
- package/lib/{SpotLightHelper-YWHbVXAF.mjs → SpotLightHelper-m-Rh8vGU.mjs} +2 -2
- package/lib/{SpotLightHelper-YWHbVXAF.mjs.map → SpotLightHelper-m-Rh8vGU.mjs.map} +1 -1
- package/lib/{USDZExporter-Bm-c5e_n.mjs → USDZExporter-MdkuT226.mjs} +1 -1
- package/lib/{USDZExporter-Bm-c5e_n.mjs.map → USDZExporter-MdkuT226.mjs.map} +1 -1
- package/lib/{api-B5wIZIHt.mjs → api-KWh-ESd5.mjs} +2 -2
- package/lib/{api-B5wIZIHt.mjs.map → api-KWh-ESd5.mjs.map} +1 -1
- package/lib/{asset-loader.worker-CE4O0JU-.mjs → asset-loader.worker-CzI1oyTY.mjs} +1 -1
- package/lib/asset-loader.worker-CzI1oyTY.mjs.map +1 -0
- package/lib/{banana-for-scale-D0bw51dn.mjs → banana-for-scale-DpKXNBt_.mjs} +2 -2
- package/lib/{banana-for-scale-D0bw51dn.mjs.map → banana-for-scale-DpKXNBt_.mjs.map} +1 -1
- package/lib/{budgeteer.sw-yR2xApHT.mjs → budgeteer.sw-D80jTmYa.mjs} +1 -1
- package/lib/budgeteer.sw-D80jTmYa.mjs.map +1 -0
- package/lib/{component-dimensioning-VIUcXV7r.mjs → component-dimensioning-luQ3LgrU.mjs} +4 -4
- package/lib/{component-dimensioning-VIUcXV7r.mjs.map → component-dimensioning-luQ3LgrU.mjs.map} +1 -1
- package/lib/{component-raycast-helper-CEAdBcdx.mjs → component-raycast-helper-hj6sm7jw.mjs} +3 -3
- package/lib/{component-raycast-helper-CEAdBcdx.mjs.map → component-raycast-helper-hj6sm7jw.mjs.map} +1 -1
- package/lib/{configurator-CxlLvBCx.mjs → configurator-CQ7KsW0O.mjs} +4 -4
- package/lib/{configurator-CxlLvBCx.mjs.map → configurator-CQ7KsW0O.mjs.map} +1 -1
- package/lib/configurator-ymHt9qjg.mjs +2 -0
- package/lib/{continuous-drawing-helper-Dr1r-5N2.mjs → continuous-drawing-helper-DqHIR_qF.mjs} +1 -1
- package/lib/{continuous-drawing-helper-Dr1r-5N2.mjs.map → continuous-drawing-helper-DqHIR_qF.mjs.map} +1 -1
- package/lib/{dimensioning-helper-ChQDwSjn.mjs → dimensioning-helper-CGPjS2hW.mjs} +2 -2
- package/lib/{dimensioning-helper-ChQDwSjn.mjs.map → dimensioning-helper-CGPjS2hW.mjs.map} +1 -1
- package/lib/dimensioning-helper-VndKlIXS.mjs +2 -0
- package/lib/{glb-viewer-27e6wfY4.mjs → glb-viewer-BWMMzvuG.mjs} +4 -4
- package/lib/{glb-viewer-27e6wfY4.mjs.map → glb-viewer-BWMMzvuG.mjs.map} +1 -1
- package/lib/glb-viewer-D5QHd6Da.mjs +2 -0
- package/lib/{highlight-coordinator-C05kDjj5.mjs → highlight-coordinator-DYjBxYpy.mjs} +2 -2
- package/lib/{highlight-coordinator-C05kDjj5.mjs.map → highlight-coordinator-DYjBxYpy.mjs.map} +1 -1
- package/lib/{homag-intelligence-BRQ1WoQo.mjs → homag-intelligence-lbse0Y0v.mjs} +3 -3
- package/lib/{homag-intelligence-BRQ1WoQo.mjs.map → homag-intelligence-lbse0Y0v.mjs.map} +1 -1
- package/lib/hosek-wilkie-sky-iMar2iw-.mjs +3755 -0
- package/lib/hosek-wilkie-sky-iMar2iw-.mjs.map +1 -0
- package/lib/{imos-ix-poc-export-helper-DhxAAMc9.mjs → imos-ix-poc-export-helper-CyGqK7nu.mjs} +1 -1
- package/lib/{imos-ix-poc-export-helper-DhxAAMc9.mjs.map → imos-ix-poc-export-helper-CyGqK7nu.mjs.map} +1 -1
- package/lib/{layer-DaGoZ5YI.mjs → layer-DRMDGxT7.mjs} +2 -2
- package/lib/layer-DRMDGxT7.mjs.map +1 -0
- package/lib/{material-viewer-Byi5t7-x.mjs → material-viewer-BKTxh5Ui.mjs} +4 -4
- package/lib/{material-viewer-Byi5t7-x.mjs.map → material-viewer-BKTxh5Ui.mjs.map} +1 -1
- package/lib/{packages-3jOdcfbr.mjs → packages-B4K6xrdJ.mjs} +5 -5
- package/lib/{packages-3jOdcfbr.mjs.map → packages-B4K6xrdJ.mjs.map} +1 -1
- package/lib/planner-BM825oIz.mjs +2 -0
- package/lib/{planner-BeINcWRR.mjs → planner-HMMHSMAp.mjs} +3 -3
- package/lib/{planner-BeINcWRR.mjs.map → planner-HMMHSMAp.mjs.map} +1 -1
- package/lib/{plugin-system-DR5maiUo.mjs → plugin-system-CRaC04G5.mjs} +2 -2
- package/lib/{plugin-system-DR5maiUo.mjs.map → plugin-system-CRaC04G5.mjs.map} +1 -1
- package/lib/roomle-headless.d.ts +162 -4
- package/lib/roomle-headless.js +11 -11
- package/lib/roomle-renderer-Ato6RMrd.mjs.map +1 -1
- package/lib/{roomle-sdk-CsSQAqQG.mjs → roomle-sdk-5aB4wxLW.mjs} +3045 -2876
- package/lib/roomle-sdk-5aB4wxLW.mjs.map +1 -0
- package/lib/roomle-sdk.d.ts +162 -4
- package/lib/roomle-sdk.js +8 -8
- package/lib/{roomle-webgpu-renderer-BBE14A8V.mjs → roomle-webgpu-renderer-BfZKcXSz.mjs} +349 -344
- package/lib/{roomle-webgpu-renderer-BBE14A8V.mjs.map → roomle-webgpu-renderer-BfZKcXSz.mjs.map} +1 -1
- package/lib/{scene-renderer-B8SBMSQ7.mjs → scene-renderer-DXvavD4L.mjs} +3 -3
- package/lib/{scene-renderer-B8SBMSQ7.mjs.map → scene-renderer-DXvavD4L.mjs.map} +1 -1
- package/lib/{script-loader-Dx3gOiB3.mjs → script-loader-axxcKvph.mjs} +2 -2
- package/lib/{script-loader-Dx3gOiB3.mjs.map → script-loader-axxcKvph.mjs.map} +1 -1
- package/lib/src-Bbq3Hqzn.mjs +2 -0
- package/lib/src-HhklrVDg.mjs +1950 -0
- package/lib/src-HhklrVDg.mjs.map +1 -0
- 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/src/embind/configuratorCoreInterface.d.ts +16 -0
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.js +5 -1
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/configuratorCoreInterface.js.map +1 -1
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.d.ts +2 -8
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js +1 -5
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/src/embind/plannerCoreInterface.js.map +1 -1
- package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.js +2 -2
- 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-W654V5ay.mjs → stats-helper-BSmoG68E.mjs} +2 -2
- package/lib/{stats-helper-W654V5ay.mjs.map → stats-helper-BSmoG68E.mjs.map} +1 -1
- package/lib/three.tsl-BTc4fg8T.mjs +2 -0
- package/lib/{three.tsl-B7hcNZE8.mjs → three.tsl-Cf0-sCqB.mjs} +70 -66
- package/lib/{three.tsl-B7hcNZE8.mjs.map → three.tsl-Cf0-sCqB.mjs.map} +1 -1
- package/lib/{threejs-utils-WK7Uu2TS.mjs → threejs-utils-CLdyrCet.mjs} +14 -14
- package/lib/threejs-utils-CLdyrCet.mjs.map +1 -0
- package/lib/{tools-core-CWrR_N9g.mjs → tools-core-DusxT3AY.mjs} +3 -3
- package/lib/{tools-core-CWrR_N9g.mjs.map → tools-core-DusxT3AY.mjs.map} +1 -1
- package/lib/webgpu-BHAP6BLI.mjs +3140 -0
- package/lib/webgpu-BHAP6BLI.mjs.map +1 -0
- package/lib/workers-B_wmKVL0.mjs +6 -0
- package/lib/{workers-B-AqdQMe.mjs.map → workers-B_wmKVL0.mjs.map} +1 -1
- package/package.json +2 -2
- package/lib/asset-loader.worker-CE4O0JU-.mjs.map +0 -1
- package/lib/budgeteer.sw-yR2xApHT.mjs.map +0 -1
- package/lib/configurator-h8QoUnMz.mjs +0 -2
- package/lib/dimensioning-helper-BEGkpZFA.mjs +0 -2
- package/lib/glb-viewer-Dc2Tl8Ef.mjs +0 -2
- package/lib/layer-DaGoZ5YI.mjs.map +0 -1
- package/lib/planner-Ler1UMAp.mjs +0 -2
- package/lib/roomle-sdk-CsSQAqQG.mjs.map +0 -1
- package/lib/three.tsl-BBUCm-uB.mjs +0 -2
- package/lib/threejs-utils-WK7Uu2TS.mjs.map +0 -1
- package/lib/webgpu-DSecxaB8.mjs +0 -5084
- package/lib/webgpu-DSecxaB8.mjs.map +0 -1
- package/lib/workers-B-AqdQMe.mjs +0 -6
|
@@ -0,0 +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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"}
|
package/lib/{imos-ix-poc-export-helper-DhxAAMc9.mjs → imos-ix-poc-export-helper-CyGqK7nu.mjs}
RENAMED
|
@@ -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-CyGqK7nu.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imos-ix-poc-export-helper-DhxAAMc9.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-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,8 +1,8 @@
|
|
|
1
1
|
//#region packages/common-core/src/webgl/layer.ts
|
|
2
2
|
var e = /* @__PURE__ */ function(e) {
|
|
3
|
-
return e[e.DEFAULT = 0] = "DEFAULT", e[e.LIGHTING = 1] = "LIGHTING", e[e.BACKGROUND = 2] = "BACKGROUND", e[e.OBJECT = 3] = "OBJECT", e[e.COMPONENT = 4] = "COMPONENT", e[e.PREVIEW = 5] = "PREVIEW", e[e.UI = 6] = "UI", e[e.GIZMO = 7] = "GIZMO", e[e.DIMENSIONS = 8] = "DIMENSIONS", e[e.CONSTRUCTION = 9] = "CONSTRUCTION", e[e.TARGET = 10] = "TARGET", e;
|
|
3
|
+
return e[e.DEFAULT = 0] = "DEFAULT", e[e.LIGHTING = 1] = "LIGHTING", e[e.BACKGROUND = 2] = "BACKGROUND", e[e.OBJECT = 3] = "OBJECT", e[e.COMPONENT = 4] = "COMPONENT", e[e.PREVIEW = 5] = "PREVIEW", e[e.UI = 6] = "UI", e[e.GIZMO = 7] = "GIZMO", e[e.DIMENSIONS = 8] = "DIMENSIONS", e[e.CONSTRUCTION = 9] = "CONSTRUCTION", e[e.TARGET = 10] = "TARGET", e[e.SKY_SHADOW_ONLY = 11] = "SKY_SHADOW_ONLY", e;
|
|
4
4
|
}({});
|
|
5
5
|
//#endregion
|
|
6
6
|
export { e as t };
|
|
7
7
|
|
|
8
|
-
//# sourceMappingURL=layer-
|
|
8
|
+
//# sourceMappingURL=layer-DRMDGxT7.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer-DRMDGxT7.mjs","names":[],"sources":["../../packages/common-core/src/webgl/layer.ts"],"sourcesContent":["export const enum LAYER {\n DEFAULT,\n LIGHTING,\n BACKGROUND,\n OBJECT,\n COMPONENT,\n PREVIEW, //ghosts etc\n UI, //user interface/bounding boxes\n GIZMO, //rotation gizmo, etc\n DIMENSIONS,\n CONSTRUCTION, // walls, wall nodes\n TARGET, // only render this object\n SKY_SHADOW_ONLY, // only rendered by sky sunlight to cast shadow, otherwise invisible\n}\n\nexport default {};\n"],"mappings":";AAAA,IAAkB,IAAX,yBAAA,GAAA;QACL,EAAA,EAAA,UAAA,KAAA,WACA,EAAA,EAAA,WAAA,KAAA,YACA,EAAA,EAAA,aAAA,KAAA,cACA,EAAA,EAAA,SAAA,KAAA,UACA,EAAA,EAAA,YAAA,KAAA,aACA,EAAA,EAAA,UAAA,KAAA,WACA,EAAA,EAAA,KAAA,KAAA,MACA,EAAA,EAAA,QAAA,KAAA,SACA,EAAA,EAAA,aAAA,KAAA,cACA,EAAA,EAAA,eAAA,KAAA,gBACA,EAAA,EAAA,SAAA,MAAA,UACA,EAAA,EAAA,kBAAA,MAAA;KACD"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { G as e, M as t, P as n, d as r, k as i,
|
|
1
|
+
import { G as e, M as t, P as n, d as r, k as i, nt as a, u as o } from "./threejs-utils-CLdyrCet.mjs";
|
|
2
2
|
import { $r as s, An as c, cn as l, f as u, oi as d, p as f, w as p } from "./three.core-0KaTx8dm.mjs";
|
|
3
3
|
import { n as m, r as h, t as g } from "./decorate-Bl-JF_YY.mjs";
|
|
4
4
|
import { U as _ } from "./common-utils-DbL4tku0.mjs";
|
|
5
|
-
import { $ as v, H as y, I as b, L as x, T as S, V as C, X as w, Y as T, _ as E, ct as D, g as O, n as k, nt as A, ot as j, p as M, rt as N, st as P, tt as F, v as I } from "./roomle-sdk-
|
|
6
|
-
import { t as L } from "./script-loader-
|
|
5
|
+
import { $ as v, H as y, I as b, L as x, T as S, V as C, X as w, Y as T, _ as E, ct as D, g as O, n as k, nt as A, ot as j, p as M, rt as N, st as P, tt as F, v as I } from "./roomle-sdk-5aB4wxLW.mjs";
|
|
6
|
+
import { t as L } from "./script-loader-axxcKvph.mjs";
|
|
7
7
|
//#region packages/common-core/src/cameracontrol/material-viewer-camera-behaviour.ts
|
|
8
8
|
var R = class extends M {
|
|
9
9
|
get cameraControl() {
|
|
@@ -294,4 +294,4 @@ var U = class extends w {
|
|
|
294
294
|
//#endregion
|
|
295
295
|
export { G as MaterialViewer };
|
|
296
296
|
|
|
297
|
-
//# sourceMappingURL=material-viewer-
|
|
297
|
+
//# sourceMappingURL=material-viewer-BKTxh5Ui.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-viewer-Byi5t7-x.mjs","names":[],"sources":["../../packages/common-core/src/cameracontrol/material-viewer-camera-behaviour.ts","../../packages/material-viewer/src/webgl/material-viewer-scene-manager.ts","../../packages/material-viewer/src/roomle-material-viewer.ts","../../packages/material-viewer/src/roomle-material-viewer-ui-callback.ts","../../packages/material-viewer/src/utils/injectables.ts","../../packages/material-viewer/src/material-viewer.ts"],"sourcesContent":["import CameraBehaviour from './camera-behaviour';\nimport type AdjustableCameraControl3D from '../../../glb-viewer-core/src/camera-control/adjustable-camera-control-3d';\n\nexport default class MaterialViewerCameraBehaviour extends CameraBehaviour {\n public get cameraControl(): AdjustableCameraControl3D {\n return this._cameraControl as AdjustableCameraControl3D;\n }\n}\n","import SceneManager from '../../../common-core/src/webgl/scene-manager';\nimport type { GenericGUIParamFolder } from '../../../common-core/src/webgl/gui-types';\nimport type { RoomleWebGPURenderer } from '../../../common-core/src/webgpu/roomle-webgpu-renderer';\nimport type { CanvasOffset } from '../../../common-core/src/common-interfaces';\nimport type InputManager from '../../../common-core/src/input/input-manager';\nimport inject from '../../../common-core/src/di/inject';\nimport CameraControl3D from '../../../common-core/src/cameracontrol/camera-control-3d';\nimport type {\n RapiId,\n RapiMaterial,\n RapiMaterialShading,\n RapiTexture,\n} from '../../../typings/rapi-types';\nimport { RAPI_TEXTURE_TYPE } from '../../../typings/rapi-types';\nimport {\n addExistingTexture,\n addTexture,\n getWebGLGUI,\n getMaterialShading,\n setMaterial,\n getMaxTextures,\n} from '../../../common-core/src/utils/threejs-utils';\nimport { CAMERA_TYPE } from '../../../common-core/src/cameracontrol/camera-type';\nimport type ConfiguratorMeshGenerator from '../../../configurator-core/src/webgl/configurator-mesh-generator';\nimport type RoomleMaterialViewerUiCallback from '../roomle-material-viewer-ui-callback';\nimport BackgroundEnvironment from '../../../common-core/src/environment/background-environment';\nimport FloorEnvironment from '../../../configurator-core/src/webgl/environment/floor-environment';\nimport { type RapiAccess } from '../../../common-core/src/rapi-access';\nimport DynamicLightSettingLoader, {\n PREDEFINED_LIGHTSETTING,\n} from '../../../common-core/src/lightsetting/dynamic-light-setting-loader';\nimport { CANVAS_ID } from '../../../common-core/src/utils/dom-helper';\nimport type { Enumify } from '#/common/src/utils/types';\nimport type { MeshPhysicalMaterial } from 'three';\nimport {\n Box3,\n BoxGeometry,\n Color,\n DoubleSide,\n FrontSide,\n Mesh,\n PlaneGeometry,\n SphereGeometry,\n Texture,\n} from 'three';\nimport MaterialCreator from '../../../common-core/src/utils/material-creator';\nimport MaterialViewerCameraBehaviour from '../../../common-core/src/cameracontrol/material-viewer-camera-behaviour';\n\nexport const enum GEOMETRY {\n CUBE = 'cube',\n SPHERE = 'sphere',\n PLANE_VERTICAL = 'plane_vertical',\n PLANE_HORIZONTAL = 'plane_horizontal',\n}\n\nconst SIZE = { x: 1, y: 1, z: 1 };\nexport default class MaterialViewerSceneManager extends SceneManager {\n @inject\n private _inputManager: InputManager;\n\n @inject\n private _configuratorMeshGenerator: ConfiguratorMeshGenerator;\n\n @inject\n private _roomleMaterialViewerUiCallback: RoomleMaterialViewerUiCallback;\n\n @inject\n private _rapiAccess: RapiAccess;\n\n private _gui: GenericGUIParamFolder | null;\n private _guiGeometryFolder: GenericGUIParamFolder | undefined;\n private _guiMaterialFolder: GenericGUIParamFolder | undefined;\n private _mesh: Mesh;\n private _material: MeshPhysicalMaterial;\n private _sceneParams = {\n type: GEOMETRY.CUBE,\n };\n private _materialParams = {\n color: '#ffffff',\n metallic: 0.5,\n alpha: 0,\n alphaCutoff: 0,\n doubleSided: false,\n };\n\n constructor(creator: string, offset: CanvasOffset) {\n super(creator, offset, CANVAS_ID.RMV, CAMERA_TYPE.CAMERA_3D);\n\n // Use lazy initialization for renderer-dependent settings\n this._initializeRendererSettings();\n\n this._initScene();\n }\n\n // If renderer is not ready yet, will retry on next tick.\n // This is necessary for dynamic WebGPU renderer imports.\n private _initializeRendererSettings(): void {\n if (!this._renderer) {\n // Retry on next tick if renderer not ready\n setTimeout(() => this._initializeRendererSettings(), 0);\n return;\n }\n\n const maxTextures = getMaxTextures(this._renderer);\n if (maxTextures > 8) {\n const lightSource =\n DynamicLightSettingLoader.createDynamicLightSettingSource(\n null,\n PREDEFINED_LIGHTSETTING.CAMERA,\n );\n if (lightSource) {\n this.loadDynamicLightSetting(lightSource);\n }\n }\n }\n\n private _initScene() {\n const geometry = new BoxGeometry(SIZE.x, SIZE.y, SIZE.z, 100, 100, 100);\n const meshPhysicalMaterial = MaterialCreator.createMeshPhysicalMaterial({\n color: this._initData.colors.PRIMARY,\n });\n this._setMaterial(meshPhysicalMaterial);\n this._mesh = new Mesh(geometry, this._material);\n this._mesh.castShadow = true;\n this._mesh.position.setY(SIZE.y / 2);\n this._scene.add(this._mesh);\n\n const { initialFloorMaterial } = this._initData;\n\n if (initialFloorMaterial) {\n this.changeFloorMaterialById(initialFloorMaterial);\n } else {\n this._environment = new BackgroundEnvironment(\n this._scene,\n undefined,\n new Color(0xffffff),\n );\n }\n\n if (this.cameraBehaviour.cameraControl instanceof CameraControl3D) {\n const boundingBox = new Box3();\n boundingBox.setFromObject(this._mesh);\n console.trace('reset camera');\n this.cameraBehaviour.cameraControl.updateAndReset(boundingBox);\n }\n\n void this.showGUI();\n }\n\n public loadMaterialId(materialId: RapiId): Promise<void> {\n return new Promise<void>((resolve) => {\n this._configuratorMeshGenerator\n .loadMaterial(materialId, SIZE.x * 1000, SIZE.y * 1000)\n .then((material) => {\n this._setMaterial(material as MeshPhysicalMaterial);\n this._mesh.material = this._material;\n this._updateGUI();\n this._requestRender();\n resolve();\n });\n });\n }\n\n public loadMaterial(material: RapiMaterial): Promise<void> {\n return new Promise<void>((resolve) => {\n // eslint-disable-next-line\n if (!material.__rapi_path__) {\n // eslint-disable-next-line\n material.__rapi_path__ = 'materials';\n }\n this._mesh.material = this._material;\n this._configuratorMeshGenerator\n .loadTextures(material, this._material, SIZE.x * 100, SIZE.y * 100)\n .then(() => {\n this._updateGUI();\n this._requestRender();\n });\n resolve();\n });\n }\n\n public loadMaterialShading(\n materialShading: RapiMaterialShading,\n ): Promise<void> {\n return new Promise<void>((resolve) => {\n let material = { shading: materialShading };\n this._setMaterial(setMaterial(this._material, material as RapiMaterial));\n this._mesh.material = this._material;\n this._updateGUI();\n this._requestRender();\n resolve();\n });\n }\n\n private _setMaterial(material: MeshPhysicalMaterial) {\n this._material = material;\n this._materialParams.alpha = material.opacity;\n this._materialParams.alphaCutoff = material.alphaTest;\n this._materialParams.color = '#' + material.color.getHexString();\n this._materialParams.doubleSided = material.side === DoubleSide;\n this._materialParams.metallic =\n material.metalness === 1 ? 1 : material.reflectivity;\n }\n\n public getMaterialShading(version: number = 1): RapiMaterialShading {\n return getMaterialShading(this._material, version);\n }\n\n protected createCameraControl(\n _mode: Enumify<typeof CAMERA_TYPE>,\n _offset: CanvasOffset,\n ) {\n this._changeCameraBehaviour(\n new MaterialViewerCameraBehaviour(\n new CameraControl3D(this._creator_, this._getInputManager(), undefined),\n this._cameraBehaviourState,\n ),\n );\n }\n\n protected _getInputManager(): InputManager {\n return this._inputManager;\n }\n\n public sceneChanged(): void {\n //override when needed\n }\n\n public getBounds(): Box3 | null {\n if (!this._mesh) {\n return null;\n }\n return new Box3().setFromObject(this._mesh);\n }\n\n getGeometryBounds(): Box3 | null {\n return null;\n }\n\n protected initializeWebGLGUI() {\n this._gui = getWebGLGUI();\n this._updateGUI();\n }\n\n protected override initializeWebGPUGUI(\n roomleWebGPURenderer: RoomleWebGPURenderer,\n ): void {\n super.initializeWebGPUGUI(roomleWebGPURenderer);\n this._gui =\n roomleWebGPURenderer.getOrCreateGUIParameters('Material Viewer');\n this._updateGUI();\n }\n\n private _updateGUI() {\n const gui = this._gui;\n if (!gui) {\n return;\n }\n if (!this._guiGeometryFolder) {\n this._guiGeometryFolder = gui.addFolder('Geometry');\n this._guiGeometryFolder\n .add(this._sceneParams, 'type', {\n Cube: GEOMETRY.CUBE,\n Sphere: GEOMETRY.SPHERE,\n PlaneVertical: GEOMETRY.PLANE_VERTICAL,\n PlaneHorizontal: GEOMETRY.PLANE_HORIZONTAL,\n })\n .onChange((type: number) => {\n console.log(type);\n this._setGeometry();\n });\n }\n if (this._material) {\n if (!this._guiMaterialFolder) {\n this._guiMaterialFolder = gui.addFolder('Material');\n this._guiMaterialFolder\n .addColor(this._materialParams, 'color')\n .onChange((color: string) => {\n this._material.color = new Color(color);\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'metallic', 0, 1, 0.01)\n .onChange((metallic: number) => {\n this._material.metalness = metallic === 1 ? 1 : 0.5;\n this._material.reflectivity = metallic || 0.5;\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._material, 'roughness', 0, 1, 0.01)\n .onChange((_roughness: number) => {\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._material, 'transmission', 0, 1, 0.01)\n .onChange((transmission: number) => {\n this._material.transmission = transmission;\n if (transmission > 0) {\n this._material.opacity = 1;\n this._material.alphaTest = 0.5;\n this._material.depthWrite = true;\n this._material.metalness = 0;\n }\n this._mesh.castShadow = !this._material.transparent;\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'alpha', 0, 1, 0.01)\n .onChange((alpha: number) => {\n this._material.transparent = alpha < 1;\n this._material.opacity = alpha;\n this._material.depthWrite = alpha >= 1;\n this._mesh.castShadow = !this._material.transparent;\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'alphaCutoff', 0, 1, 0.01)\n .onChange((alphaCutoff: number) => {\n if (alphaCutoff) {\n this._material.alphaTest = alphaCutoff;\n } else {\n this._material.alphaTest = 0;\n }\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'doubleSided')\n .onChange((doubleSided: boolean) => {\n if (doubleSided) {\n this._material.side = DoubleSide;\n } else {\n this._material.side = FrontSide;\n }\n this._shadingChanged();\n });\n }\n }\n }\n\n private _shadingChanged() {\n this._roomleMaterialViewerUiCallback.onMaterialShadingChanged(\n getMaterialShading(this._material),\n );\n this._requestRender();\n }\n\n public setGeometry(type: GEOMETRY) {\n this._sceneParams.type = type;\n this._setGeometry();\n }\n\n private _setGeometry() {\n let geometry;\n if (this._sceneParams.type === GEOMETRY.CUBE) {\n geometry = new BoxGeometry(SIZE.x, SIZE.y, SIZE.z, 100, 100, 100);\n } else if (this._sceneParams.type === GEOMETRY.SPHERE) {\n geometry = new SphereGeometry(0.5, 100, 100);\n } else if (this._sceneParams.type === GEOMETRY.PLANE_HORIZONTAL) {\n geometry = new PlaneGeometry(SIZE.x, SIZE.z);\n geometry.rotateX(-Math.PI / 2);\n } else if (this._sceneParams.type === GEOMETRY.PLANE_VERTICAL) {\n geometry = new PlaneGeometry(SIZE.x, SIZE.z);\n } else {\n console.error(\n `MaterialViewerSceneManager: unexpected geometry type \"${this._sceneParams.type}\"`,\n );\n return;\n }\n this._mesh.geometry = geometry;\n this._renderEverything();\n }\n\n public async changeFloorMaterialById(materialId: string): Promise<void> {\n const material = await this._rapiAccess.getMaterial(materialId);\n if (\n !this._environment ||\n !(this._environment instanceof FloorEnvironment)\n ) {\n this._environment = new FloorEnvironment(\n this._scene,\n this._environment,\n !this._initData.webGpu,\n );\n }\n return new Promise((resolve, reject) => {\n (this._environment as FloorEnvironment)\n .changeFloorMaterial(material, this._maxAnisotropy)\n .then(() => {\n this._requestRender();\n resolve();\n }, reject);\n });\n }\n\n public async addTexture(rapiTexture: RapiTexture, base64Image?: string) {\n const width = SIZE.x * 100;\n const height = SIZE.y * 100;\n const repeatWidth =\n width / (rapiTexture.mmWidth === 0 ? 1 : rapiTexture.mmWidth);\n const repeatHeight =\n height / (rapiTexture.mmHeight === 0 ? 1 : rapiTexture.mmHeight);\n const maxTextures = getMaxTextures(this._renderer);\n if (base64Image) {\n const image = new Image();\n image.src = base64Image;\n const texture = new Texture();\n texture.image = image;\n image.onload = function () {\n texture.needsUpdate = true;\n };\n addExistingTexture(\n texture,\n rapiTexture,\n this._material,\n this._maxAnisotropy,\n repeatWidth,\n repeatHeight,\n maxTextures,\n );\n } else {\n await addTexture(\n rapiTexture.image,\n rapiTexture,\n this._material,\n this._maxAnisotropy,\n repeatWidth,\n repeatHeight,\n maxTextures,\n );\n }\n this._requestRender();\n }\n\n public removeTexture(rapiTexture: RapiTexture) {\n if (rapiTexture.mapping === RAPI_TEXTURE_TYPE.ORM) {\n this._material.aoMap = null;\n this._material.roughnessMap = null;\n this._material.metalnessMap = null;\n }\n if (\n rapiTexture.mapping === RAPI_TEXTURE_TYPE.RGB ||\n rapiTexture.mapping === RAPI_TEXTURE_TYPE.RGBA\n ) {\n this._material.map = null;\n }\n if (rapiTexture.mapping === RAPI_TEXTURE_TYPE.XYZ) {\n this._material.normalMap = null;\n }\n this._material.needsUpdate = true;\n this._requestRender();\n }\n\n public clearCache() {\n this._configuratorMeshGenerator.clear();\n }\n}\n","import type ScriptLoader from '../../common-core/src/script-loader';\nimport type DomHelper from '../../common-core/src/utils/dom-helper';\nimport inject from '../../common-core/src/di/inject';\nimport type { ExternalEmbeddable, GlobalAPI } from '../../common-core/src/main';\nimport type { Main } from '../../common-core/src/main';\nimport type { Context } from '../../common-core/src/di/context';\nimport type { LifeCycleManager } from '../../common-core/src/life-cycle-manager';\nimport type { SceneSettings } from '../../common-core/src/scene-settings-loader';\nimport type { GEOMETRY } from './webgl/material-viewer-scene-manager';\nimport MaterialViewerSceneManager from './webgl/material-viewer-scene-manager';\nimport type {\n RapiId,\n RapiMaterial,\n RapiMaterialShading,\n RapiTexture,\n} from '../../typings/rapi-types';\nimport type RoomleMaterialViewerUiCallback from './roomle-material-viewer-ui-callback';\nimport type { InitDataDefinition } from '../../common-core/src/utils/shims';\nimport type InitData from '../../common-core/src/utils/init-data';\nimport { type RapiAccess } from '../../common-core/src/rapi-access';\nimport type { CanvasOffset } from '../../common-core/src/common-interfaces';\nimport type UnitFormatter from '../../configurator-core/src/services/unit-formatter';\nimport type { Scene } from 'three';\nimport { type IdbManager } from '../../common-core/src/services/idb-manager';\nimport type { GlobalCallback } from '../../common-core/src/services/global-callback';\n\nexport default class RoomleMaterialViewer\n implements\n GlobalAPI,\n Context,\n ExternalEmbeddable<RoomleMaterialViewerUiCallback>\n{\n public _creator_: string;\n\n @inject\n private _domHelper: DomHelper;\n\n @inject\n private _scriptLoader: ScriptLoader;\n\n @inject\n private _lifeCycleManager: LifeCycleManager;\n\n @inject\n private _roomleMaterialViewerUiCallback: RoomleMaterialViewerUiCallback;\n\n @inject\n private _initData: InitData;\n\n @inject\n private _globalCallback: GlobalCallback;\n\n @inject\n private _rapiAccess: RapiAccess;\n\n @inject\n private _unitFormatter: UnitFormatter;\n\n @inject\n protected _idbManager: IdbManager;\n\n private _sceneManager: MaterialViewerSceneManager;\n\n constructor(creator: string) {\n this._creator_ = creator;\n }\n\n public setCameraOffset(offset: CanvasOffset): void {\n this._sceneManager.setCameraOffset(offset);\n }\n\n public getCameraOffset(): CanvasOffset {\n return this._sceneManager.getCameraOffset();\n }\n\n public init(element: HTMLElement): Promise<void> {\n this._domHelper.setDomElement(element);\n\n if (this._sceneManager) {\n this._lifeCycleManager.resume();\n return Promise.resolve();\n }\n\n return new Promise<void>(this._initPromiseCallback.bind(this));\n }\n\n private _initPromiseCallback(resolve: () => void, _reject: () => void) {\n this._sceneManager = new MaterialViewerSceneManager(this._creator_, {\n left: 0,\n top: 1,\n right: 1,\n bottom: 0,\n });\n this._sceneManager.enableHD();\n resolve();\n }\n\n get callbacks(): RoomleMaterialViewerUiCallback {\n return this._roomleMaterialViewerUiCallback;\n }\n\n set callbacks(callback: RoomleMaterialViewerUiCallback) {\n this._roomleMaterialViewerUiCallback = callback;\n }\n\n public loadMaterialShading(\n materialShading: RapiMaterialShading,\n ): Promise<void> {\n return this._sceneManager.loadMaterialShading(materialShading);\n }\n\n public loadMaterial(\n material: RapiMaterial,\n options: { flushCache?: boolean } = {},\n ): Promise<void> {\n if (options.flushCache) {\n this._clearCaches();\n }\n return this._sceneManager.loadMaterial(material);\n }\n\n public loadMaterialId(\n materialId: RapiId,\n options: { flushCache?: boolean } = {},\n ): Promise<void> {\n if (options.flushCache) {\n this._clearCaches();\n }\n return this._sceneManager.loadMaterialId(materialId);\n }\n\n public getMaterialShading(version: number = 1): RapiMaterialShading {\n return this._sceneManager.getMaterialShading(version);\n }\n\n /**\n * Loads a SceneSettings object, currently it can can contain a light setting definition\n * (see {@link @roomle/web-sdk/configurator-core/src/roomle-configurator#RoomleConfigurator.loadDynamicLightSetting}) and an environment definition (see {@link @roomle/web-sdk/configurator-core/src/environment/dynamic-environment-setting-loader#EnvironmentSetting}).\n * @param sceneSettings\n */\n public loadSceneSetting(sceneSettings: SceneSettings): Promise<void> {\n return this._sceneManager.loadSceneSettings(sceneSettings);\n }\n\n public setOverrides(initData: InitDataDefinition): void {\n if (!initData) {\n return;\n }\n this._initData.setOverrides(initData);\n }\n\n public updateSize(): void {\n this._sceneManager.updateCamera();\n }\n\n /**\n * Return the main class which has access to lifecycle events and RapiAccess.\n * Hidden because it's only useful for embedding API.\n * Has to be overridden by main class.\n * @hidden\n */\n public getMain(): Main | undefined {\n return undefined;\n }\n\n public resumeTest(element: HTMLElement) {\n this._domHelper.setDomElement(element);\n this._lifeCycleManager.resume();\n }\n\n public pauseTest() {\n this._lifeCycleManager.pause();\n }\n\n public showGUI() {\n this._sceneManager.showGUI();\n }\n\n /**\n * Sets the material of the floor to the given material id.\n * If the current environment is not floor environment it will be changed\n *\n * Example material ids are:\n * roomle_floor:DresdenEiche\n * roomle_floor:Ibiza\n * roomle_floor:Palma\n * roomle_floor:Elba\n * roomle_floor:Manacor\n * roomle_floor:KernEiche\n * roomle_floor:KieferScandic\n * roomle_floor:EicheHabsburg\n * roomle_floor:FuldaKiefer\n * roomle_floor:Ashton\n * roomle_floor:EicheLondon\n *\n * @param materialId\n * @returns promise that resolves when material has been changed\n */\n public async changeFloorMaterialById(materialId: string): Promise<void> {\n return this._sceneManager.changeFloorMaterialById(materialId);\n }\n\n /**\n * Set the geometry of the demo material mesh\n *\n * Possible parameter:\n * 'cube',\n * 'sphere',\n * 'plane_vertical',\n * 'plane_horizontal'\n *\n * @param type\n */\n public setGeometry(type: GEOMETRY) {\n this._sceneManager.setGeometry(type);\n }\n\n /**\n * Set a texture on the demo material, if no base64Image is set, the image field of rapiTexture is used\n * @param rapiTexture\n * @param base64Image for example \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPj/HwADBwIAMCbHYQAAAABJRU5ErkJggg==\"\n */\n public async addTexture(rapiTexture: RapiTexture, base64Image?: string) {\n return this._sceneManager.addTexture(rapiTexture, base64Image);\n }\n\n /**\n * Remove texture from the demo material\n * @param rapiTexture\n */\n public removeTexture(rapiTexture: RapiTexture) {\n return this._sceneManager.removeTexture(rapiTexture);\n }\n\n private _clearCaches() {\n this._rapiAccess.cleanUp();\n this._sceneManager.clearCache();\n }\n\n public getScene(): Scene {\n return this._sceneManager.getScene();\n }\n\n public updateScene(): void {\n this._sceneManager.updateScene();\n }\n\n /**\n * returns unit formatter for formatting input und output values in scene\n */\n public getUnitFormatter(): UnitFormatter {\n return this._unitFormatter;\n }\n\n /**\n * returns manager class to interface with indexedDB storage\n */\n public getStorage(): IdbManager {\n return this._idbManager;\n }\n\n public setEnvironmentMap(params: {\n url?: string;\n intensity?: number;\n rotation?: number;\n maxLightSources?: number;\n }): void {\n const { url, intensity, rotation, maxLightSources } = params;\n this._sceneManager.setEnvironmentMap(\n url,\n intensity,\n rotation,\n maxLightSources,\n );\n }\n\n /**\n * @internal\n * Use this callbacks to hook in your functionality\n */\n public get globalCallbacks(): GlobalCallback {\n return this._globalCallback;\n }\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { UiCallback } from '../../common-core/src/utils/ui-callback';\nimport type { RapiMaterialShading } from '../../typings/rapi-types';\n\nexport default class RoomleMaterialViewerUiCallback extends UiCallback {\n constructor(creator: string) {\n super(creator);\n }\n\n /**\n * Gets called when a material parameter has been changed using the graphical user interface\n * @param materialShading\n */\n public onMaterialShadingChanged = (\n materialShading: RapiMaterialShading,\n ): void => undefined;\n}\n","import Logger from '../../../common-core/src/logger';\nimport ScriptLoader from '../../../common-core/src/script-loader';\nimport {\n DependencyInjectionAssignment,\n DI_TYPE,\n} from '../../../common-core/src/di/container';\nimport InputManager from '../../../common-core/src/input/input-manager';\nimport ConfiguratorMeshGenerator from '../../../configurator-core/src/webgl/configurator-mesh-generator';\nimport { RapiAccess } from '../../../common-core/src/rapi-access';\nimport RoomleMaterialViewerUiCallback from '../roomle-material-viewer-ui-callback';\n\nexport const INJECTABLES: DependencyInjectionAssignment[] = [\n new DependencyInjectionAssignment('script-loader', ScriptLoader),\n new DependencyInjectionAssignment('logger', Logger),\n new DependencyInjectionAssignment(\n 'input-manager',\n InputManager,\n DI_TYPE.CONTEXT,\n ),\n new DependencyInjectionAssignment(\n 'configurator-mesh-generator',\n ConfiguratorMeshGenerator,\n ),\n new DependencyInjectionAssignment('rapi-access', RapiAccess),\n new DependencyInjectionAssignment(\n 'roomle-material-viewer-ui-callback',\n RoomleMaterialViewerUiCallback,\n DI_TYPE.CONTEXT,\n ),\n];\n","import './utils/global-definitions';\nimport { Main, BASE_CONTEXT } from '../../common-core/src/main';\nimport type Logger from '../../common-core/src/logger';\nimport RoomleDependencyInjection from '../../common-core/src/di/roomle-dependency-injection';\nimport RoomleMaterialViewer from './roomle-material-viewer';\nimport { INJECTABLES } from './utils/injectables';\n\nexport class MaterialViewer extends Main {\n private _viewer: RoomleMaterialViewer;\n\n protected setupGlobals(): void {\n //globals are initialized in bootFinished()\n }\n\n protected setupDependencies(): void {\n RoomleDependencyInjection.setup(INJECTABLES);\n this.lookup<Logger>('logger', this._context);\n }\n\n protected cleanUpGlobals(): void {\n throw new Error('Method not implemented.');\n }\n\n protected cleanUpDependencies(): void {\n throw new Error('Method not implemented.');\n }\n\n protected async bootFinished(): Promise<void> {\n this._viewer = new RoomleMaterialViewer(this._context);\n\n if (!window.RoomleMaterialViewer) {\n window.RoomleMaterialViewer = this._viewer;\n }\n }\n\n public getApi(): RoomleMaterialViewer {\n return this._viewer;\n }\n\n protected getContextName(): string {\n return BASE_CONTEXT.MATERIAL_VIEWER;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"material-viewer-BKTxh5Ui.mjs","names":[],"sources":["../../packages/common-core/src/cameracontrol/material-viewer-camera-behaviour.ts","../../packages/material-viewer/src/webgl/material-viewer-scene-manager.ts","../../packages/material-viewer/src/roomle-material-viewer.ts","../../packages/material-viewer/src/roomle-material-viewer-ui-callback.ts","../../packages/material-viewer/src/utils/injectables.ts","../../packages/material-viewer/src/material-viewer.ts"],"sourcesContent":["import CameraBehaviour from './camera-behaviour';\nimport type AdjustableCameraControl3D from '../../../glb-viewer-core/src/camera-control/adjustable-camera-control-3d';\n\nexport default class MaterialViewerCameraBehaviour extends CameraBehaviour {\n public get cameraControl(): AdjustableCameraControl3D {\n return this._cameraControl as AdjustableCameraControl3D;\n }\n}\n","import SceneManager from '../../../common-core/src/webgl/scene-manager';\nimport type { GenericGUIParamFolder } from '../../../common-core/src/webgl/gui-types';\nimport type { RoomleWebGPURenderer } from '../../../common-core/src/webgpu/roomle-webgpu-renderer';\nimport type { CanvasOffset } from '../../../common-core/src/common-interfaces';\nimport type InputManager from '../../../common-core/src/input/input-manager';\nimport inject from '../../../common-core/src/di/inject';\nimport CameraControl3D from '../../../common-core/src/cameracontrol/camera-control-3d';\nimport type {\n RapiId,\n RapiMaterial,\n RapiMaterialShading,\n RapiTexture,\n} from '../../../typings/rapi-types';\nimport { RAPI_TEXTURE_TYPE } from '../../../typings/rapi-types';\nimport {\n addExistingTexture,\n addTexture,\n getWebGLGUI,\n getMaterialShading,\n setMaterial,\n getMaxTextures,\n} from '../../../common-core/src/utils/threejs-utils';\nimport { CAMERA_TYPE } from '../../../common-core/src/cameracontrol/camera-type';\nimport type ConfiguratorMeshGenerator from '../../../configurator-core/src/webgl/configurator-mesh-generator';\nimport type RoomleMaterialViewerUiCallback from '../roomle-material-viewer-ui-callback';\nimport BackgroundEnvironment from '../../../common-core/src/environment/background-environment';\nimport FloorEnvironment from '../../../configurator-core/src/webgl/environment/floor-environment';\nimport { type RapiAccess } from '../../../common-core/src/rapi-access';\nimport DynamicLightSettingLoader, {\n PREDEFINED_LIGHTSETTING,\n} from '../../../common-core/src/lightsetting/dynamic-light-setting-loader';\nimport { CANVAS_ID } from '../../../common-core/src/utils/dom-helper';\nimport type { Enumify } from '#/common/src/utils/types';\nimport type { MeshPhysicalMaterial } from 'three';\nimport {\n Box3,\n BoxGeometry,\n Color,\n DoubleSide,\n FrontSide,\n Mesh,\n PlaneGeometry,\n SphereGeometry,\n Texture,\n} from 'three';\nimport MaterialCreator from '../../../common-core/src/utils/material-creator';\nimport MaterialViewerCameraBehaviour from '../../../common-core/src/cameracontrol/material-viewer-camera-behaviour';\n\nexport const enum GEOMETRY {\n CUBE = 'cube',\n SPHERE = 'sphere',\n PLANE_VERTICAL = 'plane_vertical',\n PLANE_HORIZONTAL = 'plane_horizontal',\n}\n\nconst SIZE = { x: 1, y: 1, z: 1 };\nexport default class MaterialViewerSceneManager extends SceneManager {\n @inject\n private _inputManager: InputManager;\n\n @inject\n private _configuratorMeshGenerator: ConfiguratorMeshGenerator;\n\n @inject\n private _roomleMaterialViewerUiCallback: RoomleMaterialViewerUiCallback;\n\n @inject\n private _rapiAccess: RapiAccess;\n\n private _gui: GenericGUIParamFolder | null;\n private _guiGeometryFolder: GenericGUIParamFolder | undefined;\n private _guiMaterialFolder: GenericGUIParamFolder | undefined;\n private _mesh: Mesh;\n private _material: MeshPhysicalMaterial;\n private _sceneParams = {\n type: GEOMETRY.CUBE,\n };\n private _materialParams = {\n color: '#ffffff',\n metallic: 0.5,\n alpha: 0,\n alphaCutoff: 0,\n doubleSided: false,\n };\n\n constructor(creator: string, offset: CanvasOffset) {\n super(creator, offset, CANVAS_ID.RMV, CAMERA_TYPE.CAMERA_3D);\n\n // Use lazy initialization for renderer-dependent settings\n this._initializeRendererSettings();\n\n this._initScene();\n }\n\n // If renderer is not ready yet, will retry on next tick.\n // This is necessary for dynamic WebGPU renderer imports.\n private _initializeRendererSettings(): void {\n if (!this._renderer) {\n // Retry on next tick if renderer not ready\n setTimeout(() => this._initializeRendererSettings(), 0);\n return;\n }\n\n const maxTextures = getMaxTextures(this._renderer);\n if (maxTextures > 8) {\n const lightSource =\n DynamicLightSettingLoader.createDynamicLightSettingSource(\n null,\n PREDEFINED_LIGHTSETTING.CAMERA,\n );\n if (lightSource) {\n this.loadDynamicLightSetting(lightSource);\n }\n }\n }\n\n private _initScene() {\n const geometry = new BoxGeometry(SIZE.x, SIZE.y, SIZE.z, 100, 100, 100);\n const meshPhysicalMaterial = MaterialCreator.createMeshPhysicalMaterial({\n color: this._initData.colors.PRIMARY,\n });\n this._setMaterial(meshPhysicalMaterial);\n this._mesh = new Mesh(geometry, this._material);\n this._mesh.castShadow = true;\n this._mesh.position.setY(SIZE.y / 2);\n this._scene.add(this._mesh);\n\n const { initialFloorMaterial } = this._initData;\n\n if (initialFloorMaterial) {\n this.changeFloorMaterialById(initialFloorMaterial);\n } else {\n this._environment = new BackgroundEnvironment(\n this._scene,\n undefined,\n new Color(0xffffff),\n );\n }\n\n if (this.cameraBehaviour.cameraControl instanceof CameraControl3D) {\n const boundingBox = new Box3();\n boundingBox.setFromObject(this._mesh);\n console.trace('reset camera');\n this.cameraBehaviour.cameraControl.updateAndReset(boundingBox);\n }\n\n void this.showGUI();\n }\n\n public loadMaterialId(materialId: RapiId): Promise<void> {\n return new Promise<void>((resolve) => {\n this._configuratorMeshGenerator\n .loadMaterial(materialId, SIZE.x * 1000, SIZE.y * 1000)\n .then((material) => {\n this._setMaterial(material as MeshPhysicalMaterial);\n this._mesh.material = this._material;\n this._updateGUI();\n this._requestRender();\n resolve();\n });\n });\n }\n\n public loadMaterial(material: RapiMaterial): Promise<void> {\n return new Promise<void>((resolve) => {\n // eslint-disable-next-line\n if (!material.__rapi_path__) {\n // eslint-disable-next-line\n material.__rapi_path__ = 'materials';\n }\n this._mesh.material = this._material;\n this._configuratorMeshGenerator\n .loadTextures(material, this._material, SIZE.x * 100, SIZE.y * 100)\n .then(() => {\n this._updateGUI();\n this._requestRender();\n });\n resolve();\n });\n }\n\n public loadMaterialShading(\n materialShading: RapiMaterialShading,\n ): Promise<void> {\n return new Promise<void>((resolve) => {\n let material = { shading: materialShading };\n this._setMaterial(setMaterial(this._material, material as RapiMaterial));\n this._mesh.material = this._material;\n this._updateGUI();\n this._requestRender();\n resolve();\n });\n }\n\n private _setMaterial(material: MeshPhysicalMaterial) {\n this._material = material;\n this._materialParams.alpha = material.opacity;\n this._materialParams.alphaCutoff = material.alphaTest;\n this._materialParams.color = '#' + material.color.getHexString();\n this._materialParams.doubleSided = material.side === DoubleSide;\n this._materialParams.metallic =\n material.metalness === 1 ? 1 : material.reflectivity;\n }\n\n public getMaterialShading(version: number = 1): RapiMaterialShading {\n return getMaterialShading(this._material, version);\n }\n\n protected createCameraControl(\n _mode: Enumify<typeof CAMERA_TYPE>,\n _offset: CanvasOffset,\n ) {\n this._changeCameraBehaviour(\n new MaterialViewerCameraBehaviour(\n new CameraControl3D(this._creator_, this._getInputManager(), undefined),\n this._cameraBehaviourState,\n ),\n );\n }\n\n protected _getInputManager(): InputManager {\n return this._inputManager;\n }\n\n public sceneChanged(): void {\n //override when needed\n }\n\n public getBounds(): Box3 | null {\n if (!this._mesh) {\n return null;\n }\n return new Box3().setFromObject(this._mesh);\n }\n\n getGeometryBounds(): Box3 | null {\n return null;\n }\n\n protected initializeWebGLGUI() {\n this._gui = getWebGLGUI();\n this._updateGUI();\n }\n\n protected override initializeWebGPUGUI(\n roomleWebGPURenderer: RoomleWebGPURenderer,\n ): void {\n super.initializeWebGPUGUI(roomleWebGPURenderer);\n this._gui =\n roomleWebGPURenderer.getOrCreateGUIParameters('Material Viewer');\n this._updateGUI();\n }\n\n private _updateGUI() {\n const gui = this._gui;\n if (!gui) {\n return;\n }\n if (!this._guiGeometryFolder) {\n this._guiGeometryFolder = gui.addFolder('Geometry');\n this._guiGeometryFolder\n .add(this._sceneParams, 'type', {\n Cube: GEOMETRY.CUBE,\n Sphere: GEOMETRY.SPHERE,\n PlaneVertical: GEOMETRY.PLANE_VERTICAL,\n PlaneHorizontal: GEOMETRY.PLANE_HORIZONTAL,\n })\n .onChange((type: number) => {\n console.log(type);\n this._setGeometry();\n });\n }\n if (this._material) {\n if (!this._guiMaterialFolder) {\n this._guiMaterialFolder = gui.addFolder('Material');\n this._guiMaterialFolder\n .addColor(this._materialParams, 'color')\n .onChange((color: string) => {\n this._material.color = new Color(color);\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'metallic', 0, 1, 0.01)\n .onChange((metallic: number) => {\n this._material.metalness = metallic === 1 ? 1 : 0.5;\n this._material.reflectivity = metallic || 0.5;\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._material, 'roughness', 0, 1, 0.01)\n .onChange((_roughness: number) => {\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._material, 'transmission', 0, 1, 0.01)\n .onChange((transmission: number) => {\n this._material.transmission = transmission;\n if (transmission > 0) {\n this._material.opacity = 1;\n this._material.alphaTest = 0.5;\n this._material.depthWrite = true;\n this._material.metalness = 0;\n }\n this._mesh.castShadow = !this._material.transparent;\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'alpha', 0, 1, 0.01)\n .onChange((alpha: number) => {\n this._material.transparent = alpha < 1;\n this._material.opacity = alpha;\n this._material.depthWrite = alpha >= 1;\n this._mesh.castShadow = !this._material.transparent;\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'alphaCutoff', 0, 1, 0.01)\n .onChange((alphaCutoff: number) => {\n if (alphaCutoff) {\n this._material.alphaTest = alphaCutoff;\n } else {\n this._material.alphaTest = 0;\n }\n this._shadingChanged();\n });\n this._guiMaterialFolder\n .add(this._materialParams, 'doubleSided')\n .onChange((doubleSided: boolean) => {\n if (doubleSided) {\n this._material.side = DoubleSide;\n } else {\n this._material.side = FrontSide;\n }\n this._shadingChanged();\n });\n }\n }\n }\n\n private _shadingChanged() {\n this._roomleMaterialViewerUiCallback.onMaterialShadingChanged(\n getMaterialShading(this._material),\n );\n this._requestRender();\n }\n\n public setGeometry(type: GEOMETRY) {\n this._sceneParams.type = type;\n this._setGeometry();\n }\n\n private _setGeometry() {\n let geometry;\n if (this._sceneParams.type === GEOMETRY.CUBE) {\n geometry = new BoxGeometry(SIZE.x, SIZE.y, SIZE.z, 100, 100, 100);\n } else if (this._sceneParams.type === GEOMETRY.SPHERE) {\n geometry = new SphereGeometry(0.5, 100, 100);\n } else if (this._sceneParams.type === GEOMETRY.PLANE_HORIZONTAL) {\n geometry = new PlaneGeometry(SIZE.x, SIZE.z);\n geometry.rotateX(-Math.PI / 2);\n } else if (this._sceneParams.type === GEOMETRY.PLANE_VERTICAL) {\n geometry = new PlaneGeometry(SIZE.x, SIZE.z);\n } else {\n console.error(\n `MaterialViewerSceneManager: unexpected geometry type \"${this._sceneParams.type}\"`,\n );\n return;\n }\n this._mesh.geometry = geometry;\n this._renderEverything();\n }\n\n public async changeFloorMaterialById(materialId: string): Promise<void> {\n const material = await this._rapiAccess.getMaterial(materialId);\n if (\n !this._environment ||\n !(this._environment instanceof FloorEnvironment)\n ) {\n this._environment = new FloorEnvironment(\n this._scene,\n this._environment,\n !this._initData.webGpu,\n );\n }\n return new Promise((resolve, reject) => {\n (this._environment as FloorEnvironment)\n .changeFloorMaterial(material, this._maxAnisotropy)\n .then(() => {\n this._requestRender();\n resolve();\n }, reject);\n });\n }\n\n public async addTexture(rapiTexture: RapiTexture, base64Image?: string) {\n const width = SIZE.x * 100;\n const height = SIZE.y * 100;\n const repeatWidth =\n width / (rapiTexture.mmWidth === 0 ? 1 : rapiTexture.mmWidth);\n const repeatHeight =\n height / (rapiTexture.mmHeight === 0 ? 1 : rapiTexture.mmHeight);\n const maxTextures = getMaxTextures(this._renderer);\n if (base64Image) {\n const image = new Image();\n image.src = base64Image;\n const texture = new Texture();\n texture.image = image;\n image.onload = function () {\n texture.needsUpdate = true;\n };\n addExistingTexture(\n texture,\n rapiTexture,\n this._material,\n this._maxAnisotropy,\n repeatWidth,\n repeatHeight,\n maxTextures,\n );\n } else {\n await addTexture(\n rapiTexture.image,\n rapiTexture,\n this._material,\n this._maxAnisotropy,\n repeatWidth,\n repeatHeight,\n maxTextures,\n );\n }\n this._requestRender();\n }\n\n public removeTexture(rapiTexture: RapiTexture) {\n if (rapiTexture.mapping === RAPI_TEXTURE_TYPE.ORM) {\n this._material.aoMap = null;\n this._material.roughnessMap = null;\n this._material.metalnessMap = null;\n }\n if (\n rapiTexture.mapping === RAPI_TEXTURE_TYPE.RGB ||\n rapiTexture.mapping === RAPI_TEXTURE_TYPE.RGBA\n ) {\n this._material.map = null;\n }\n if (rapiTexture.mapping === RAPI_TEXTURE_TYPE.XYZ) {\n this._material.normalMap = null;\n }\n this._material.needsUpdate = true;\n this._requestRender();\n }\n\n public clearCache() {\n this._configuratorMeshGenerator.clear();\n }\n}\n","import type ScriptLoader from '../../common-core/src/script-loader';\nimport type DomHelper from '../../common-core/src/utils/dom-helper';\nimport inject from '../../common-core/src/di/inject';\nimport type { ExternalEmbeddable, GlobalAPI } from '../../common-core/src/main';\nimport type { Main } from '../../common-core/src/main';\nimport type { Context } from '../../common-core/src/di/context';\nimport type { LifeCycleManager } from '../../common-core/src/life-cycle-manager';\nimport type { SceneSettings } from '../../common-core/src/scene-settings-loader';\nimport type { GEOMETRY } from './webgl/material-viewer-scene-manager';\nimport MaterialViewerSceneManager from './webgl/material-viewer-scene-manager';\nimport type {\n RapiId,\n RapiMaterial,\n RapiMaterialShading,\n RapiTexture,\n} from '../../typings/rapi-types';\nimport type RoomleMaterialViewerUiCallback from './roomle-material-viewer-ui-callback';\nimport type { InitDataDefinition } from '../../common-core/src/utils/shims';\nimport type InitData from '../../common-core/src/utils/init-data';\nimport { type RapiAccess } from '../../common-core/src/rapi-access';\nimport type { CanvasOffset } from '../../common-core/src/common-interfaces';\nimport type UnitFormatter from '../../configurator-core/src/services/unit-formatter';\nimport type { Scene } from 'three';\nimport { type IdbManager } from '../../common-core/src/services/idb-manager';\nimport type { GlobalCallback } from '../../common-core/src/services/global-callback';\n\nexport default class RoomleMaterialViewer\n implements\n GlobalAPI,\n Context,\n ExternalEmbeddable<RoomleMaterialViewerUiCallback>\n{\n public _creator_: string;\n\n @inject\n private _domHelper: DomHelper;\n\n @inject\n private _scriptLoader: ScriptLoader;\n\n @inject\n private _lifeCycleManager: LifeCycleManager;\n\n @inject\n private _roomleMaterialViewerUiCallback: RoomleMaterialViewerUiCallback;\n\n @inject\n private _initData: InitData;\n\n @inject\n private _globalCallback: GlobalCallback;\n\n @inject\n private _rapiAccess: RapiAccess;\n\n @inject\n private _unitFormatter: UnitFormatter;\n\n @inject\n protected _idbManager: IdbManager;\n\n private _sceneManager: MaterialViewerSceneManager;\n\n constructor(creator: string) {\n this._creator_ = creator;\n }\n\n public setCameraOffset(offset: CanvasOffset): void {\n this._sceneManager.setCameraOffset(offset);\n }\n\n public getCameraOffset(): CanvasOffset {\n return this._sceneManager.getCameraOffset();\n }\n\n public init(element: HTMLElement): Promise<void> {\n this._domHelper.setDomElement(element);\n\n if (this._sceneManager) {\n this._lifeCycleManager.resume();\n return Promise.resolve();\n }\n\n return new Promise<void>(this._initPromiseCallback.bind(this));\n }\n\n private _initPromiseCallback(resolve: () => void, _reject: () => void) {\n this._sceneManager = new MaterialViewerSceneManager(this._creator_, {\n left: 0,\n top: 1,\n right: 1,\n bottom: 0,\n });\n this._sceneManager.enableHD();\n resolve();\n }\n\n get callbacks(): RoomleMaterialViewerUiCallback {\n return this._roomleMaterialViewerUiCallback;\n }\n\n set callbacks(callback: RoomleMaterialViewerUiCallback) {\n this._roomleMaterialViewerUiCallback = callback;\n }\n\n public loadMaterialShading(\n materialShading: RapiMaterialShading,\n ): Promise<void> {\n return this._sceneManager.loadMaterialShading(materialShading);\n }\n\n public loadMaterial(\n material: RapiMaterial,\n options: { flushCache?: boolean } = {},\n ): Promise<void> {\n if (options.flushCache) {\n this._clearCaches();\n }\n return this._sceneManager.loadMaterial(material);\n }\n\n public loadMaterialId(\n materialId: RapiId,\n options: { flushCache?: boolean } = {},\n ): Promise<void> {\n if (options.flushCache) {\n this._clearCaches();\n }\n return this._sceneManager.loadMaterialId(materialId);\n }\n\n public getMaterialShading(version: number = 1): RapiMaterialShading {\n return this._sceneManager.getMaterialShading(version);\n }\n\n /**\n * Loads a SceneSettings object, currently it can can contain a light setting definition\n * (see {@link @roomle/web-sdk/configurator-core/src/roomle-configurator#RoomleConfigurator.loadDynamicLightSetting}) and an environment definition (see {@link @roomle/web-sdk/configurator-core/src/environment/dynamic-environment-setting-loader#EnvironmentSetting}).\n * @param sceneSettings\n */\n public loadSceneSetting(sceneSettings: SceneSettings): Promise<void> {\n return this._sceneManager.loadSceneSettings(sceneSettings);\n }\n\n public setOverrides(initData: InitDataDefinition): void {\n if (!initData) {\n return;\n }\n this._initData.setOverrides(initData);\n }\n\n public updateSize(): void {\n this._sceneManager.updateCamera();\n }\n\n /**\n * Return the main class which has access to lifecycle events and RapiAccess.\n * Hidden because it's only useful for embedding API.\n * Has to be overridden by main class.\n * @hidden\n */\n public getMain(): Main | undefined {\n return undefined;\n }\n\n public resumeTest(element: HTMLElement) {\n this._domHelper.setDomElement(element);\n this._lifeCycleManager.resume();\n }\n\n public pauseTest() {\n this._lifeCycleManager.pause();\n }\n\n public showGUI() {\n this._sceneManager.showGUI();\n }\n\n /**\n * Sets the material of the floor to the given material id.\n * If the current environment is not floor environment it will be changed\n *\n * Example material ids are:\n * roomle_floor:DresdenEiche\n * roomle_floor:Ibiza\n * roomle_floor:Palma\n * roomle_floor:Elba\n * roomle_floor:Manacor\n * roomle_floor:KernEiche\n * roomle_floor:KieferScandic\n * roomle_floor:EicheHabsburg\n * roomle_floor:FuldaKiefer\n * roomle_floor:Ashton\n * roomle_floor:EicheLondon\n *\n * @param materialId\n * @returns promise that resolves when material has been changed\n */\n public async changeFloorMaterialById(materialId: string): Promise<void> {\n return this._sceneManager.changeFloorMaterialById(materialId);\n }\n\n /**\n * Set the geometry of the demo material mesh\n *\n * Possible parameter:\n * 'cube',\n * 'sphere',\n * 'plane_vertical',\n * 'plane_horizontal'\n *\n * @param type\n */\n public setGeometry(type: GEOMETRY) {\n this._sceneManager.setGeometry(type);\n }\n\n /**\n * Set a texture on the demo material, if no base64Image is set, the image field of rapiTexture is used\n * @param rapiTexture\n * @param base64Image for example \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPj/HwADBwIAMCbHYQAAAABJRU5ErkJggg==\"\n */\n public async addTexture(rapiTexture: RapiTexture, base64Image?: string) {\n return this._sceneManager.addTexture(rapiTexture, base64Image);\n }\n\n /**\n * Remove texture from the demo material\n * @param rapiTexture\n */\n public removeTexture(rapiTexture: RapiTexture) {\n return this._sceneManager.removeTexture(rapiTexture);\n }\n\n private _clearCaches() {\n this._rapiAccess.cleanUp();\n this._sceneManager.clearCache();\n }\n\n public getScene(): Scene {\n return this._sceneManager.getScene();\n }\n\n public updateScene(): void {\n this._sceneManager.updateScene();\n }\n\n /**\n * returns unit formatter for formatting input und output values in scene\n */\n public getUnitFormatter(): UnitFormatter {\n return this._unitFormatter;\n }\n\n /**\n * returns manager class to interface with indexedDB storage\n */\n public getStorage(): IdbManager {\n return this._idbManager;\n }\n\n public setEnvironmentMap(params: {\n url?: string;\n intensity?: number;\n rotation?: number;\n maxLightSources?: number;\n }): void {\n const { url, intensity, rotation, maxLightSources } = params;\n this._sceneManager.setEnvironmentMap(\n url,\n intensity,\n rotation,\n maxLightSources,\n );\n }\n\n /**\n * @internal\n * Use this callbacks to hook in your functionality\n */\n public get globalCallbacks(): GlobalCallback {\n return this._globalCallback;\n }\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\n\nimport { UiCallback } from '../../common-core/src/utils/ui-callback';\nimport type { RapiMaterialShading } from '../../typings/rapi-types';\n\nexport default class RoomleMaterialViewerUiCallback extends UiCallback {\n constructor(creator: string) {\n super(creator);\n }\n\n /**\n * Gets called when a material parameter has been changed using the graphical user interface\n * @param materialShading\n */\n public onMaterialShadingChanged = (\n materialShading: RapiMaterialShading,\n ): void => undefined;\n}\n","import Logger from '../../../common-core/src/logger';\nimport ScriptLoader from '../../../common-core/src/script-loader';\nimport {\n DependencyInjectionAssignment,\n DI_TYPE,\n} from '../../../common-core/src/di/container';\nimport InputManager from '../../../common-core/src/input/input-manager';\nimport ConfiguratorMeshGenerator from '../../../configurator-core/src/webgl/configurator-mesh-generator';\nimport { RapiAccess } from '../../../common-core/src/rapi-access';\nimport RoomleMaterialViewerUiCallback from '../roomle-material-viewer-ui-callback';\n\nexport const INJECTABLES: DependencyInjectionAssignment[] = [\n new DependencyInjectionAssignment('script-loader', ScriptLoader),\n new DependencyInjectionAssignment('logger', Logger),\n new DependencyInjectionAssignment(\n 'input-manager',\n InputManager,\n DI_TYPE.CONTEXT,\n ),\n new DependencyInjectionAssignment(\n 'configurator-mesh-generator',\n ConfiguratorMeshGenerator,\n ),\n new DependencyInjectionAssignment('rapi-access', RapiAccess),\n new DependencyInjectionAssignment(\n 'roomle-material-viewer-ui-callback',\n RoomleMaterialViewerUiCallback,\n DI_TYPE.CONTEXT,\n ),\n];\n","import './utils/global-definitions';\nimport { Main, BASE_CONTEXT } from '../../common-core/src/main';\nimport type Logger from '../../common-core/src/logger';\nimport RoomleDependencyInjection from '../../common-core/src/di/roomle-dependency-injection';\nimport RoomleMaterialViewer from './roomle-material-viewer';\nimport { INJECTABLES } from './utils/injectables';\n\nexport class MaterialViewer extends Main {\n private _viewer: RoomleMaterialViewer;\n\n protected setupGlobals(): void {\n //globals are initialized in bootFinished()\n }\n\n protected setupDependencies(): void {\n RoomleDependencyInjection.setup(INJECTABLES);\n this.lookup<Logger>('logger', this._context);\n }\n\n protected cleanUpGlobals(): void {\n throw new Error('Method not implemented.');\n }\n\n protected cleanUpDependencies(): void {\n throw new Error('Method not implemented.');\n }\n\n protected async bootFinished(): Promise<void> {\n this._viewer = new RoomleMaterialViewer(this._context);\n\n if (!window.RoomleMaterialViewer) {\n window.RoomleMaterialViewer = this._viewer;\n }\n }\n\n public getApi(): RoomleMaterialViewer {\n return this._viewer;\n }\n\n protected getContextName(): string {\n return BASE_CONTEXT.MATERIAL_VIEWER;\n }\n}\n"],"mappings":";;;;;;;AAGA,IAAqB,IAArB,cAA2D,EAAgB;CACzE,IAAW,gBAA2C;AACpD,SAAO,KAAK;;GC2CE,IAAX,yBAAA,GAAA;QACL,EAAA,OAAA,QACA,EAAA,SAAA,UACA,EAAA,iBAAA,kBACA,EAAA,mBAAA;KACD,EAEK,IAAO;CAAE,GAAG;CAAG,GAAG;CAAG,GAAG;CAAG,EACZ,IAArB,cAAwD,EAAa;CA6BnE,YAAY,GAAiB,GAAsB;AAMjD,EALA,MAAM,GAAS,GAAQ,EAAU,KAAK,EAAY,UAAU,sBAZvC,EACrB,MAAM,EAAS,MAChB,yBACyB;GACxB,OAAO;GACP,UAAU;GACV,OAAO;GACP,aAAa;GACb,aAAa;GACd,EAMC,KAAK,6BAA6B,EAElC,KAAK,YAAY;;CAKnB,8BAA4C;AAC1C,MAAI,CAAC,KAAK,WAAW;AAEnB,oBAAiB,KAAK,6BAA6B,EAAE,EAAE;AACvD;;AAIF,MADoB,EAAe,KAAK,UAAU,GAChC,GAAG;GACnB,IAAM,IACJ,EAA0B,gCACxB,MACA,EAAwB,OACzB;AACH,GAAI,KACF,KAAK,wBAAwB,EAAY;;;CAK/C,aAAqB;EACnB,IAAM,IAAW,IAAI,EAAY,EAAK,GAAG,EAAK,GAAG,EAAK,GAAG,KAAK,KAAK,IAAI,EACjE,IAAuB,EAAgB,2BAA2B,EACtE,OAAO,KAAK,UAAU,OAAO,SAC9B,CAAC;AAKF,EAJA,KAAK,aAAa,EAAqB,EACvC,KAAK,QAAQ,IAAI,EAAK,GAAU,KAAK,UAAU,EAC/C,KAAK,MAAM,aAAa,IACxB,KAAK,MAAM,SAAS,KAAK,EAAK,IAAI,EAAE,EACpC,KAAK,OAAO,IAAI,KAAK,MAAM;EAE3B,IAAM,EAAE,4BAAyB,KAAK;AAYtC,MAVI,IACF,KAAK,wBAAwB,EAAqB,GAElD,KAAK,eAAe,IAAI,EACtB,KAAK,QACL,KAAA,GACA,IAAI,EAAM,SAAS,CACpB,EAGC,KAAK,gBAAgB,yBAAyB,GAAiB;GACjE,IAAM,IAAc,IAAI,GAAM;AAG9B,GAFA,EAAY,cAAc,KAAK,MAAM,EACrC,QAAQ,MAAM,eAAe,EAC7B,KAAK,gBAAgB,cAAc,eAAe,EAAY;;AAG3D,OAAK,SAAS;;CAGrB,eAAsB,GAAmC;AACvD,SAAO,IAAI,SAAe,MAAY;AACpC,QAAK,2BACF,aAAa,GAAY,EAAK,IAAI,KAAM,EAAK,IAAI,IAAK,CACtD,MAAM,MAAa;AAKlB,IAJA,KAAK,aAAa,EAAiC,EACnD,KAAK,MAAM,WAAW,KAAK,WAC3B,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,GAAS;KACT;IACJ;;CAGJ,aAAoB,GAAuC;AACzD,SAAO,IAAI,SAAe,MAAY;AAapC,GAXA,AAEE,EAAS,kBAAgB,aAE3B,KAAK,MAAM,WAAW,KAAK,WAC3B,KAAK,2BACF,aAAa,GAAU,KAAK,WAAW,EAAK,IAAI,KAAK,EAAK,IAAI,IAAI,CAClE,WAAW;AAEV,IADA,KAAK,YAAY,EACjB,KAAK,gBAAgB;KACrB,EACJ,GAAS;IACT;;CAGJ,oBACE,GACe;AACf,SAAO,IAAI,SAAe,MAAY;GACpC,IAAI,IAAW,EAAE,SAAS,GAAiB;AAK3C,GAJA,KAAK,aAAa,EAAY,KAAK,WAAW,EAAyB,CAAC,EACxE,KAAK,MAAM,WAAW,KAAK,WAC3B,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,GAAS;IACT;;CAGJ,aAAqB,GAAgC;AAMnD,EALA,KAAK,YAAY,GACjB,KAAK,gBAAgB,QAAQ,EAAS,SACtC,KAAK,gBAAgB,cAAc,EAAS,WAC5C,KAAK,gBAAgB,QAAQ,MAAM,EAAS,MAAM,cAAc,EAChE,KAAK,gBAAgB,cAAc,EAAS,SAAA,GAC5C,KAAK,gBAAgB,WACnB,EAAS,cAAc,IAAI,IAAI,EAAS;;CAG5C,mBAA0B,IAAkB,GAAwB;AAClE,SAAO,EAAmB,KAAK,WAAW,EAAQ;;CAGpD,oBACE,GACA,GACA;AACA,OAAK,uBACH,IAAI,EACF,IAAI,EAAgB,KAAK,WAAW,KAAK,kBAAkB,EAAE,KAAA,EAAU,EACvE,KAAK,sBACN,CACF;;CAGH,mBAA2C;AACzC,SAAO,KAAK;;CAGd,eAA4B;CAI5B,YAAgC;AAI9B,SAHK,KAAK,QAGH,IAAI,GAAM,CAAC,cAAc,KAAK,MAAM,GAFlC;;CAKX,oBAAiC;AAC/B,SAAO;;CAGT,qBAA+B;AAE7B,EADA,KAAK,OAAO,GAAa,EACzB,KAAK,YAAY;;CAGnB,oBACE,GACM;AAIN,EAHA,MAAM,oBAAoB,EAAqB,EAC/C,KAAK,OACH,EAAqB,yBAAyB,kBAAkB,EAClE,KAAK,YAAY;;CAGnB,aAAqB;EACnB,IAAM,IAAM,KAAK;AACZ,QAGA,KAAK,uBACR,KAAK,qBAAqB,EAAI,UAAU,WAAW,EACnD,KAAK,mBACF,IAAI,KAAK,cAAc,QAAQ;GAC9B,MAAM,EAAS;GACf,QAAQ,EAAS;GACjB,eAAe,EAAS;GACxB,iBAAiB,EAAS;GAC3B,CAAC,CACD,UAAU,MAAiB;AAE1B,GADA,QAAQ,IAAI,EAAK,EACjB,KAAK,cAAc;IACnB,GAEF,KAAK,cACF,KAAK,uBACR,KAAK,qBAAqB,EAAI,UAAU,WAAW,EACnD,KAAK,mBACF,SAAS,KAAK,iBAAiB,QAAQ,CACvC,UAAU,MAAkB;AAE3B,GADA,KAAK,UAAU,QAAQ,IAAI,EAAM,EAAM,EACvC,KAAK,iBAAiB;IACtB,EACJ,KAAK,mBACF,IAAI,KAAK,iBAAiB,YAAY,GAAG,GAAG,IAAK,CACjD,UAAU,MAAqB;AAG9B,GAFA,KAAK,UAAU,YAAY,MAAa,IAAI,IAAI,IAChD,KAAK,UAAU,eAAe,KAAY,IAC1C,KAAK,iBAAiB;IACtB,EACJ,KAAK,mBACF,IAAI,KAAK,WAAW,aAAa,GAAG,GAAG,IAAK,CAC5C,UAAU,MAAuB;AAChC,QAAK,iBAAiB;IACtB,EACJ,KAAK,mBACF,IAAI,KAAK,WAAW,gBAAgB,GAAG,GAAG,IAAK,CAC/C,UAAU,MAAyB;AASlC,GARA,KAAK,UAAU,eAAe,GAC1B,IAAe,MACjB,KAAK,UAAU,UAAU,GACzB,KAAK,UAAU,YAAY,IAC3B,KAAK,UAAU,aAAa,IAC5B,KAAK,UAAU,YAAY,IAE7B,KAAK,MAAM,aAAa,CAAC,KAAK,UAAU,aACxC,KAAK,iBAAiB;IACtB,EACJ,KAAK,mBACF,IAAI,KAAK,iBAAiB,SAAS,GAAG,GAAG,IAAK,CAC9C,UAAU,MAAkB;AAK3B,GAJA,KAAK,UAAU,cAAc,IAAQ,GACrC,KAAK,UAAU,UAAU,GACzB,KAAK,UAAU,aAAa,KAAS,GACrC,KAAK,MAAM,aAAa,CAAC,KAAK,UAAU,aACxC,KAAK,iBAAiB;IACtB,EACJ,KAAK,mBACF,IAAI,KAAK,iBAAiB,eAAe,GAAG,GAAG,IAAK,CACpD,UAAU,MAAwB;AAMjC,GALI,IACF,KAAK,UAAU,YAAY,IAE3B,KAAK,UAAU,YAAY,GAE7B,KAAK,iBAAiB;IACtB,EACJ,KAAK,mBACF,IAAI,KAAK,iBAAiB,cAAc,CACxC,UAAU,MAAyB;AAMlC,GALI,IACF,KAAK,UAAU,OAAA,IAEf,KAAK,UAAU,OAAA,GAEjB,KAAK,iBAAiB;IACtB;;CAKV,kBAA0B;AAIxB,EAHA,KAAK,gCAAgC,yBACnC,EAAmB,KAAK,UAAU,CACnC,EACD,KAAK,gBAAgB;;CAGvB,YAAmB,GAAgB;AAEjC,EADA,KAAK,aAAa,OAAO,GACzB,KAAK,cAAc;;CAGrB,eAAuB;EACrB,IAAI;AACJ,MAAI,KAAK,aAAa,SAAS,EAAS,KACtC,KAAW,IAAI,EAAY,EAAK,GAAG,EAAK,GAAG,EAAK,GAAG,KAAK,KAAK,IAAI;WACxD,KAAK,aAAa,SAAS,EAAS,OAC7C,KAAW,IAAI,EAAe,IAAK,KAAK,IAAI;WACnC,KAAK,aAAa,SAAS,EAAS,iBAE7C,CADA,IAAW,IAAI,EAAc,EAAK,GAAG,EAAK,EAAE,EAC5C,EAAS,QAAQ,CAAC,KAAK,KAAK,EAAE;WACrB,KAAK,aAAa,SAAS,EAAS,eAC7C,KAAW,IAAI,EAAc,EAAK,GAAG,EAAK,EAAE;OACvC;AACL,WAAQ,MACN,yDAAyD,KAAK,aAAa,KAAK,GACjF;AACD;;AAGF,EADA,KAAK,MAAM,WAAW,GACtB,KAAK,mBAAmB;;CAG1B,MAAa,wBAAwB,GAAmC;EACtE,IAAM,IAAW,MAAM,KAAK,YAAY,YAAY,EAAW;AAW/D,UATE,CAAC,KAAK,gBACN,EAAE,KAAK,wBAAwB,QAE/B,KAAK,eAAe,IAAI,EACtB,KAAK,QACL,KAAK,cACL,CAAC,KAAK,UAAU,OACjB,GAEI,IAAI,SAAS,GAAS,MAAW;AACrC,QAAK,aACH,oBAAoB,GAAU,KAAK,eAAe,CAClD,WAAW;AAEV,IADA,KAAK,gBAAgB,EACrB,GAAS;MACR,EAAO;IACZ;;CAGJ,MAAa,WAAW,GAA0B,GAAsB;EACtE,IAAM,IAAQ,EAAK,IAAI,KACjB,IAAS,EAAK,IAAI,KAClB,IACJ,KAAS,EAAY,YAAY,IAAI,IAAI,EAAY,UACjD,IACJ,KAAU,EAAY,aAAa,IAAI,IAAI,EAAY,WACnD,IAAc,EAAe,KAAK,UAAU;AAClD,MAAI,GAAa;GACf,IAAM,IAAQ,IAAI,OAAO;AACzB,KAAM,MAAM;GACZ,IAAM,IAAU,IAAI,GAAS;AAK7B,GAJA,EAAQ,QAAQ,GAChB,EAAM,SAAS,WAAY;AACzB,MAAQ,cAAc;MAExB,EACE,GACA,GACA,KAAK,WACL,KAAK,gBACL,GACA,GACA,EACD;QAED,OAAM,EACJ,EAAY,OACZ,GACA,KAAK,WACL,KAAK,gBACL,GACA,GACA,EACD;AAEH,OAAK,gBAAgB;;CAGvB,cAAqB,GAA0B;AAgB7C,EAfI,EAAY,YAAY,EAAkB,QAC5C,KAAK,UAAU,QAAQ,MACvB,KAAK,UAAU,eAAe,MAC9B,KAAK,UAAU,eAAe,QAG9B,EAAY,YAAY,EAAkB,OAC1C,EAAY,YAAY,EAAkB,UAE1C,KAAK,UAAU,MAAM,OAEnB,EAAY,YAAY,EAAkB,QAC5C,KAAK,UAAU,YAAY,OAE7B,KAAK,UAAU,cAAc,IAC7B,KAAK,gBAAgB;;CAGvB,aAAoB;AAClB,OAAK,2BAA2B,OAAO;;;GA5YxC,GAAA,EAAA,eAAA,OAAA,CAAA,EAAA,EAAA,WAAA,iBAAA,KAAA,EAAA,KAGA,GAAA,EAAA,eAAA,OAAA,CAAA,EAAA,EAAA,WAAA,8BAAA,KAAA,EAAA,KAGA,GAAA,EAAA,eAAA,OAAA,CAAA,EAAA,EAAA,WAAA,mCAAA,KAAA,EAAA,KAGA,GAAA,EAAA,eAAA,OAAA,CAAA,EAAA,EAAA,WAAA,eAAA,KAAA,EAAA;;;ACxCH,IAAqB,IAArB,MAKA;CAgCE,YAAY,GAAiB;AAC3B,OAAK,YAAY;;CAGnB,gBAAuB,GAA4B;AACjD,OAAK,cAAc,gBAAgB,EAAO;;CAG5C,kBAAuC;AACrC,SAAO,KAAK,cAAc,iBAAiB;;CAG7C,KAAY,GAAqC;AAQ/C,SAPA,KAAK,WAAW,cAAc,EAAQ,EAElC,KAAK,iBACP,KAAK,kBAAkB,QAAQ,EACxB,QAAQ,SAAS,IAGnB,IAAI,QAAc,KAAK,qBAAqB,KAAK,KAAK,CAAC;;CAGhE,qBAA6B,GAAqB,GAAqB;AAQrE,EAPA,KAAK,gBAAgB,IAAI,EAA2B,KAAK,WAAW;GAClE,MAAM;GACN,KAAK;GACL,OAAO;GACP,QAAQ;GACT,CAAC,EACF,KAAK,cAAc,UAAU,EAC7B,GAAS;;CAGX,IAAI,YAA4C;AAC9C,SAAO,KAAK;;CAGd,IAAI,UAAU,GAA0C;AACtD,OAAK,kCAAkC;;CAGzC,oBACE,GACe;AACf,SAAO,KAAK,cAAc,oBAAoB,EAAgB;;CAGhE,aACE,GACA,IAAoC,EAAE,EACvB;AAIf,SAHI,EAAQ,cACV,KAAK,cAAc,EAEd,KAAK,cAAc,aAAa,EAAS;;CAGlD,eACE,GACA,IAAoC,EAAE,EACvB;AAIf,SAHI,EAAQ,cACV,KAAK,cAAc,EAEd,KAAK,cAAc,eAAe,EAAW;;CAGtD,mBAA0B,IAAkB,GAAwB;AAClE,SAAO,KAAK,cAAc,mBAAmB,EAAQ;;CAQvD,iBAAwB,GAA6C;AACnE,SAAO,KAAK,cAAc,kBAAkB,EAAc;;CAG5D,aAAoB,GAAoC;AACjD,OAGL,KAAK,UAAU,aAAa,EAAS;;CAGvC,aAA0B;AACxB,OAAK,cAAc,cAAc;;CASnC,UAAmC;CAInC,WAAkB,GAAsB;AAEtC,EADA,KAAK,WAAW,cAAc,EAAQ,EACtC,KAAK,kBAAkB,QAAQ;;CAGjC,YAAmB;AACjB,OAAK,kBAAkB,OAAO;;CAGhC,UAAiB;AACf,OAAK,cAAc,SAAS;;CAuB9B,MAAa,wBAAwB,GAAmC;AACtE,SAAO,KAAK,cAAc,wBAAwB,EAAW;;CAc/D,YAAmB,GAAgB;AACjC,OAAK,cAAc,YAAY,EAAK;;CAQtC,MAAa,WAAW,GAA0B,GAAsB;AACtE,SAAO,KAAK,cAAc,WAAW,GAAa,EAAY;;CAOhE,cAAqB,GAA0B;AAC7C,SAAO,KAAK,cAAc,cAAc,EAAY;;CAGtD,eAAuB;AAErB,EADA,KAAK,YAAY,SAAS,EAC1B,KAAK,cAAc,YAAY;;CAGjC,WAAyB;AACvB,SAAO,KAAK,cAAc,UAAU;;CAGtC,cAA2B;AACzB,OAAK,cAAc,aAAa;;CAMlC,mBAAyC;AACvC,SAAO,KAAK;;CAMd,aAAgC;AAC9B,SAAO,KAAK;;CAGd,kBAAyB,GAKhB;EACP,IAAM,EAAE,QAAK,cAAW,aAAU,uBAAoB;AACtD,OAAK,cAAc,kBACjB,GACA,GACA,GACA,EACD;;CAOH,IAAW,kBAAkC;AAC3C,SAAO,KAAK;;;GAvPb,GAAA,EAAA,eAAA,OAAA,CAAA,EAAA,EAAA,WAAA,cAAA,KAAA,EAAA,KAGA,GAAA,EAAA,eAAA,OAAA,CAAA,EAAA,EAAA,WAAA,iBAAA,KAAA,EAAA,KAGA,GAAA,EAAA,eAAA,OAAA,CAAA,EAAA,EAAA,WAAA,qBAAA,KAAA,EAAA,KAGA,GAAA,EAAA,eAAA,OAAA,CAAA,EAAA,EAAA,WAAA,mCAAA,KAAA,EAAA,KAGA,GAAA,EAAA,eAAA,OAAA,CAAA,EAAA,EAAA,WAAA,aAAA,KAAA,EAAA,KAGA,GAAA,EAAA,eAAA,OAAA,CAAA,EAAA,EAAA,WAAA,mBAAA,KAAA,EAAA,KAGA,GAAA,EAAA,eAAA,OAAA,CAAA,EAAA,EAAA,WAAA,eAAA,KAAA,EAAA,KAGA,GAAA,EAAA,eAAA,OAAA,CAAA,EAAA,EAAA,WAAA,kBAAA,KAAA,EAAA,KAGA,GAAA,EAAA,eAAA,OAAA,CAAA,EAAA,EAAA,WAAA,eAAA,KAAA,EAAA;;;ACrDH,IAAqB,IAArB,cAA4D,EAAW;CACrE,YAAY,GAAiB;EAC3B,MAAM,EAAQ,mCAQd,MACS,KAAA;;GCLA,IAA+C;CAC1D,IAAI,EAA8B,iBAAiB,EAAa;CAChE,IAAI,EAA8B,UAAU,EAAO;CACnD,IAAI,EACF,iBACA,GACA,EAAQ,QACT;CACD,IAAI,EACF,+BACA,EACD;CACD,IAAI,EAA8B,eAAe,EAAW;CAC5D,IAAI,EACF,sCACA,GACA,EAAQ,QACT;CACF,ECtBY,IAAb,cAAoC,EAAK;CAGvC,eAA+B;CAI/B,oBAAoC;AAElC,EADA,EAA0B,MAAM,EAAY,EAC5C,KAAK,OAAe,UAAU,KAAK,SAAS;;CAG9C,iBAAiC;AAC/B,QAAU,MAAM,0BAA0B;;CAG5C,sBAAsC;AACpC,QAAU,MAAM,0BAA0B;;CAG5C,MAAgB,eAA8B;AAG5C,EAFA,KAAK,UAAU,IAAI,EAAqB,KAAK,SAAS,EAEjD,OAAO,yBACV,OAAO,uBAAuB,KAAK;;CAIvC,SAAsC;AACpC,SAAO,KAAK;;CAGd,iBAAmC;AACjC,SAAO,EAAa"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import "./roomle-sdk-
|
|
2
|
-
import "./configurator-
|
|
3
|
-
import "./planner-
|
|
4
|
-
import "./glb-viewer-
|
|
1
|
+
import "./roomle-sdk-5aB4wxLW.mjs";
|
|
2
|
+
import "./configurator-CQ7KsW0O.mjs";
|
|
3
|
+
import "./planner-HMMHSMAp.mjs";
|
|
4
|
+
import "./glb-viewer-BWMMzvuG.mjs";
|
|
5
5
|
//#region ../common/src/utils/id-inferrer.ts
|
|
6
6
|
var e = (e) => e.split(":").length - 1 == 1, t = (e) => e.split(":").length - 1 <= 0, n = (e) => e ? e.startsWith("component@") : !1, r = (e) => e.startsWith("{") && e.endsWith("}"), i = (e) => e.startsWith("ps_");
|
|
7
7
|
//#endregion
|
|
8
8
|
export { i as a, e as i, r as n, t as r, n as t };
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=packages-
|
|
10
|
+
//# sourceMappingURL=packages-B4K6xrdJ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packages-
|
|
1
|
+
{"version":3,"file":"packages-B4K6xrdJ.mjs","names":[],"sources":["../../../common/src/utils/id-inferrer.ts"],"sourcesContent":["import type { RapiId, RapiPlanSnapshotId } from '@roomle/web-sdk';\n\nexport const isIdAnItem = (id: string) => id.split(':').length - 1 === 1;\n\nexport const isIdAPlan = (id: string) => id.split(':').length - 1 <= 0;\n\nexport const isIdAComponent = (id: string) =>\n id ? id.startsWith('component@') : false;\n\nexport const isIdAConfigurationString = (id: string) =>\n id.startsWith('{') && id.endsWith('}');\n\nexport const isPlanSnapshotId = (\n id: string | RapiId,\n): id is RapiPlanSnapshotId => id.startsWith('ps_');\n"],"mappings":";;;;;AAEA,IAAa,KAAc,MAAe,EAAG,MAAM,IAAI,CAAC,SAAS,KAAM,GAE1D,KAAa,MAAe,EAAG,MAAM,IAAI,CAAC,SAAS,KAAK,GAExD,KAAkB,MAC7B,IAAK,EAAG,WAAW,aAAa,GAAG,IAExB,KAA4B,MACvC,EAAG,WAAW,IAAI,IAAI,EAAG,SAAS,IAAI,EAE3B,KACX,MAC6B,EAAG,WAAW,MAAM"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as e, C as t, H as n, I as r, V as i, Z as a, c as o, ct as s, ft as c, n as l, ot as u, st as d, tt as f, u as p, w as m } from "./roomle-sdk-
|
|
2
|
-
import { t as h } from "./script-loader-
|
|
1
|
+
import { A as e, C as t, H as n, I as r, V as i, Z as a, c as o, ct as s, ft as c, n as l, ot as u, st as d, tt as f, u as p, w as m } from "./roomle-sdk-5aB4wxLW.mjs";
|
|
2
|
+
import { t as h } from "./script-loader-axxcKvph.mjs";
|
|
3
3
|
//#region packages/planner-core/src/input/planner-input-manager.ts
|
|
4
4
|
var g = class extends r {
|
|
5
5
|
_canDrag(e) {
|
|
@@ -41,4 +41,4 @@ var g = class extends r {
|
|
|
41
41
|
//#endregion
|
|
42
42
|
export { v as t };
|
|
43
43
|
|
|
44
|
-
//# sourceMappingURL=planner-
|
|
44
|
+
//# sourceMappingURL=planner-HMMHSMAp.mjs.map
|