@roomle/web-sdk 3.10.0-alpha.2 → 3.10.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.
Files changed (119) hide show
  1. package/lib/{BufferGeometry-Dxcf7n9V.mjs → BufferGeometry-Dj5loCTL.mjs} +2 -2
  2. package/lib/{BufferGeometry-Dxcf7n9V.mjs.map → BufferGeometry-Dj5loCTL.mjs.map} +1 -1
  3. package/lib/ConfiguratorKernel.wasm +0 -0
  4. package/lib/{GLTFExporter-kpv1e-Ks.mjs → GLTFExporter-CquK-kkI.mjs} +1 -1
  5. package/lib/{GLTFExporter-kpv1e-Ks.mjs.map → GLTFExporter-CquK-kkI.mjs.map} +1 -1
  6. package/lib/{GaussianBlurNode-CMVlBe39.mjs → GaussianBlurNode-CDYPio-x.mjs} +3 -3
  7. package/lib/{GaussianBlurNode-CMVlBe39.mjs.map → GaussianBlurNode-CDYPio-x.mjs.map} +1 -1
  8. package/lib/{Object3D-BZaiqQIE.mjs → Object3D-YXSPdGeJ.mjs} +1 -1
  9. package/lib/{Object3D-BZaiqQIE.mjs.map → Object3D-YXSPdGeJ.mjs.map} +1 -1
  10. package/lib/{PointLightHelper-fzRB58rC.mjs → PointLightHelper-g98giMRd.mjs} +4 -4
  11. package/lib/{PointLightHelper-fzRB58rC.mjs.map → PointLightHelper-g98giMRd.mjs.map} +1 -1
  12. package/lib/RoomleCore.wasm +0 -0
  13. package/lib/RoomleToolsCore.wasm +0 -0
  14. package/lib/{SpotLightHelper-D5UFwRPb.mjs → SpotLightHelper-xR8lCZau.mjs} +3 -3
  15. package/lib/{SpotLightHelper-D5UFwRPb.mjs.map → SpotLightHelper-xR8lCZau.mjs.map} +1 -1
  16. package/lib/{USDZExporter-Y0SSGr5_.mjs → USDZExporter-BMqBymZI.mjs} +2 -2
  17. package/lib/{USDZExporter-Y0SSGr5_.mjs.map → USDZExporter-BMqBymZI.mjs.map} +1 -1
  18. package/lib/{Vector4-BfZH1ecw.mjs → Vector4-CqzXUndP.mjs} +2 -2
  19. package/lib/{Vector4-BfZH1ecw.mjs.map → Vector4-CqzXUndP.mjs.map} +1 -1
  20. package/lib/{api-BXU3pZnX.mjs → api-BlFJIGaV.mjs} +2 -2
  21. package/lib/{api-BXU3pZnX.mjs.map → api-BlFJIGaV.mjs.map} +1 -1
  22. package/lib/{asset-loader.worker-C911tbNL.mjs → asset-loader.worker-CHyN7JB1.mjs} +1 -1
  23. package/lib/{asset-loader.worker-C911tbNL.mjs.map → asset-loader.worker-CHyN7JB1.mjs.map} +1 -1
  24. package/lib/{banana-for-scale-B_LIHI9q.mjs → banana-for-scale-Cs2s9dNp.mjs} +3 -3
  25. package/lib/{banana-for-scale-B_LIHI9q.mjs.map → banana-for-scale-Cs2s9dNp.mjs.map} +1 -1
  26. package/lib/{budgeteer.sw-D3VxiASa.mjs → budgeteer.sw-BCLEIWCW.mjs} +1 -1
  27. package/lib/budgeteer.sw-BCLEIWCW.mjs.map +1 -0
  28. package/lib/{common-utils-B9PC_rvS.mjs → common-utils-DMk5jc_R.mjs} +1 -1
  29. package/lib/{common-utils-B9PC_rvS.mjs.map → common-utils-DMk5jc_R.mjs.map} +1 -1
  30. package/lib/{component-dimensioning-5iIw1f_3.mjs → component-dimensioning-DcmDM6gV.mjs} +6 -6
  31. package/lib/{component-dimensioning-5iIw1f_3.mjs.map → component-dimensioning-DcmDM6gV.mjs.map} +1 -1
  32. package/lib/{component-raycast-helper-O27_buEg.mjs → component-raycast-helper-CXN2MHtG.mjs} +4 -4
  33. package/lib/{component-raycast-helper-O27_buEg.mjs.map → component-raycast-helper-CXN2MHtG.mjs.map} +1 -1
  34. package/lib/configurator-B8jcqVX9.mjs +2 -0
  35. package/lib/{configurator-BwxEIDv7.mjs → configurator-BkQ6h239.mjs} +4 -4
  36. package/lib/{configurator-BwxEIDv7.mjs.map → configurator-BkQ6h239.mjs.map} +1 -1
  37. package/lib/{continuous-drawing-helper-D25YPUle.mjs → continuous-drawing-helper-BlGATN0C.mjs} +2 -2
  38. package/lib/{continuous-drawing-helper-D25YPUle.mjs.map → continuous-drawing-helper-BlGATN0C.mjs.map} +1 -1
  39. package/lib/{dat.gui.module-CZ-DIWHM.mjs → dat.gui.module-BLjoST8r.mjs} +1 -1
  40. package/lib/{dat.gui.module-CZ-DIWHM.mjs.map → dat.gui.module-BLjoST8r.mjs.map} +1 -1
  41. package/lib/{decorate-C9r0zXzz.mjs → decorate-CTUwswpM.mjs} +1 -1
  42. package/lib/{decorate-C9r0zXzz.mjs.map → decorate-CTUwswpM.mjs.map} +1 -1
  43. package/lib/dimensioning-helper-BwBj5QDM.mjs +2 -0
  44. package/lib/{dimensioning-helper-d6JA4UMr.mjs → dimensioning-helper-DMop5qcu.mjs} +4 -4
  45. package/lib/{dimensioning-helper-d6JA4UMr.mjs.map → dimensioning-helper-DMop5qcu.mjs.map} +1 -1
  46. package/lib/dist-DGov-RNo.mjs +438 -0
  47. package/lib/dist-DGov-RNo.mjs.map +1 -0
  48. package/lib/{fflate.module-CBz7CLOg.mjs → fflate.module-n0Jozp8Z.mjs} +1 -1
  49. package/lib/{fflate.module-CBz7CLOg.mjs.map → fflate.module-n0Jozp8Z.mjs.map} +1 -1
  50. package/lib/{glb-viewer-C0Et5SO6.mjs → glb-viewer-D58flqDh.mjs} +6 -6
  51. package/lib/{glb-viewer-C0Et5SO6.mjs.map → glb-viewer-D58flqDh.mjs.map} +1 -1
  52. package/lib/glb-viewer-Dg3F2Tz1.mjs +2 -0
  53. package/lib/{highlight-coordinator-DdQ8yNjO.mjs → highlight-coordinator-CTZ_qcde.mjs} +2 -2
  54. package/lib/{highlight-coordinator-DdQ8yNjO.mjs.map → highlight-coordinator-CTZ_qcde.mjs.map} +1 -1
  55. package/lib/{homag-intelligence-DrKayEjK.mjs → homag-intelligence-D7L2SS4z.mjs} +3 -3
  56. package/lib/{homag-intelligence-DrKayEjK.mjs.map → homag-intelligence-D7L2SS4z.mjs.map} +1 -1
  57. package/lib/{imos-ix-poc-export-helper-DU0ag-Lw.mjs → imos-ix-poc-export-helper-D2KaQu_v.mjs} +3 -3
  58. package/lib/{imos-ix-poc-export-helper-DU0ag-Lw.mjs.map → imos-ix-poc-export-helper-D2KaQu_v.mjs.map} +1 -1
  59. package/lib/{kernel-utils-Cj5B4fDD.mjs → kernel-utils-042AuCQh.mjs} +1 -1
  60. package/lib/{kernel-utils-Cj5B4fDD.mjs.map → kernel-utils-042AuCQh.mjs.map} +1 -1
  61. package/lib/{layer-C_JtkhdO.mjs → layer-CFAr2mK_.mjs} +1 -1
  62. package/lib/{layer-C_JtkhdO.mjs.map → layer-CFAr2mK_.mjs.map} +1 -1
  63. package/lib/{main-D2BulNeN.mjs → main-C2m_IBXL.mjs} +2901 -2907
  64. package/lib/main-C2m_IBXL.mjs.map +1 -0
  65. package/lib/{material-viewer-CZQwo8Nc.mjs → material-viewer-BJs0W2Gk.mjs} +6 -6
  66. package/lib/{material-viewer-CZQwo8Nc.mjs.map → material-viewer-BJs0W2Gk.mjs.map} +1 -1
  67. package/lib/packages-D6zM0aDK.mjs +4 -0
  68. package/lib/{planner-OgIPgZ1m.mjs → planner-B9YA9cmz.mjs} +3 -3
  69. package/lib/{planner-OgIPgZ1m.mjs.map → planner-B9YA9cmz.mjs.map} +1 -1
  70. package/lib/planner-DJnqYqvP.mjs +2 -0
  71. package/lib/{plugin-system-DlME_5b_.mjs → plugin-system-DRpL0Rer.mjs} +3 -3
  72. package/lib/{plugin-system-DlME_5b_.mjs.map → plugin-system-DRpL0Rer.mjs.map} +1 -1
  73. package/lib/{roomle-headless-setup-CMK-quZI.mjs → roomle-headless-setup-Cc8EAnVe.mjs} +1 -1
  74. package/lib/{roomle-headless-setup-CMK-quZI.mjs.map → roomle-headless-setup-Cc8EAnVe.mjs.map} +1 -1
  75. package/lib/roomle-headless.d.ts +69 -29
  76. package/lib/roomle-headless.js +9 -9
  77. package/lib/{roomle-renderer-DYQvV88j.mjs → roomle-renderer-BD3ZmpLS.mjs} +23 -5
  78. package/lib/roomle-renderer-BD3ZmpLS.mjs.map +1 -0
  79. package/lib/roomle-sdk.d.ts +69 -29
  80. package/lib/roomle-sdk.js +7 -7
  81. package/lib/{roomle-webgpu-renderer-5-aG3CMs.mjs → roomle-webgpu-renderer-NhCn2iM-.mjs} +386 -240
  82. package/lib/roomle-webgpu-renderer-NhCn2iM-.mjs.map +1 -0
  83. package/lib/{scene-renderer-DvXjoKHZ.mjs → scene-renderer-DbHi1plp.mjs} +367 -1467
  84. package/lib/scene-renderer-DbHi1plp.mjs.map +1 -0
  85. package/lib/{script-loader-CScqyQhc.mjs → script-loader-CXa3RiUa.mjs} +3 -3
  86. package/lib/{script-loader-CScqyQhc.mjs.map → script-loader-CXa3RiUa.mjs.map} +1 -1
  87. package/lib/shading-settings-BWeccIZv.mjs +1108 -0
  88. package/lib/shading-settings-BWeccIZv.mjs.map +1 -0
  89. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/package.json +1 -1
  90. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/ConfiguratorKernel.wasm +0 -0
  91. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleCore.wasm +0 -0
  92. package/lib/static/roomle-core-hsc/node_modules/roomle-core-hsc/wasm_modern/RoomleToolsCore.wasm +0 -0
  93. package/lib/{stats-helper-BYi5TI_H.mjs → stats-helper-CPeojJW2.mjs} +3 -3
  94. package/lib/{stats-helper-BYi5TI_H.mjs.map → stats-helper-CPeojJW2.mjs.map} +1 -1
  95. package/lib/{three.tsl-S0OKwamA.mjs → three.tsl-Bb8l7rD7.mjs} +1 -1
  96. package/lib/{three.tsl-CAEdYyg3.mjs → three.tsl-Caqi2VRr.mjs} +2 -2
  97. package/lib/{three.tsl-CAEdYyg3.mjs.map → three.tsl-Caqi2VRr.mjs.map} +1 -1
  98. package/lib/{three.webgpu-CkP2nkXM.mjs → three.webgpu-CT4fuV2X.mjs} +1 -1
  99. package/lib/{three.webgpu-CkP2nkXM.mjs.map → three.webgpu-CT4fuV2X.mjs.map} +1 -1
  100. package/lib/{three.webgpu-qrxDA_v0.mjs → three.webgpu-CxNhl3k-.mjs} +1 -1
  101. package/lib/{threejs-utils-C4J_TZ0o.mjs → threejs-utils-E4yVZATI.mjs} +4 -4
  102. package/lib/threejs-utils-E4yVZATI.mjs.map +1 -0
  103. package/lib/{tools-core-BCkbEbim.mjs → tools-core-GNj0UaiE.mjs} +3 -3
  104. package/lib/{tools-core-BCkbEbim.mjs.map → tools-core-GNj0UaiE.mjs.map} +1 -1
  105. package/lib/workers-Dc-RTL8D.mjs +6 -0
  106. package/lib/{workers-HXGCmmZS.mjs.map → workers-Dc-RTL8D.mjs.map} +1 -1
  107. package/package.json +1 -1
  108. package/lib/budgeteer.sw-D3VxiASa.mjs.map +0 -1
  109. package/lib/configurator-BIyxKNI0.mjs +0 -2
  110. package/lib/dimensioning-helper-pPTkh8pl.mjs +0 -2
  111. package/lib/glb-viewer-DfMzLkqg.mjs +0 -2
  112. package/lib/main-D2BulNeN.mjs.map +0 -1
  113. package/lib/packages-BtLLQZLz.mjs +0 -4
  114. package/lib/planner-BF94NrwH.mjs +0 -2
  115. package/lib/roomle-renderer-DYQvV88j.mjs.map +0 -1
  116. package/lib/roomle-webgpu-renderer-5-aG3CMs.mjs.map +0 -1
  117. package/lib/scene-renderer-DvXjoKHZ.mjs.map +0 -1
  118. package/lib/threejs-utils-C4J_TZ0o.mjs.map +0 -1
  119. package/lib/workers-HXGCmmZS.mjs +0 -6
@@ -1,6 +1,6 @@
1
1
  import { jr as e, xi as t } from "./three.core-tV_4n8Wg.mjs";
2
- import { Rt as n, Ut as r, Wn as i, bn as a, un as o } from "./three.webgpu-CkP2nkXM.mjs";
3
- import { E as s, K as c, X as l, _ as u, _t as d, bt as f, gt as p, ht as m, n as h, vt as g } from "./three.tsl-CAEdYyg3.mjs";
2
+ import { Rt as n, Ut as r, Wn as i, bn as a, un as o } from "./three.webgpu-CT4fuV2X.mjs";
3
+ import { E as s, K as c, X as l, _ as u, _t as d, bt as f, gt as p, ht as m, n as h, vt as g } from "./three.tsl-Caqi2VRr.mjs";
4
4
  //#region ../../node_modules/three/examples/jsm/tsl/display/GaussianBlurNode.js
5
5
  var _ = /* @__PURE__ */ new o(), v, y = class extends i {
6
6
  static get type() {
@@ -56,4 +56,4 @@ var _ = /* @__PURE__ */ new o(), v, y = class extends i {
56
56
  //#endregion
57
57
  export { b as gaussianBlur };
58
58
 
59
- //# sourceMappingURL=GaussianBlurNode-CMVlBe39.mjs.map
59
+ //# sourceMappingURL=GaussianBlurNode-CDYPio-x.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"GaussianBlurNode-CMVlBe39.mjs","names":[],"sources":["../../../../node_modules/three/examples/jsm/tsl/display/GaussianBlurNode.js"],"sourcesContent":["import { RenderTarget, Vector2, NodeMaterial, RendererUtils, QuadMesh, TempNode, NodeUpdateType } from 'three/webgpu';\nimport { Fn, float, uv, uniform, convertToTexture, vec2, vec4, passTexture, premultiplyAlpha, unpremultiplyAlpha } from 'three/tsl';\n\nconst _quadMesh = /*@__PURE__*/ new QuadMesh();\n\nlet _rendererState;\n\n/**\n * Post processing node for creating a gaussian blur effect.\n *\n * @augments TempNode\n * @three_import import { gaussianBlur, premultipliedGaussianBlur } from 'three/addons/tsl/display/GaussianBlurNode.js';\n */\nclass GaussianBlurNode extends TempNode {\n\n\tstatic get type() {\n\n\t\treturn 'GaussianBlurNode';\n\n\t}\n\n\t/**\n\t * Constructs a new gaussian blur node.\n\t *\n\t * @param {TextureNode} textureNode - The texture node that represents the input of the effect.\n\t * @param {Node<vec2|float>} directionNode - Defines the direction and radius of the blur.\n\t * @param {number} sigma - Controls the kernel of the blur filter. Higher values mean a wider blur radius.\n\t * @param {Object} [options={}] - Additional options for the gaussian blur effect.\n\t * @param {boolean} [options.premultipliedAlpha=false] - Whether to use premultiplied alpha for the blur effect.\n\t * @param {number} [options.resolutionScale=1] - The resolution of the effect. 0.5 means half the resolution of the texture node.\n\t */\n\tconstructor( textureNode, directionNode = null, sigma = 4, options = {} ) {\n\n\t\tsuper( 'vec4' );\n\n\t\t/**\n\t\t * The texture node that represents the input of the effect.\n\t\t *\n\t\t * @type {TextureNode}\n\t\t */\n\t\tthis.textureNode = textureNode;\n\n\t\t/**\n\t\t * Defines the direction and radius of the blur.\n\t\t *\n\t\t * @type {Node<vec2|float>}\n\t\t */\n\t\tthis.directionNode = directionNode;\n\n\t\t/**\n\t\t * Controls the kernel of the blur filter. Higher values mean a wider blur radius.\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tthis.sigma = sigma;\n\n\t\t/**\n\t\t * A uniform node holding the inverse resolution value.\n\t\t *\n\t\t * @private\n\t\t * @type {UniformNode<vec2>}\n\t\t */\n\t\tthis._invSize = uniform( new Vector2() );\n\n\t\t/**\n\t\t * Gaussian blur is applied in two passes (horizontal, vertical).\n\t\t * This node controls the direction of each pass.\n\t\t *\n\t\t * @private\n\t\t * @type {UniformNode<vec2>}\n\t\t */\n\t\tthis._passDirection = uniform( new Vector2() );\n\n\t\t/**\n\t\t * The render target used for the horizontal pass.\n\t\t *\n\t\t * @private\n\t\t * @type {RenderTarget}\n\t\t */\n\t\tthis._horizontalRT = new RenderTarget( 1, 1, { depthBuffer: false } );\n\t\tthis._horizontalRT.texture.name = 'GaussianBlurNode.horizontal';\n\n\t\t/**\n\t\t * The render target used for the vertical pass.\n\t\t *\n\t\t * @private\n\t\t * @type {RenderTarget}\n\t\t */\n\t\tthis._verticalRT = new RenderTarget( 1, 1, { depthBuffer: false } );\n\t\tthis._verticalRT.texture.name = 'GaussianBlurNode.vertical';\n\n\t\t/**\n\t\t * The result of the effect is represented as a separate texture node.\n\t\t *\n\t\t * @private\n\t\t * @type {PassTextureNode}\n\t\t */\n\t\tthis._textureNode = passTexture( this, this._verticalRT.texture );\n\t\tthis._textureNode.uvNode = textureNode.uvNode;\n\n\t\t/**\n\t\t * The material for the blur pass.\n\t\t *\n\t\t * @private\n\t\t * @type {?NodeMaterial}\n\t\t */\n\t\tthis._material = null;\n\n\t\t/**\n\t\t * The `updateBeforeType` is set to `NodeUpdateType.FRAME` since the node renders\n\t\t * its effect once per frame in `updateBefore()`.\n\t\t *\n\t\t * @type {string}\n\t\t * @default 'frame'\n\t\t */\n\t\tthis.updateBeforeType = NodeUpdateType.FRAME;\n\n\t\t/**\n\t\t * The resolution scale.\n\t\t *\n\t\t * @type {number}\n\t\t * @default (1)\n\t\t */\n\t\tthis.resolutionScale = options.resolutionScale || 1;\n\n\t\t/**\n\t\t * Whether the effect should use premultiplied alpha or not. Set this to `true`\n\t\t * if you are going to blur texture input with transparency.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default false\n\t\t */\n\t\tthis.premultipliedAlpha = options.premultipliedAlpha || false;\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default true\n\t\t * @readonly\n\t\t */\n\t\tthis.isGaussianBlurNode = true;\n\n\t}\n\n\t/**\n\t * Sets the size of the effect.\n\t *\n\t * @param {number} width - The width of the effect.\n\t * @param {number} height - The height of the effect.\n\t */\n\tsetSize( width, height ) {\n\n\t\twidth = Math.max( Math.round( width * this.resolutionScale ), 1 );\n\t\theight = Math.max( Math.round( height * this.resolutionScale ), 1 );\n\n\t\tthis._invSize.value.set( 1 / width, 1 / height );\n\t\tthis._horizontalRT.setSize( width, height );\n\t\tthis._verticalRT.setSize( width, height );\n\n\t}\n\n\t/**\n\t * This method is used to render the effect once per frame.\n\t *\n\t * @param {NodeFrame} frame - The current node frame.\n\t */\n\tupdateBefore( frame ) {\n\n\t\tconst { renderer } = frame;\n\n\t\t_rendererState = RendererUtils.resetRendererState( renderer, _rendererState );\n\n\t\t//\n\n\t\tconst textureNode = this.textureNode;\n\t\tconst map = textureNode.value;\n\n\t\tconst currentTexture = textureNode.value;\n\n\t\t_quadMesh.material = this._material;\n\n\t\tthis.setSize( map.image.width, map.image.height );\n\n\t\tconst textureType = map.type;\n\n\t\tthis._horizontalRT.texture.type = textureType;\n\t\tthis._verticalRT.texture.type = textureType;\n\n\t\t// horizontal\n\n\t\trenderer.setRenderTarget( this._horizontalRT );\n\n\t\tthis._passDirection.value.set( 1, 0 );\n\n\t\t_quadMesh.name = 'Gaussian Blur [ Horizontal Pass ]';\n\t\t_quadMesh.render( renderer );\n\n\t\t// vertical\n\n\t\ttextureNode.value = this._horizontalRT.texture;\n\t\trenderer.setRenderTarget( this._verticalRT );\n\n\t\tthis._passDirection.value.set( 0, 1 );\n\n\t\t_quadMesh.name = 'Gaussian Blur [ Vertical Pass ]';\n\t\t_quadMesh.render( renderer );\n\n\t\t// restore\n\n\t\ttextureNode.value = currentTexture;\n\n\t\tRendererUtils.restoreRendererState( renderer, _rendererState );\n\n\t}\n\n\t/**\n\t * Returns the result of the effect as a texture node.\n\t *\n\t * @return {PassTextureNode} A texture node that represents the result of the effect.\n\t */\n\tgetTextureNode() {\n\n\t\treturn this._textureNode;\n\n\t}\n\n\t/**\n\t * This method is used to setup the effect's TSL code.\n\t *\n\t * @param {NodeBuilder} builder - The current node builder.\n\t * @return {PassTextureNode}\n\t */\n\tsetup( builder ) {\n\n\t\tconst textureNode = this.textureNode;\n\n\t\t//\n\n\t\tconst uvNode = uv();\n\t\tconst directionNode = vec2( this.directionNode || 1 );\n\n\t\tlet sampleTexture, output;\n\n\t\tif ( this.premultipliedAlpha ) {\n\n\t\t\t// https://lisyarus.github.io/blog/posts/blur-coefficients-generator.html\n\n\t\t\tsampleTexture = ( uv ) => premultiplyAlpha( textureNode.sample( uv ) );\n\t\t\toutput = ( color ) => unpremultiplyAlpha( color );\n\n\t\t} else {\n\n\t\t\tsampleTexture = ( uv ) => textureNode.sample( uv );\n\t\t\toutput = ( color ) => color;\n\n\t\t}\n\n\t\tconst blur = Fn( () => {\n\n\t\t\tconst kernelSize = 3 + ( 2 * this.sigma );\n\t\t\tconst gaussianCoefficients = this._getCoefficients( kernelSize );\n\n\t\t\tconst invSize = this._invSize;\n\t\t\tconst direction = directionNode.mul( this._passDirection );\n\n\t\t\tconst diffuseSum = vec4( sampleTexture( uvNode ).mul( gaussianCoefficients[ 0 ] ) ).toVar();\n\n\t\t\tfor ( let i = 1; i < kernelSize; i ++ ) {\n\n\t\t\t\tconst x = float( i );\n\t\t\t\tconst w = float( gaussianCoefficients[ i ] );\n\n\t\t\t\tconst uvOffset = vec2( direction.mul( invSize.mul( x ) ) ).toVar();\n\n\t\t\t\tconst sample1 = sampleTexture( uvNode.add( uvOffset ) );\n\t\t\t\tconst sample2 = sampleTexture( uvNode.sub( uvOffset ) );\n\n\t\t\t\tdiffuseSum.addAssign( sample1.add( sample2 ).mul( w ) );\n\n\t\t\t}\n\n\t\t\treturn output( diffuseSum );\n\n\t\t} );\n\n\t\t//\n\n\t\tconst material = this._material || ( this._material = new NodeMaterial() );\n\t\tmaterial.fragmentNode = blur().context( builder.getSharedContext() );\n\t\tmaterial.name = 'Gaussian_blur';\n\t\tmaterial.needsUpdate = true;\n\n\t\t//\n\n\t\tconst properties = builder.getNodeProperties( this );\n\t\tproperties.textureNode = textureNode;\n\n\t\t//\n\n\t\treturn this._textureNode;\n\n\t}\n\n\t/**\n\t * Frees internal resources. This method should be called\n\t * when the effect is no longer required.\n\t */\n\tdispose() {\n\n\t\tthis._horizontalRT.dispose();\n\t\tthis._verticalRT.dispose();\n\n\t\tif ( this._material !== null ) this._material.dispose();\n\n\t}\n\n\t/**\n\t * Computes gaussian coefficients depending on the given kernel radius.\n\t *\n\t * @private\n\t * @param {number} kernelRadius - The kernel radius.\n\t * @return {Array<number>}\n\t */\n\t_getCoefficients( kernelRadius ) {\n\n\t\tconst coefficients = [];\n\t\tconst sigma = kernelRadius / 3;\n\n\t\tfor ( let i = 0; i < kernelRadius; i ++ ) {\n\n\t\t\tcoefficients.push( 0.39894 * Math.exp( - 0.5 * i * i / ( sigma * sigma ) ) / sigma );\n\n\t\t}\n\n\t\treturn coefficients;\n\n\t}\n\n\t/**\n\t * The resolution scale.\n\t *\n\t * @deprecated\n\t * @type {Vector2}\n\t * @default {(1,1)}\n\t */\n\tget resolution() {\n\n\t\tconsole.warn( 'THREE.GaussianBlurNode: The \"resolution\" property has been renamed to \"resolutionScale\" and is now of type `number`.' ); // @deprecated r180\n\n\t\treturn new Vector2( this.resolutionScale, this.resolutionScale );\n\n\t}\n\n\tset resolution( value ) {\n\n\t\tconsole.warn( 'THREE.GaussianBlurNode: The \"resolution\" property has been renamed to \"resolutionScale\" and is now of type `number`.' ); // @deprecated r180\n\n\t\tthis.resolutionScale = value.x;\n\n\t}\n\n}\n\nexport default GaussianBlurNode;\n\n/**\n * TSL function for creating a gaussian blur node for post processing.\n *\n * @tsl\n * @function\n * @param {Node<vec4>} node - The node that represents the input of the effect.\n * @param {Node<vec2|float>} directionNode - Defines the direction and radius of the blur.\n * @param {number} sigma - Controls the kernel of the blur filter. Higher values mean a wider blur radius.\n * @param {Object} [options={}] - Additional options for the gaussian blur effect.\n * @param {boolean} [options.premultipliedAlpha=false] - Whether to use premultiplied alpha for the blur effect.\n * @param {number} [options.resolutionScale=1] - The resolution of the effect. 0.5 means half the resolution of the texture node.\n * @returns {GaussianBlurNode}\n */\nexport const gaussianBlur = ( node, directionNode, sigma, options = {} ) => new GaussianBlurNode( convertToTexture( node ), directionNode, sigma, options );\n\n/**\n * TSL function for creating a gaussian blur node for post processing with enabled premultiplied alpha.\n *\n * @tsl\n * @function\n * @deprecated since r180. Use `gaussianBlur()` with `premultipliedAlpha: true` option instead.\n * @param {Node<vec4>} node - The node that represents the input of the effect.\n * @param {Node<vec2|float>} directionNode - Defines the direction and radius of the blur.\n * @param {number} sigma - Controls the kernel of the blur filter. Higher values mean a wider blur radius.\n * @returns {GaussianBlurNode}\n */\nexport function premultipliedGaussianBlur( node, directionNode, sigma ) {\n\n\tconsole.warn( 'THREE.TSL: \"premultipliedGaussianBlur()\" is deprecated. Use \"gaussianBlur()\" with \"premultipliedAlpha: true\" option instead.' ); // deprecated, r180\n\n\treturn gaussianBlur( node, directionNode, sigma, { premultipliedAlpha: true } );\n\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"GaussianBlurNode-CDYPio-x.mjs","names":[],"sources":["../../../../node_modules/three/examples/jsm/tsl/display/GaussianBlurNode.js"],"sourcesContent":["import { RenderTarget, Vector2, NodeMaterial, RendererUtils, QuadMesh, TempNode, NodeUpdateType } from 'three/webgpu';\nimport { Fn, float, uv, uniform, convertToTexture, vec2, vec4, passTexture, premultiplyAlpha, unpremultiplyAlpha } from 'three/tsl';\n\nconst _quadMesh = /*@__PURE__*/ new QuadMesh();\n\nlet _rendererState;\n\n/**\n * Post processing node for creating a gaussian blur effect.\n *\n * @augments TempNode\n * @three_import import { gaussianBlur, premultipliedGaussianBlur } from 'three/addons/tsl/display/GaussianBlurNode.js';\n */\nclass GaussianBlurNode extends TempNode {\n\n\tstatic get type() {\n\n\t\treturn 'GaussianBlurNode';\n\n\t}\n\n\t/**\n\t * Constructs a new gaussian blur node.\n\t *\n\t * @param {TextureNode} textureNode - The texture node that represents the input of the effect.\n\t * @param {Node<vec2|float>} directionNode - Defines the direction and radius of the blur.\n\t * @param {number} sigma - Controls the kernel of the blur filter. Higher values mean a wider blur radius.\n\t * @param {Object} [options={}] - Additional options for the gaussian blur effect.\n\t * @param {boolean} [options.premultipliedAlpha=false] - Whether to use premultiplied alpha for the blur effect.\n\t * @param {number} [options.resolutionScale=1] - The resolution of the effect. 0.5 means half the resolution of the texture node.\n\t */\n\tconstructor( textureNode, directionNode = null, sigma = 4, options = {} ) {\n\n\t\tsuper( 'vec4' );\n\n\t\t/**\n\t\t * The texture node that represents the input of the effect.\n\t\t *\n\t\t * @type {TextureNode}\n\t\t */\n\t\tthis.textureNode = textureNode;\n\n\t\t/**\n\t\t * Defines the direction and radius of the blur.\n\t\t *\n\t\t * @type {Node<vec2|float>}\n\t\t */\n\t\tthis.directionNode = directionNode;\n\n\t\t/**\n\t\t * Controls the kernel of the blur filter. Higher values mean a wider blur radius.\n\t\t *\n\t\t * @type {number}\n\t\t */\n\t\tthis.sigma = sigma;\n\n\t\t/**\n\t\t * A uniform node holding the inverse resolution value.\n\t\t *\n\t\t * @private\n\t\t * @type {UniformNode<vec2>}\n\t\t */\n\t\tthis._invSize = uniform( new Vector2() );\n\n\t\t/**\n\t\t * Gaussian blur is applied in two passes (horizontal, vertical).\n\t\t * This node controls the direction of each pass.\n\t\t *\n\t\t * @private\n\t\t * @type {UniformNode<vec2>}\n\t\t */\n\t\tthis._passDirection = uniform( new Vector2() );\n\n\t\t/**\n\t\t * The render target used for the horizontal pass.\n\t\t *\n\t\t * @private\n\t\t * @type {RenderTarget}\n\t\t */\n\t\tthis._horizontalRT = new RenderTarget( 1, 1, { depthBuffer: false } );\n\t\tthis._horizontalRT.texture.name = 'GaussianBlurNode.horizontal';\n\n\t\t/**\n\t\t * The render target used for the vertical pass.\n\t\t *\n\t\t * @private\n\t\t * @type {RenderTarget}\n\t\t */\n\t\tthis._verticalRT = new RenderTarget( 1, 1, { depthBuffer: false } );\n\t\tthis._verticalRT.texture.name = 'GaussianBlurNode.vertical';\n\n\t\t/**\n\t\t * The result of the effect is represented as a separate texture node.\n\t\t *\n\t\t * @private\n\t\t * @type {PassTextureNode}\n\t\t */\n\t\tthis._textureNode = passTexture( this, this._verticalRT.texture );\n\t\tthis._textureNode.uvNode = textureNode.uvNode;\n\n\t\t/**\n\t\t * The material for the blur pass.\n\t\t *\n\t\t * @private\n\t\t * @type {?NodeMaterial}\n\t\t */\n\t\tthis._material = null;\n\n\t\t/**\n\t\t * The `updateBeforeType` is set to `NodeUpdateType.FRAME` since the node renders\n\t\t * its effect once per frame in `updateBefore()`.\n\t\t *\n\t\t * @type {string}\n\t\t * @default 'frame'\n\t\t */\n\t\tthis.updateBeforeType = NodeUpdateType.FRAME;\n\n\t\t/**\n\t\t * The resolution scale.\n\t\t *\n\t\t * @type {number}\n\t\t * @default (1)\n\t\t */\n\t\tthis.resolutionScale = options.resolutionScale || 1;\n\n\t\t/**\n\t\t * Whether the effect should use premultiplied alpha or not. Set this to `true`\n\t\t * if you are going to blur texture input with transparency.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default false\n\t\t */\n\t\tthis.premultipliedAlpha = options.premultipliedAlpha || false;\n\n\t\t/**\n\t\t * This flag can be used for type testing.\n\t\t *\n\t\t * @type {boolean}\n\t\t * @default true\n\t\t * @readonly\n\t\t */\n\t\tthis.isGaussianBlurNode = true;\n\n\t}\n\n\t/**\n\t * Sets the size of the effect.\n\t *\n\t * @param {number} width - The width of the effect.\n\t * @param {number} height - The height of the effect.\n\t */\n\tsetSize( width, height ) {\n\n\t\twidth = Math.max( Math.round( width * this.resolutionScale ), 1 );\n\t\theight = Math.max( Math.round( height * this.resolutionScale ), 1 );\n\n\t\tthis._invSize.value.set( 1 / width, 1 / height );\n\t\tthis._horizontalRT.setSize( width, height );\n\t\tthis._verticalRT.setSize( width, height );\n\n\t}\n\n\t/**\n\t * This method is used to render the effect once per frame.\n\t *\n\t * @param {NodeFrame} frame - The current node frame.\n\t */\n\tupdateBefore( frame ) {\n\n\t\tconst { renderer } = frame;\n\n\t\t_rendererState = RendererUtils.resetRendererState( renderer, _rendererState );\n\n\t\t//\n\n\t\tconst textureNode = this.textureNode;\n\t\tconst map = textureNode.value;\n\n\t\tconst currentTexture = textureNode.value;\n\n\t\t_quadMesh.material = this._material;\n\n\t\tthis.setSize( map.image.width, map.image.height );\n\n\t\tconst textureType = map.type;\n\n\t\tthis._horizontalRT.texture.type = textureType;\n\t\tthis._verticalRT.texture.type = textureType;\n\n\t\t// horizontal\n\n\t\trenderer.setRenderTarget( this._horizontalRT );\n\n\t\tthis._passDirection.value.set( 1, 0 );\n\n\t\t_quadMesh.name = 'Gaussian Blur [ Horizontal Pass ]';\n\t\t_quadMesh.render( renderer );\n\n\t\t// vertical\n\n\t\ttextureNode.value = this._horizontalRT.texture;\n\t\trenderer.setRenderTarget( this._verticalRT );\n\n\t\tthis._passDirection.value.set( 0, 1 );\n\n\t\t_quadMesh.name = 'Gaussian Blur [ Vertical Pass ]';\n\t\t_quadMesh.render( renderer );\n\n\t\t// restore\n\n\t\ttextureNode.value = currentTexture;\n\n\t\tRendererUtils.restoreRendererState( renderer, _rendererState );\n\n\t}\n\n\t/**\n\t * Returns the result of the effect as a texture node.\n\t *\n\t * @return {PassTextureNode} A texture node that represents the result of the effect.\n\t */\n\tgetTextureNode() {\n\n\t\treturn this._textureNode;\n\n\t}\n\n\t/**\n\t * This method is used to setup the effect's TSL code.\n\t *\n\t * @param {NodeBuilder} builder - The current node builder.\n\t * @return {PassTextureNode}\n\t */\n\tsetup( builder ) {\n\n\t\tconst textureNode = this.textureNode;\n\n\t\t//\n\n\t\tconst uvNode = uv();\n\t\tconst directionNode = vec2( this.directionNode || 1 );\n\n\t\tlet sampleTexture, output;\n\n\t\tif ( this.premultipliedAlpha ) {\n\n\t\t\t// https://lisyarus.github.io/blog/posts/blur-coefficients-generator.html\n\n\t\t\tsampleTexture = ( uv ) => premultiplyAlpha( textureNode.sample( uv ) );\n\t\t\toutput = ( color ) => unpremultiplyAlpha( color );\n\n\t\t} else {\n\n\t\t\tsampleTexture = ( uv ) => textureNode.sample( uv );\n\t\t\toutput = ( color ) => color;\n\n\t\t}\n\n\t\tconst blur = Fn( () => {\n\n\t\t\tconst kernelSize = 3 + ( 2 * this.sigma );\n\t\t\tconst gaussianCoefficients = this._getCoefficients( kernelSize );\n\n\t\t\tconst invSize = this._invSize;\n\t\t\tconst direction = directionNode.mul( this._passDirection );\n\n\t\t\tconst diffuseSum = vec4( sampleTexture( uvNode ).mul( gaussianCoefficients[ 0 ] ) ).toVar();\n\n\t\t\tfor ( let i = 1; i < kernelSize; i ++ ) {\n\n\t\t\t\tconst x = float( i );\n\t\t\t\tconst w = float( gaussianCoefficients[ i ] );\n\n\t\t\t\tconst uvOffset = vec2( direction.mul( invSize.mul( x ) ) ).toVar();\n\n\t\t\t\tconst sample1 = sampleTexture( uvNode.add( uvOffset ) );\n\t\t\t\tconst sample2 = sampleTexture( uvNode.sub( uvOffset ) );\n\n\t\t\t\tdiffuseSum.addAssign( sample1.add( sample2 ).mul( w ) );\n\n\t\t\t}\n\n\t\t\treturn output( diffuseSum );\n\n\t\t} );\n\n\t\t//\n\n\t\tconst material = this._material || ( this._material = new NodeMaterial() );\n\t\tmaterial.fragmentNode = blur().context( builder.getSharedContext() );\n\t\tmaterial.name = 'Gaussian_blur';\n\t\tmaterial.needsUpdate = true;\n\n\t\t//\n\n\t\tconst properties = builder.getNodeProperties( this );\n\t\tproperties.textureNode = textureNode;\n\n\t\t//\n\n\t\treturn this._textureNode;\n\n\t}\n\n\t/**\n\t * Frees internal resources. This method should be called\n\t * when the effect is no longer required.\n\t */\n\tdispose() {\n\n\t\tthis._horizontalRT.dispose();\n\t\tthis._verticalRT.dispose();\n\n\t\tif ( this._material !== null ) this._material.dispose();\n\n\t}\n\n\t/**\n\t * Computes gaussian coefficients depending on the given kernel radius.\n\t *\n\t * @private\n\t * @param {number} kernelRadius - The kernel radius.\n\t * @return {Array<number>}\n\t */\n\t_getCoefficients( kernelRadius ) {\n\n\t\tconst coefficients = [];\n\t\tconst sigma = kernelRadius / 3;\n\n\t\tfor ( let i = 0; i < kernelRadius; i ++ ) {\n\n\t\t\tcoefficients.push( 0.39894 * Math.exp( - 0.5 * i * i / ( sigma * sigma ) ) / sigma );\n\n\t\t}\n\n\t\treturn coefficients;\n\n\t}\n\n\t/**\n\t * The resolution scale.\n\t *\n\t * @deprecated\n\t * @type {Vector2}\n\t * @default {(1,1)}\n\t */\n\tget resolution() {\n\n\t\tconsole.warn( 'THREE.GaussianBlurNode: The \"resolution\" property has been renamed to \"resolutionScale\" and is now of type `number`.' ); // @deprecated r180\n\n\t\treturn new Vector2( this.resolutionScale, this.resolutionScale );\n\n\t}\n\n\tset resolution( value ) {\n\n\t\tconsole.warn( 'THREE.GaussianBlurNode: The \"resolution\" property has been renamed to \"resolutionScale\" and is now of type `number`.' ); // @deprecated r180\n\n\t\tthis.resolutionScale = value.x;\n\n\t}\n\n}\n\nexport default GaussianBlurNode;\n\n/**\n * TSL function for creating a gaussian blur node for post processing.\n *\n * @tsl\n * @function\n * @param {Node<vec4>} node - The node that represents the input of the effect.\n * @param {Node<vec2|float>} directionNode - Defines the direction and radius of the blur.\n * @param {number} sigma - Controls the kernel of the blur filter. Higher values mean a wider blur radius.\n * @param {Object} [options={}] - Additional options for the gaussian blur effect.\n * @param {boolean} [options.premultipliedAlpha=false] - Whether to use premultiplied alpha for the blur effect.\n * @param {number} [options.resolutionScale=1] - The resolution of the effect. 0.5 means half the resolution of the texture node.\n * @returns {GaussianBlurNode}\n */\nexport const gaussianBlur = ( node, directionNode, sigma, options = {} ) => new GaussianBlurNode( convertToTexture( node ), directionNode, sigma, options );\n\n/**\n * TSL function for creating a gaussian blur node for post processing with enabled premultiplied alpha.\n *\n * @tsl\n * @function\n * @deprecated since r180. Use `gaussianBlur()` with `premultipliedAlpha: true` option instead.\n * @param {Node<vec4>} node - The node that represents the input of the effect.\n * @param {Node<vec2|float>} directionNode - Defines the direction and radius of the blur.\n * @param {number} sigma - Controls the kernel of the blur filter. Higher values mean a wider blur radius.\n * @returns {GaussianBlurNode}\n */\nexport function premultipliedGaussianBlur( node, directionNode, sigma ) {\n\n\tconsole.warn( 'THREE.TSL: \"premultipliedGaussianBlur()\" is deprecated. Use \"gaussianBlur()\" with \"premultipliedAlpha: true\" option instead.' ); // deprecated, r180\n\n\treturn gaussianBlur( node, directionNode, sigma, { premultipliedAlpha: true } );\n\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;AAGA,IAAM,oBAA0B,IAAI,GAAU,EAE1C,GAQE,IAAN,cAA+B,EAAS;CAEvC,WAAW,OAAO;AAEjB,SAAO;;CAcR,YAAa,GAAa,IAAgB,MAAM,IAAQ,GAAG,IAAU,EAAE,EAAG;AA8GzE,EA5GA,MAAO,OAAQ,EAOf,KAAK,cAAc,GAOnB,KAAK,gBAAgB,GAOrB,KAAK,QAAQ,GAQb,KAAK,WAAW,EAAS,IAAI,GAAS,CAAE,EASxC,KAAK,iBAAiB,EAAS,IAAI,GAAS,CAAE,EAQ9C,KAAK,gBAAgB,IAAI,EAAc,GAAG,GAAG,EAAE,aAAa,IAAO,CAAE,EACrE,KAAK,cAAc,QAAQ,OAAO,+BAQlC,KAAK,cAAc,IAAI,EAAc,GAAG,GAAG,EAAE,aAAa,IAAO,CAAE,EACnE,KAAK,YAAY,QAAQ,OAAO,6BAQhC,KAAK,eAAe,EAAa,MAAM,KAAK,YAAY,QAAS,EACjE,KAAK,aAAa,SAAS,EAAY,QAQvC,KAAK,YAAY,MASjB,KAAK,mBAAmB,EAAe,OAQvC,KAAK,kBAAkB,EAAQ,mBAAmB,GASlD,KAAK,qBAAqB,EAAQ,sBAAsB,IASxD,KAAK,qBAAqB;;CAU3B,QAAS,GAAO,GAAS;AAOxB,EALA,IAAQ,KAAK,IAAK,KAAK,MAAO,IAAQ,KAAK,gBAAiB,EAAE,EAAG,EACjE,IAAS,KAAK,IAAK,KAAK,MAAO,IAAS,KAAK,gBAAiB,EAAE,EAAG,EAEnE,KAAK,SAAS,MAAM,IAAK,IAAI,GAAO,IAAI,EAAQ,EAChD,KAAK,cAAc,QAAS,GAAO,EAAQ,EAC3C,KAAK,YAAY,QAAS,GAAO,EAAQ;;CAS1C,aAAc,GAAQ;EAErB,IAAM,EAAE,gBAAa;AAErB,MAAiB,EAAc,mBAAoB,GAAU,EAAgB;EAI7E,IAAM,IAAc,KAAK,aACnB,IAAM,EAAY,OAElB,IAAiB,EAAY;AAInC,EAFA,EAAU,WAAW,KAAK,WAE1B,KAAK,QAAS,EAAI,MAAM,OAAO,EAAI,MAAM,OAAQ;EAEjD,IAAM,IAAc,EAAI;AA4BxB,EA1BA,KAAK,cAAc,QAAQ,OAAO,GAClC,KAAK,YAAY,QAAQ,OAAO,GAIhC,EAAS,gBAAiB,KAAK,cAAe,EAE9C,KAAK,eAAe,MAAM,IAAK,GAAG,EAAG,EAErC,EAAU,OAAO,qCACjB,EAAU,OAAQ,EAAU,EAI5B,EAAY,QAAQ,KAAK,cAAc,SACvC,EAAS,gBAAiB,KAAK,YAAa,EAE5C,KAAK,eAAe,MAAM,IAAK,GAAG,EAAG,EAErC,EAAU,OAAO,mCACjB,EAAU,OAAQ,EAAU,EAI5B,EAAY,QAAQ,GAEpB,EAAc,qBAAsB,GAAU,EAAgB;;CAS/D,iBAAiB;AAEhB,SAAO,KAAK;;CAUb,MAAO,GAAU;EAEhB,IAAM,IAAc,KAAK,aAInB,IAAS,GAAI,EACb,IAAgB,EAAM,KAAK,iBAAiB,EAAG,EAEjD,GAAe;AAEnB,EAAK,KAAK,sBAIT,KAAkB,MAAQ,EAAkB,EAAY,OAAQ,EAAI,CAAE,EACtE,KAAW,MAAW,EAAoB,EAAO,KAIjD,KAAkB,MAAQ,EAAY,OAAQ,EAAI,EAClD,KAAW,MAAW;EAIvB,IAAM,IAAO,QAAU;GAEtB,IAAM,IAAa,IAAM,IAAI,KAAK,OAC5B,IAAuB,KAAK,iBAAkB,EAAY,EAE1D,IAAU,KAAK,UACf,IAAY,EAAc,IAAK,KAAK,eAAgB,EAEpD,IAAa,EAAM,EAAe,EAAQ,CAAC,IAAK,EAAsB,GAAK,CAAE,CAAC,OAAO;AAE3F,QAAM,IAAI,IAAI,GAAG,IAAI,GAAY,KAAO;IAEvC,IAAM,IAAI,EAAO,EAAG,EACd,IAAI,EAAO,EAAsB,GAAK,EAEtC,IAAW,EAAM,EAAU,IAAK,EAAQ,IAAK,EAAG,CAAE,CAAE,CAAC,OAAO,EAE5D,IAAU,EAAe,EAAO,IAAK,EAAU,CAAE,EACjD,IAAU,EAAe,EAAO,IAAK,EAAU,CAAE;AAEvD,MAAW,UAAW,EAAQ,IAAK,EAAS,CAAC,IAAK,EAAG,CAAE;;AAIxD,UAAO,EAAQ,EAAY;IAEzB,EAIG,IAAW,AAAoB,KAAK,cAAY,IAAI,GAAc;AAGxE,EAFA,EAAS,eAAe,GAAM,CAAC,QAAS,EAAQ,kBAAkB,CAAE,EACpE,EAAS,OAAO,iBAChB,EAAS,cAAc;EAIvB,IAAM,IAAa,EAAQ,kBAAmB,KAAM;AAKpD,SAJA,EAAW,cAAc,GAIlB,KAAK;;CAQb,UAAU;AAKT,EAHA,KAAK,cAAc,SAAS,EAC5B,KAAK,YAAY,SAAS,EAErB,KAAK,cAAc,QAAO,KAAK,UAAU,SAAS;;CAWxD,iBAAkB,GAAe;EAEhC,IAAM,IAAe,EAAE,EACjB,IAAQ,IAAe;AAE7B,OAAM,IAAI,IAAI,GAAG,IAAI,GAAc,IAElC,GAAa,KAAM,SAAU,KAAK,IAAK,MAAQ,IAAI,KAAM,IAAQ,GAAS,GAAG,EAAO;AAIrF,SAAO;;CAWR,IAAI,aAAa;AAIhB,SAFA,QAAQ,KAAM,2HAAwH,EAE/H,IAAI,EAAS,KAAK,iBAAiB,KAAK,gBAAiB;;CAIjE,IAAI,WAAY,GAAQ;AAIvB,EAFA,QAAQ,KAAM,2HAAwH,EAEtI,KAAK,kBAAkB,EAAM;;GAqBlB,KAAiB,GAAM,GAAe,GAAO,IAAU,EAAE,KAAM,IAAI,EAAkB,EAAkB,EAAM,EAAE,GAAe,GAAO,EAAS"}
@@ -1722,4 +1722,4 @@ Ee.DEFAULT_UP = /* @__PURE__ */ new D(0, 1, 0), Ee.DEFAULT_MATRIX_AUTO_UPDATE =
1722
1722
  //#endregion
1723
1723
  export { e as A, t as C, n as D, i as E, l as M, a as O, g as S, r as T, C as _, se as a, h as b, A as c, v as d, y as f, b as g, S as h, ce as i, c as j, s as k, D as l, w as m, pe as n, te as o, x as p, ue as r, ee as s, Ee as t, E as u, T as v, o as w, m as x, u as y };
1724
1724
 
1725
- //# sourceMappingURL=Object3D-BZaiqQIE.mjs.map
1725
+ //# sourceMappingURL=Object3D-YXSPdGeJ.mjs.map