@babylonjs/lite 0.1.1

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 (417) hide show
  1. package/_math-factory-C-QqW-Wi.js +55 -0
  2. package/_math-factory-C-QqW-Wi.js.map +1 -0
  3. package/add-block-CikX5gWy.js +6 -0
  4. package/add-block-CikX5gWy.js.map +1 -0
  5. package/alpha-test-fragment-CUiHCw7W.js +22 -0
  6. package/alpha-test-fragment-CUiHCw7W.js.map +1 -0
  7. package/ambient-occlusion-block-DForhWL3.js +77 -0
  8. package/ambient-occlusion-block-DForhWL3.js.map +1 -0
  9. package/anisotropy-block-D5fXH_OY.js +12 -0
  10. package/anisotropy-block-D5fXH_OY.js.map +1 -0
  11. package/anisotropy-fragment-HgasXS7l.js +89 -0
  12. package/anisotropy-fragment-HgasXS7l.js.map +1 -0
  13. package/arc-tan2-block-d8sWt_x0.js +12 -0
  14. package/arc-tan2-block-d8sWt_x0.js.map +1 -0
  15. package/assets/splat-sort-worker-Crg3CaCc.js.map +1 -0
  16. package/background-dds-skybox-yHTqabU3.js +221 -0
  17. package/background-dds-skybox-yHTqabU3.js.map +1 -0
  18. package/background-ground-DIw6D3qf.js +235 -0
  19. package/background-ground-DIw6D3qf.js.map +1 -0
  20. package/background-hdr-skybox-c4uuTmkP.js +179 -0
  21. package/background-hdr-skybox-c4uuTmkP.js.map +1 -0
  22. package/background-solid-skybox-DPGBpPbm.js +235 -0
  23. package/background-solid-skybox-DPGBpPbm.js.map +1 -0
  24. package/bake-local-matrix-Dfpd3b06.js +28 -0
  25. package/bake-local-matrix-Dfpd3b06.js.map +1 -0
  26. package/billboard-renderable-D8mlVGCd.js +242 -0
  27. package/billboard-renderable-D8mlVGCd.js.map +1 -0
  28. package/biplanar-block-DZnKuV81.js +115 -0
  29. package/biplanar-block-DZnKuV81.js.map +1 -0
  30. package/bones-block-D6IhqUVV.js +31 -0
  31. package/bones-block-D6IhqUVV.js.map +1 -0
  32. package/clamp-block-BdII67hT.js +21 -0
  33. package/clamp-block-BdII67hT.js.map +1 -0
  34. package/clearcoat-block-BGML4npi.js +12 -0
  35. package/clearcoat-block-BGML4npi.js.map +1 -0
  36. package/clearcoat-fragment-LCiG98Rf.js +256 -0
  37. package/clearcoat-fragment-LCiG98Rf.js.map +1 -0
  38. package/clip-planes-block-BPfFJrbf.js +26 -0
  39. package/clip-planes-block-BPfFJrbf.js.map +1 -0
  40. package/cloud-block-BeVrangc.js +90 -0
  41. package/cloud-block-BeVrangc.js.map +1 -0
  42. package/color-converter-block-CvwKiW4k.js +123 -0
  43. package/color-converter-block-CvwKiW4k.js.map +1 -0
  44. package/color-merger-CCu21ZII.js +57 -0
  45. package/color-merger-CCu21ZII.js.map +1 -0
  46. package/color-splitter-CGn1G4ow.js +33 -0
  47. package/color-splitter-CGn1G4ow.js.map +1 -0
  48. package/conditional-block-Cd2pbejI.js +51 -0
  49. package/conditional-block-Cd2pbejI.js.map +1 -0
  50. package/create-skeleton-C9JdIJnb.js +44 -0
  51. package/create-skeleton-C9JdIJnb.js.map +1 -0
  52. package/cross-block-DCrLwCpt.js +12 -0
  53. package/cross-block-DCrLwCpt.js.map +1 -0
  54. package/cubemap-skybox-material-DvXMVc4k.js +79 -0
  55. package/cubemap-skybox-material-DvXMVc4k.js.map +1 -0
  56. package/curve-block-BlJpXVYv.js +89 -0
  57. package/curve-block-BlJpXVYv.js.map +1 -0
  58. package/debug-block-D2pg4Yf6.js +14 -0
  59. package/debug-block-D2pg4Yf6.js.map +1 -0
  60. package/derivative-block-B8KjtaWs.js +20 -0
  61. package/derivative-block-B8KjtaWs.js.map +1 -0
  62. package/desaturate-block-C1RghNSB.js +15 -0
  63. package/desaturate-block-C1RghNSB.js.map +1 -0
  64. package/discard-block-B2jKjaEL.js +21 -0
  65. package/discard-block-B2jKjaEL.js.map +1 -0
  66. package/distance-block-3NkgFZ3f.js +16 -0
  67. package/distance-block-3NkgFZ3f.js.map +1 -0
  68. package/divide-block-ZyepIg_-.js +6 -0
  69. package/divide-block-ZyepIg_-.js.map +1 -0
  70. package/dot-block-VlfAC6cD.js +16 -0
  71. package/dot-block-VlfAC6cD.js.map +1 -0
  72. package/elbow-block-NEOiIxzO.js +10 -0
  73. package/elbow-block-NEOiIxzO.js.map +1 -0
  74. package/emissive-fragment-BnNvbBCw.js +39 -0
  75. package/emissive-fragment-BnNvbBCw.js.map +1 -0
  76. package/esm-shadow-view-DGKdF1NI.js +18 -0
  77. package/esm-shadow-view-DGKdF1NI.js.map +1 -0
  78. package/esm-shadow-view-DN9HIaM4.js +15 -0
  79. package/esm-shadow-view-DN9HIaM4.js.map +1 -0
  80. package/esm-shadow-view-Dk9NFtLq.js +15 -0
  81. package/esm-shadow-view-Dk9NFtLq.js.map +1 -0
  82. package/fog-block-DJ9hEolm.js +41 -0
  83. package/fog-block-DJ9hEolm.js.map +1 -0
  84. package/frag-coord-block-DzXfFgfV.js +25 -0
  85. package/frag-coord-block-DzXfFgfV.js.map +1 -0
  86. package/frag-depth-block-UQbeKP2D.js +34 -0
  87. package/frag-depth-block-UQbeKP2D.js.map +1 -0
  88. package/fragment-output-BOphkIeh.js +26 -0
  89. package/fragment-output-BOphkIeh.js.map +1 -0
  90. package/fresnel-block-DefHWeO-.js +20 -0
  91. package/fresnel-block-DefHWeO-.js.map +1 -0
  92. package/front-facing-0d6aiyrv.js +11 -0
  93. package/front-facing-0d6aiyrv.js.map +1 -0
  94. package/gaussian-splatting-pipeline-sh-DgJl7l56.js +500 -0
  95. package/gaussian-splatting-pipeline-sh-DgJl7l56.js.map +1 -0
  96. package/gltf-animation-D7uyTyO3.js +245 -0
  97. package/gltf-animation-D7uyTyO3.js.map +1 -0
  98. package/gltf-ext-anisotropy-CknJiJK8.js +22 -0
  99. package/gltf-ext-anisotropy-CknJiJK8.js.map +1 -0
  100. package/gltf-ext-basisu-CPg5kPrx.js +452 -0
  101. package/gltf-ext-basisu-CPg5kPrx.js.map +1 -0
  102. package/gltf-ext-clearcoat-CLH2SVph.js +31 -0
  103. package/gltf-ext-clearcoat-CLH2SVph.js.map +1 -0
  104. package/gltf-ext-dielectric-qHzlnvdl.js +105 -0
  105. package/gltf-ext-dielectric-qHzlnvdl.js.map +1 -0
  106. package/gltf-ext-emissive-strength-nzGZXZVK.js +19 -0
  107. package/gltf-ext-emissive-strength-nzGZXZVK.js.map +1 -0
  108. package/gltf-ext-iridescence-C6bq7jiM.js +26 -0
  109. package/gltf-ext-iridescence-C6bq7jiM.js.map +1 -0
  110. package/gltf-ext-node-visibility-MafA9ot2.js +25 -0
  111. package/gltf-ext-node-visibility-MafA9ot2.js.map +1 -0
  112. package/gltf-ext-orm-CT18G_vQ.js +33 -0
  113. package/gltf-ext-orm-CT18G_vQ.js.map +1 -0
  114. package/gltf-ext-quantization-CpZyLDIz.js +94 -0
  115. package/gltf-ext-quantization-CpZyLDIz.js.map +1 -0
  116. package/gltf-ext-sheen-BgIxUzyZ.js +25 -0
  117. package/gltf-ext-sheen-BgIxUzyZ.js.map +1 -0
  118. package/gltf-ext-spec-gloss-D0LJLBUM.js +24 -0
  119. package/gltf-ext-spec-gloss-D0LJLBUM.js.map +1 -0
  120. package/gltf-ext-unlit-D2ANui0V.js +16 -0
  121. package/gltf-ext-unlit-D2ANui0V.js.map +1 -0
  122. package/gltf-ext-uv-transform-CE_-T1Tr.js +38 -0
  123. package/gltf-ext-uv-transform-CE_-T1Tr.js.map +1 -0
  124. package/gltf-feature-animation-pointer-BjpwOOqo.js +88 -0
  125. package/gltf-feature-animation-pointer-BjpwOOqo.js.map +1 -0
  126. package/gltf-feature-animations-CCizegp8.js +15 -0
  127. package/gltf-feature-animations-CCizegp8.js.map +1 -0
  128. package/gltf-feature-draco-yGSMGTE3.js +124 -0
  129. package/gltf-feature-draco-yGSMGTE3.js.map +1 -0
  130. package/gltf-feature-gpu-instancing-2e_CFQnl.js +151 -0
  131. package/gltf-feature-gpu-instancing-2e_CFQnl.js.map +1 -0
  132. package/gltf-feature-lights-punctual-DDDg4j0U.js +71 -0
  133. package/gltf-feature-lights-punctual-DDDg4j0U.js.map +1 -0
  134. package/gltf-feature-meshopt-Des96YFI.js +84 -0
  135. package/gltf-feature-meshopt-Des96YFI.js.map +1 -0
  136. package/gltf-feature-morph-CKCw6tkX.js +29 -0
  137. package/gltf-feature-morph-CKCw6tkX.js.map +1 -0
  138. package/gltf-feature-skeleton-D8hWLqi2.js +36 -0
  139. package/gltf-feature-skeleton-D8hWLqi2.js.map +1 -0
  140. package/gltf-feature-variants-Ds6v9byg.js +17 -0
  141. package/gltf-feature-variants-Ds6v9byg.js.map +1 -0
  142. package/gltf-feature-xmp-BUfq_IVG.js +15 -0
  143. package/gltf-feature-xmp-BUfq_IVG.js.map +1 -0
  144. package/gltf-glb-parser-D6UZWFuC.js +27 -0
  145. package/gltf-glb-parser-D6UZWFuC.js.map +1 -0
  146. package/gltf-interleave-DGnUlz28.js +241 -0
  147. package/gltf-interleave-DGnUlz28.js.map +1 -0
  148. package/gltf-pbr-builder-ext-BFOxOCnQ.js +85 -0
  149. package/gltf-pbr-builder-ext-BFOxOCnQ.js.map +1 -0
  150. package/gltf-variants-DFbr8EES.js +88 -0
  151. package/gltf-variants-DFbr8EES.js.map +1 -0
  152. package/gradient-block-DL_60sDc.js +50 -0
  153. package/gradient-block-DL_60sDc.js.map +1 -0
  154. package/gs-picking-pipeline-DzfMASL9.js +280 -0
  155. package/gs-picking-pipeline-DzfMASL9.js.map +1 -0
  156. package/height-to-normal-block-DhPHkDFg.js +65 -0
  157. package/height-to-normal-block-DhPHkDFg.js.map +1 -0
  158. package/ibl-fragment-DqQVi8k0.js +91 -0
  159. package/ibl-fragment-DqQVi8k0.js.map +1 -0
  160. package/ibl-skybox-wgsl-DCah0kWV.js +13 -0
  161. package/ibl-skybox-wgsl-DCah0kWV.js.map +1 -0
  162. package/image-processing-block-DwrhhmuF.js +40 -0
  163. package/image-processing-block-DwrhhmuF.js.map +1 -0
  164. package/image-source-BuMJgd9-.js +17 -0
  165. package/image-source-BuMJgd9-.js.map +1 -0
  166. package/index-C8HOR2sB.js +19222 -0
  167. package/index-C8HOR2sB.js.map +1 -0
  168. package/index.d.ts +4611 -0
  169. package/index.js +309 -0
  170. package/index.js.map +1 -0
  171. package/input-block-DgAJBzN_.js +109 -0
  172. package/input-block-DgAJBzN_.js.map +1 -0
  173. package/instances-block-BaSSiz8m.js +12 -0
  174. package/instances-block-BaSSiz8m.js.map +1 -0
  175. package/iridescence-block-B0pRFoOU.js +67 -0
  176. package/iridescence-block-B0pRFoOU.js.map +1 -0
  177. package/iridescence-fragment-Gymp7or5.js +243 -0
  178. package/iridescence-fragment-Gymp7or5.js.map +1 -0
  179. package/length-block-ChOkeiHR.js +11 -0
  180. package/length-block-ChOkeiHR.js.map +1 -0
  181. package/lerp-block-DjI2SfmI.js +18 -0
  182. package/lerp-block-DjI2SfmI.js.map +1 -0
  183. package/light-block-B11ew7FA.js +123 -0
  184. package/light-block-B11ew7FA.js.map +1 -0
  185. package/light-information-VJbW0jbs.js +19 -0
  186. package/light-information-VJbW0jbs.js.map +1 -0
  187. package/loop-block-Bb23EOMb.js +71 -0
  188. package/loop-block-Bb23EOMb.js.map +1 -0
  189. package/manifold-AS8POaOr.js +3022 -0
  190. package/manifold-AS8POaOr.js.map +1 -0
  191. package/manifold-RCa7RkKz.js +5 -0
  192. package/manifold-RCa7RkKz.js.map +1 -0
  193. package/matrix-blocks-acWn_V6g.js +51 -0
  194. package/matrix-blocks-acWn_V6g.js.map +1 -0
  195. package/max-block-CjFgljZ7.js +6 -0
  196. package/max-block-CjFgljZ7.js.map +1 -0
  197. package/mesh-attribute-exists-block-BfK8UiSL.js +44 -0
  198. package/mesh-attribute-exists-block-BfK8UiSL.js.map +1 -0
  199. package/mesh-features-BLENkYVt.js +341 -0
  200. package/mesh-features-BLENkYVt.js.map +1 -0
  201. package/min-block-CHtBngNl.js +6 -0
  202. package/min-block-CHtBngNl.js.map +1 -0
  203. package/mod-block-Ceizv8Y7.js +6 -0
  204. package/mod-block-Ceizv8Y7.js.map +1 -0
  205. package/morph-fragment-DOVo70gP.js +59 -0
  206. package/morph-fragment-DOVo70gP.js.map +1 -0
  207. package/morph-targets-55z342ZB.js +35 -0
  208. package/morph-targets-55z342ZB.js.map +1 -0
  209. package/multilight-wgsl-BGyiIOp3.js +112 -0
  210. package/multilight-wgsl-BGyiIOp3.js.map +1 -0
  211. package/multiply-block-DaXLJ7Ud.js +6 -0
  212. package/multiply-block-DaXLJ7Ud.js.map +1 -0
  213. package/negate-block-9CSLc5pM.js +6 -0
  214. package/negate-block-9CSLc5pM.js.map +1 -0
  215. package/nlerp-block-BNK1adIb.js +21 -0
  216. package/nlerp-block-BNK1adIb.js.map +1 -0
  217. package/node-env-BPZXZzBf.js +39 -0
  218. package/node-env-BPZXZzBf.js.map +1 -0
  219. package/node-registry-DwgC4yth.js +190 -0
  220. package/node-registry-DwgC4yth.js.map +1 -0
  221. package/node-registry-extra-advanced-2DJVt67-.js +45 -0
  222. package/node-registry-extra-advanced-2DJVt67-.js.map +1 -0
  223. package/node-registry-extra-compat-Dhrw8fDQ.js +41 -0
  224. package/node-registry-extra-compat-Dhrw8fDQ.js.map +1 -0
  225. package/node-registry-extra-math-CsAHvIZo.js +49 -0
  226. package/node-registry-extra-math-CsAHvIZo.js.map +1 -0
  227. package/node-registry-extra-procedural-5pLQ3Bhz.js +45 -0
  228. package/node-registry-extra-procedural-5pLQ3Bhz.js.map +1 -0
  229. package/node-renderable-DlLIdBmd.js +269 -0
  230. package/node-renderable-DlLIdBmd.js.map +1 -0
  231. package/node-shadow-DKrcqmNg.js +122 -0
  232. package/node-shadow-DKrcqmNg.js.map +1 -0
  233. package/node-snippet-DUMm9qEO.js +22 -0
  234. package/node-snippet-DUMm9qEO.js.map +1 -0
  235. package/normal-blend-block-BfH_nBoj.js +29 -0
  236. package/normal-blend-block-BfH_nBoj.js.map +1 -0
  237. package/normal-map-fragment-DpsIXrJf.js +38 -0
  238. package/normal-map-fragment-DpsIXrJf.js.map +1 -0
  239. package/normalize-block-F2bLNj9K.js +6 -0
  240. package/normalize-block-F2bLNj9K.js.map +1 -0
  241. package/oneminus-block-BP9x4Dc3.js +6 -0
  242. package/oneminus-block-BP9x4Dc3.js.map +1 -0
  243. package/opposite-block-Cnqmm-lH.js +6 -0
  244. package/opposite-block-Cnqmm-lH.js.map +1 -0
  245. package/package.json +26 -0
  246. package/panner-block-BwMQq-6Y.js +13 -0
  247. package/panner-block-BwMQq-6Y.js.map +1 -0
  248. package/parse-camera-DM3oJJeT.js +23 -0
  249. package/parse-camera-DM3oJJeT.js.map +1 -0
  250. package/pbr-aces-wgsl-HpiQHGN_.js +13 -0
  251. package/pbr-aces-wgsl-HpiQHGN_.js.map +1 -0
  252. package/pbr-metallic-roughness-block-full-6vMm1Jk6.js +763 -0
  253. package/pbr-metallic-roughness-block-full-6vMm1Jk6.js.map +1 -0
  254. package/pbr-metallic-roughness-block-h_KAOZrW.js +104 -0
  255. package/pbr-metallic-roughness-block-h_KAOZrW.js.map +1 -0
  256. package/pbr-mr-helper-core-CIwm-T1G.js +237 -0
  257. package/pbr-mr-helper-core-CIwm-T1G.js.map +1 -0
  258. package/pbr-refraction-DGmMSa2v.js +17 -0
  259. package/pbr-refraction-DGmMSa2v.js.map +1 -0
  260. package/pbr-renderable-BJxUtPBb.js +961 -0
  261. package/pbr-renderable-BJxUtPBb.js.map +1 -0
  262. package/pbr-shadow-fragment-LO9SlbJj.js +14 -0
  263. package/pbr-shadow-fragment-LO9SlbJj.js.map +1 -0
  264. package/pbr-template-ext-8q7BcTDf.js +88 -0
  265. package/pbr-template-ext-8q7BcTDf.js.map +1 -0
  266. package/pbr-tracking-B3alzn91.js +31 -0
  267. package/pbr-tracking-B3alzn91.js.map +1 -0
  268. package/pbr-transmission-ext-BxW4CEGu.js +581 -0
  269. package/pbr-transmission-ext-BxW4CEGu.js.map +1 -0
  270. package/perturb-normal-0Q8EM9ig.js +39 -0
  271. package/perturb-normal-0Q8EM9ig.js.map +1 -0
  272. package/posterize-block-DfdKsbEf.js +28 -0
  273. package/posterize-block-DfdKsbEf.js.map +1 -0
  274. package/pow-block-DI5ICzhc.js +13 -0
  275. package/pow-block-DI5ICzhc.js.map +1 -0
  276. package/random-number-block-2OyRYljF.js +15 -0
  277. package/random-number-block-2OyRYljF.js.map +1 -0
  278. package/reciprocal-block-Ck3CW-j-.js +14 -0
  279. package/reciprocal-block-Ck3CW-j-.js.map +1 -0
  280. package/reflect-block-CizpzrX4.js +12 -0
  281. package/reflect-block-CizpzrX4.js.map +1 -0
  282. package/reflectance-fragment-BCrgPmrt.js +143 -0
  283. package/reflectance-fragment-BCrgPmrt.js.map +1 -0
  284. package/reflection-block-DqcwyYqr.js +12 -0
  285. package/reflection-block-DqcwyYqr.js.map +1 -0
  286. package/reflection-texture-base-block-1xmJ0HDj.js +10 -0
  287. package/reflection-texture-base-block-1xmJ0HDj.js.map +1 -0
  288. package/reflection-texture-block-C3QtzoV8.js +60 -0
  289. package/reflection-texture-block-C3QtzoV8.js.map +1 -0
  290. package/refract-block-HHiAk-7U.js +13 -0
  291. package/refract-block-HHiAk-7U.js.map +1 -0
  292. package/refraction-block-U8y6XiXs.js +11 -0
  293. package/refraction-block-U8y6XiXs.js.map +1 -0
  294. package/refraction-dispersion-wgsl-DdQCyyO1.js +16 -0
  295. package/refraction-dispersion-wgsl-DdQCyyO1.js.map +1 -0
  296. package/remap-block-DxK1W1vp.js +27 -0
  297. package/remap-block-DxK1W1vp.js.map +1 -0
  298. package/replace-color-block-1m--hiru.js +17 -0
  299. package/replace-color-block-1m--hiru.js.map +1 -0
  300. package/rgbd-decode-DCvzUYeI.js +110 -0
  301. package/rgbd-decode-DCvzUYeI.js.map +1 -0
  302. package/rotate2d-block-nEe1N2MJ.js +15 -0
  303. package/rotate2d-block-nEe1N2MJ.js.map +1 -0
  304. package/scale-block-C5Z8159G.js +13 -0
  305. package/scale-block-C5Z8159G.js.map +1 -0
  306. package/scene-material-swap-C2ykv55W.js +34 -0
  307. package/scene-material-swap-C2ykv55W.js.map +1 -0
  308. package/screen-size-block-BVNnOvE8.js +21 -0
  309. package/screen-size-block-BVNnOvE8.js.map +1 -0
  310. package/screen-space-block-CwaxdfSe.js +28 -0
  311. package/screen-space-block-CwaxdfSe.js.map +1 -0
  312. package/shader-renderable-D-6796KR.js +531 -0
  313. package/shader-renderable-D-6796KR.js.map +1 -0
  314. package/shadow-fragment-core-DHN2G6FI.js +110 -0
  315. package/shadow-fragment-core-DHN2G6FI.js.map +1 -0
  316. package/shadow-map-CQNQC-Fw.js +13 -0
  317. package/shadow-map-CQNQC-Fw.js.map +1 -0
  318. package/sheen-block-BugfJqK3.js +12 -0
  319. package/sheen-block-BugfJqK3.js.map +1 -0
  320. package/sheen-fragment-Dze2f7XJ.js +215 -0
  321. package/sheen-fragment-Dze2f7XJ.js.map +1 -0
  322. package/simplex-perlin-3d-block-CcMtofzV.js +58 -0
  323. package/simplex-perlin-3d-block-CcMtofzV.js.map +1 -0
  324. package/singlelight-directional-wgsl-CmUDZxwz.js +39 -0
  325. package/singlelight-directional-wgsl-CmUDZxwz.js.map +1 -0
  326. package/singlelight-hemispheric-wgsl-t-83IP_s.js +40 -0
  327. package/singlelight-hemispheric-wgsl-t-83IP_s.js.map +1 -0
  328. package/singlelight-point-wgsl-CLzULIYV.js +45 -0
  329. package/singlelight-point-wgsl-CLzULIYV.js.map +1 -0
  330. package/singlelight-spot-wgsl-DEEUrfVM.js +47 -0
  331. package/singlelight-spot-wgsl-DEEUrfVM.js.map +1 -0
  332. package/skeleton-fragment-B_XlFbtx.js +71 -0
  333. package/skeleton-fragment-B_XlFbtx.js.map +1 -0
  334. package/skybox-renderable-DDwzu-PT.js +92 -0
  335. package/skybox-renderable-DDwzu-PT.js.map +1 -0
  336. package/skybox.vertex-DJgi072W.js +5 -0
  337. package/skybox.vertex-DJgi072W.js.map +1 -0
  338. package/smoothstep-block-Di4t37x-.js +15 -0
  339. package/smoothstep-block-Di4t37x-.js.map +1 -0
  340. package/splat-ply-compressed-BahdBG1r.js +394 -0
  341. package/splat-ply-compressed-BahdBG1r.js.map +1 -0
  342. package/standard-renderable-GjxL9xSf.js +636 -0
  343. package/standard-renderable-GjxL9xSf.js.map +1 -0
  344. package/std-ambient-fragment-BoUsD06w.js +37 -0
  345. package/std-ambient-fragment-BoUsD06w.js.map +1 -0
  346. package/std-cube-reflection-fragment-ulqc3bsP.js +31 -0
  347. package/std-cube-reflection-fragment-ulqc3bsP.js.map +1 -0
  348. package/std-emissive-fragment-DNGj1HdQ.js +40 -0
  349. package/std-emissive-fragment-DNGj1HdQ.js.map +1 -0
  350. package/std-lightmap-fragment-Bqj89aIe.js +37 -0
  351. package/std-lightmap-fragment-Bqj89aIe.js.map +1 -0
  352. package/std-opacity-fragment-KuPh5N2Z.js +37 -0
  353. package/std-opacity-fragment-KuPh5N2Z.js.map +1 -0
  354. package/std-reflection-fragment-BA5Ghn_M.js +57 -0
  355. package/std-reflection-fragment-BA5Ghn_M.js.map +1 -0
  356. package/std-shadow-fragment-FNQfrJuC.js +8 -0
  357. package/std-shadow-fragment-FNQfrJuC.js.map +1 -0
  358. package/std-specular-fragment-CE-6scqd.js +37 -0
  359. package/std-specular-fragment-CE-6scqd.js.map +1 -0
  360. package/std-tracking-CNKZ-hJN.js +15 -0
  361. package/std-tracking-CNKZ-hJN.js.map +1 -0
  362. package/step-block-BkywzTYm.js +13 -0
  363. package/step-block-BkywzTYm.js.map +1 -0
  364. package/storage-read-block-BdzhJfln.js +25 -0
  365. package/storage-read-block-BdzhJfln.js.map +1 -0
  366. package/storage-write-block-DjLKZ0Ro.js +11 -0
  367. package/storage-write-block-DjLKZ0Ro.js.map +1 -0
  368. package/subsurface-block-CBhxT9ui.js +12 -0
  369. package/subsurface-block-CBhxT9ui.js.map +1 -0
  370. package/subsurface-fragment-liM3y2-P.js +158 -0
  371. package/subsurface-fragment-liM3y2-P.js.map +1 -0
  372. package/subtract-block-NPfKvzQP.js +6 -0
  373. package/subtract-block-NPfKvzQP.js.map +1 -0
  374. package/swapchain-overlay-DcCSFDp7.js +35 -0
  375. package/swapchain-overlay-DcCSFDp7.js.map +1 -0
  376. package/tbn-block-ByOI6Y43.js +43 -0
  377. package/tbn-block-ByOI6Y43.js.map +1 -0
  378. package/teleport-in-block-BMa17cqq.js +10 -0
  379. package/teleport-in-block-BMa17cqq.js.map +1 -0
  380. package/teleport-out-block-5AkB25H6.js +19 -0
  381. package/teleport-out-block-5AkB25H6.js.map +1 -0
  382. package/texture-block-rr21KIL_.js +70 -0
  383. package/texture-block-rr21KIL_.js.map +1 -0
  384. package/thin-instance-fragment-hsv-RyDs.js +69 -0
  385. package/thin-instance-fragment-hsv-RyDs.js.map +1 -0
  386. package/thin-instance-gpu-C9Gv_Z1w.js +62 -0
  387. package/thin-instance-gpu-C9Gv_Z1w.js.map +1 -0
  388. package/tracking-primitives-wgdBY85t.js +82 -0
  389. package/tracking-primitives-wgdBY85t.js.map +1 -0
  390. package/transform-block-DbRph9JI.js +32 -0
  391. package/transform-block-DbRph9JI.js.map +1 -0
  392. package/trigonometry-block-BYQcTHiD.js +36 -0
  393. package/trigonometry-block-BYQcTHiD.js.map +1 -0
  394. package/triplanar-block-BZHkD9hX.js +148 -0
  395. package/triplanar-block-BZHkD9hX.js.map +1 -0
  396. package/twirl-block-78WtdiBd.js +39 -0
  397. package/twirl-block-78WtdiBd.js.map +1 -0
  398. package/unlit-fragment-BIlhJpz6.js +43 -0
  399. package/unlit-fragment-BIlhJpz6.js.map +1 -0
  400. package/uv-transform-fragment-hYujGpZg.js +47 -0
  401. package/uv-transform-fragment-hYujGpZg.js.map +1 -0
  402. package/vector-merger-CrW-ONB0.js +43 -0
  403. package/vector-merger-CrW-ONB0.js.map +1 -0
  404. package/vector-splitter-BoJuHrAU.js +34 -0
  405. package/vector-splitter-BoJuHrAU.js.map +1 -0
  406. package/vertex-output-Cvft64y0.js +14 -0
  407. package/vertex-output-Cvft64y0.js.map +1 -0
  408. package/view-direction-CWVucfnT.js +12 -0
  409. package/view-direction-CWVucfnT.js.map +1 -0
  410. package/voronoi-noise-block-iNQxa_Ls.js +43 -0
  411. package/voronoi-noise-block-iNQxa_Ls.js.map +1 -0
  412. package/wave-block-CY_mk1ec.js +41 -0
  413. package/wave-block-CY_mk1ec.js.map +1 -0
  414. package/wgsl-helpers-DyzNzCeE.js +48 -0
  415. package/wgsl-helpers-DyzNzCeE.js.map +1 -0
  416. package/worley-noise-3d-block-CyR2-k4s.js +58 -0
  417. package/worley-noise-3d-block-CyR2-k4s.js.map +1 -0
@@ -0,0 +1,12 @@
1
+ const emitter = {
2
+ className: "ViewDirectionBlock",
3
+ emit(block, _outputName, stage, state, ctx) {
4
+ const wp = ctx.cast(ctx.resolve(block, "worldPosition", stage, state), "vec3f").expr;
5
+ const cp = ctx.cast(ctx.resolve(block, "cameraPosition", stage, state), "vec3f").expr;
6
+ return { expr: `normalize(${cp} - ${wp})`, type: "vec3f" };
7
+ }
8
+ };
9
+ export {
10
+ emitter
11
+ };
12
+ //# sourceMappingURL=view-direction-CWVucfnT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-direction-CWVucfnT.js","sources":["../src/material/node/blocks/view-direction.ts"],"sourcesContent":["/** ViewDirectionBlock — normalized direction from worldPos to cameraPosition.\n *\n * Inputs:\n * - `worldPosition`: vec3/vec4 — we take .xyz if vec4.\n * - `cameraPosition`: vec3.\n */\n\nimport type { BlockEmitter } from \"../node-types.js\";\n\nexport const emitter: BlockEmitter = {\n className: \"ViewDirectionBlock\",\n emit(block, _outputName, stage, state, ctx) {\n const wp = ctx.cast(ctx.resolve(block, \"worldPosition\", stage, state), \"vec3f\").expr;\n const cp = ctx.cast(ctx.resolve(block, \"cameraPosition\", stage, state), \"vec3f\").expr;\n return { expr: `normalize(${cp} - ${wp})`, type: \"vec3f\" };\n },\n};\n"],"names":[],"mappings":"AASO,MAAM,UAAwB;AAAA,EACjC,WAAW;AAAA,EACX,KAAK,OAAO,aAAa,OAAO,OAAO,KAAK;AACxC,UAAM,KAAK,IAAI,KAAK,IAAI,QAAQ,OAAO,iBAAiB,OAAO,KAAK,GAAG,OAAO,EAAE;AAChF,UAAM,KAAK,IAAI,KAAK,IAAI,QAAQ,OAAO,kBAAkB,OAAO,KAAK,GAAG,OAAO,EAAE;AACjF,WAAO,EAAE,MAAM,aAAa,EAAE,MAAM,EAAE,KAAK,MAAM,QAAA;AAAA,EACrD;AACJ;"}
@@ -0,0 +1,43 @@
1
+ const emitter = {
2
+ className: "VoronoiNoiseBlock",
3
+ emit(block, outputName, stage, state, ctx) {
4
+ const seed = ctx.cast(ctx.resolve(block, "seed", stage, state), "vec2f");
5
+ const offset = ctx.cast(ctx.resolve(block, "offset", stage, state), "f32");
6
+ const density = ctx.cast(ctx.resolve(block, "density", stage, state), "f32");
7
+ state[stage].helpers.set(
8
+ "nme_voronoi",
9
+ `fn nme_voronoiRandom(pIn: vec2<f32>) -> vec2<f32> {
10
+ let p = vec2<f32>(dot(pIn, vec2<f32>(127.1, 311.7)), dot(pIn, vec2<f32>(269.5, 183.3)));
11
+ return fract(sin(p) * 18.5453);
12
+ }
13
+ fn nme_voronoi(seed: vec2<f32>, offset: f32, density: f32) -> vec2<f32> {
14
+ let n = floor(seed * density);
15
+ let f = fract(seed * density);
16
+ var outValue = 0.0;
17
+ var cells = 0.0;
18
+ var m = vec3<f32>(8.0);
19
+ for (var j = -1; j <= 1; j = j + 1) {
20
+ for (var i = -1; i <= 1; i = i + 1) {
21
+ let g = vec2<f32>(f32(i), f32(j));
22
+ let o = nme_voronoiRandom(n + g);
23
+ let r = g - f + (vec2<f32>(0.5) + 0.5 * sin(vec2<f32>(offset) + 6.2831 * o));
24
+ let d = dot(r, r);
25
+ if (d < m.x) {
26
+ m = vec3<f32>(d, o);
27
+ outValue = m.x;
28
+ cells = m.y;
29
+ }
30
+ }
31
+ }
32
+ return vec2<f32>(outValue, cells);
33
+ }`
34
+ );
35
+ const temp = ctx.temp(state, "voronoi");
36
+ state[stage].body.push(`let ${temp} = nme_voronoi(${seed.expr}, ${offset.expr}, ${density.expr});`);
37
+ return { expr: outputName === "cells" ? `${temp}.y` : `${temp}.x`, type: "f32" };
38
+ }
39
+ };
40
+ export {
41
+ emitter
42
+ };
43
+ //# sourceMappingURL=voronoi-noise-block-iNQxa_Ls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voronoi-noise-block-iNQxa_Ls.js","sources":["../src/material/node/blocks/voronoi-noise-block.ts"],"sourcesContent":["import type { BlockEmitter } from \"../node-types.js\";\n\nexport const emitter: BlockEmitter = {\n className: \"VoronoiNoiseBlock\",\n emit(block, outputName, stage, state, ctx) {\n const seed = ctx.cast(ctx.resolve(block, \"seed\", stage, state), \"vec2f\");\n const offset = ctx.cast(ctx.resolve(block, \"offset\", stage, state), \"f32\");\n const density = ctx.cast(ctx.resolve(block, \"density\", stage, state), \"f32\");\n state[stage].helpers.set(\n \"nme_voronoi\",\n `fn nme_voronoiRandom(pIn: vec2<f32>) -> vec2<f32> {\nlet p = vec2<f32>(dot(pIn, vec2<f32>(127.1, 311.7)), dot(pIn, vec2<f32>(269.5, 183.3)));\nreturn fract(sin(p) * 18.5453);\n}\nfn nme_voronoi(seed: vec2<f32>, offset: f32, density: f32) -> vec2<f32> {\nlet n = floor(seed * density);\nlet f = fract(seed * density);\nvar outValue = 0.0;\nvar cells = 0.0;\nvar m = vec3<f32>(8.0);\nfor (var j = -1; j <= 1; j = j + 1) {\nfor (var i = -1; i <= 1; i = i + 1) {\nlet g = vec2<f32>(f32(i), f32(j));\nlet o = nme_voronoiRandom(n + g);\nlet r = g - f + (vec2<f32>(0.5) + 0.5 * sin(vec2<f32>(offset) + 6.2831 * o));\nlet d = dot(r, r);\nif (d < m.x) {\nm = vec3<f32>(d, o);\noutValue = m.x;\ncells = m.y;\n}\n}\n}\nreturn vec2<f32>(outValue, cells);\n}`\n );\n const temp = ctx.temp(state, \"voronoi\");\n state[stage].body.push(`let ${temp} = nme_voronoi(${seed.expr}, ${offset.expr}, ${density.expr});`);\n return { expr: outputName === \"cells\" ? `${temp}.y` : `${temp}.x`, type: \"f32\" };\n },\n};\n"],"names":[],"mappings":"AAEO,MAAM,UAAwB;AAAA,EACjC,WAAW;AAAA,EACX,KAAK,OAAO,YAAY,OAAO,OAAO,KAAK;AACvC,UAAM,OAAO,IAAI,KAAK,IAAI,QAAQ,OAAO,QAAQ,OAAO,KAAK,GAAG,OAAO;AACvE,UAAM,SAAS,IAAI,KAAK,IAAI,QAAQ,OAAO,UAAU,OAAO,KAAK,GAAG,KAAK;AACzE,UAAM,UAAU,IAAI,KAAK,IAAI,QAAQ,OAAO,WAAW,OAAO,KAAK,GAAG,KAAK;AAC3E,UAAM,KAAK,EAAE,QAAQ;AAAA,MACjB;AAAA,MACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AA0BJ,UAAM,OAAO,IAAI,KAAK,OAAO,SAAS;AACtC,UAAM,KAAK,EAAE,KAAK,KAAK,OAAO,IAAI,kBAAkB,KAAK,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI;AAClG,WAAO,EAAE,MAAM,eAAe,UAAU,GAAG,IAAI,OAAO,GAAG,IAAI,MAAM,MAAM,MAAA;AAAA,EAC7E;AACJ;"}
@@ -0,0 +1,41 @@
1
+ function scalar(type, value) {
2
+ if (type === "f32") {
3
+ return value;
4
+ }
5
+ if (type === "vec2f") {
6
+ return `vec2<f32>(${value})`;
7
+ }
8
+ if (type === "vec3f") {
9
+ return `vec3<f32>(${value})`;
10
+ }
11
+ if (type === "vec4f") {
12
+ return `vec4<f32>(${value})`;
13
+ }
14
+ throw new Error(`NodeMaterial: WaveBlock does not support ${type}`);
15
+ }
16
+ const emitter = {
17
+ className: "WaveBlock",
18
+ emit(block, _outputName, stage, state, ctx) {
19
+ const input = ctx.resolve(block, "input", stage, state);
20
+ const v = input.expr;
21
+ const half = scalar(input.type, "0.5");
22
+ const one = scalar(input.type, "1.0");
23
+ const two = scalar(input.type, "2.0");
24
+ const rawKind = block.serialized.kind;
25
+ const kind = typeof rawKind === "number" ? rawKind : 0;
26
+ if (kind === 0) {
27
+ return { expr: `(${v} - floor(${half} + ${v}))`, type: input.type };
28
+ }
29
+ if (kind === 1) {
30
+ return { expr: `(${one} - ${two} * round(fract(${v})))`, type: input.type };
31
+ }
32
+ if (kind === 2) {
33
+ return { expr: `(${two} * abs(${two} * (${v} - floor(${half} + ${v}))) - ${one})`, type: input.type };
34
+ }
35
+ throw new Error(`NodeMaterial: unknown WaveBlock kind ${kind}`);
36
+ }
37
+ };
38
+ export {
39
+ emitter
40
+ };
41
+ //# sourceMappingURL=wave-block-CY_mk1ec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wave-block-CY_mk1ec.js","sources":["../src/material/node/blocks/wave-block.ts"],"sourcesContent":["import type { BlockEmitter, NodeValueType } from \"../node-types.js\";\n\nfunction scalar(type: NodeValueType, value: string): string {\n if (type === \"f32\") {\n return value;\n }\n if (type === \"vec2f\") {\n return `vec2<f32>(${value})`;\n }\n if (type === \"vec3f\") {\n return `vec3<f32>(${value})`;\n }\n if (type === \"vec4f\") {\n return `vec4<f32>(${value})`;\n }\n throw new Error(`NodeMaterial: WaveBlock does not support ${type}`);\n}\n\nexport const emitter: BlockEmitter = {\n className: \"WaveBlock\",\n emit(block, _outputName, stage, state, ctx) {\n const input = ctx.resolve(block, \"input\", stage, state);\n const v = input.expr;\n const half = scalar(input.type, \"0.5\");\n const one = scalar(input.type, \"1.0\");\n const two = scalar(input.type, \"2.0\");\n const rawKind = block.serialized.kind;\n const kind = typeof rawKind === \"number\" ? rawKind : 0;\n if (kind === 0) {\n return { expr: `(${v} - floor(${half} + ${v}))`, type: input.type };\n }\n if (kind === 1) {\n return { expr: `(${one} - ${two} * round(fract(${v})))`, type: input.type };\n }\n if (kind === 2) {\n return { expr: `(${two} * abs(${two} * (${v} - floor(${half} + ${v}))) - ${one})`, type: input.type };\n }\n throw new Error(`NodeMaterial: unknown WaveBlock kind ${kind}`);\n },\n};\n"],"names":[],"mappings":"AAEA,SAAS,OAAO,MAAqB,OAAuB;AACxD,MAAI,SAAS,OAAO;AAChB,WAAO;AAAA,EACX;AACA,MAAI,SAAS,SAAS;AAClB,WAAO,aAAa,KAAK;AAAA,EAC7B;AACA,MAAI,SAAS,SAAS;AAClB,WAAO,aAAa,KAAK;AAAA,EAC7B;AACA,MAAI,SAAS,SAAS;AAClB,WAAO,aAAa,KAAK;AAAA,EAC7B;AACA,QAAM,IAAI,MAAM,4CAA4C,IAAI,EAAE;AACtE;AAEO,MAAM,UAAwB;AAAA,EACjC,WAAW;AAAA,EACX,KAAK,OAAO,aAAa,OAAO,OAAO,KAAK;AACxC,UAAM,QAAQ,IAAI,QAAQ,OAAO,SAAS,OAAO,KAAK;AACtD,UAAM,IAAI,MAAM;AAChB,UAAM,OAAO,OAAO,MAAM,MAAM,KAAK;AACrC,UAAM,MAAM,OAAO,MAAM,MAAM,KAAK;AACpC,UAAM,MAAM,OAAO,MAAM,MAAM,KAAK;AACpC,UAAM,UAAU,MAAM,WAAW;AACjC,UAAM,OAAO,OAAO,YAAY,WAAW,UAAU;AACrD,QAAI,SAAS,GAAG;AACZ,aAAO,EAAE,MAAM,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,MAAM,MAAM,KAAA;AAAA,IACjE;AACA,QAAI,SAAS,GAAG;AACZ,aAAO,EAAE,MAAM,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,OAAO,MAAM,MAAM,KAAA;AAAA,IACzE;AACA,QAAI,SAAS,GAAG;AACZ,aAAO,EAAE,MAAM,IAAI,GAAG,UAAU,GAAG,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,SAAS,GAAG,KAAK,MAAM,MAAM,KAAA;AAAA,IACnG;AACA,UAAM,IAAI,MAAM,wCAAwC,IAAI,EAAE;AAAA,EAClE;AACJ;"}
@@ -0,0 +1,48 @@
1
+ const WGSL_PERTURB_NORMAL = `
2
+ fn perturbNormal(vNormalW: vec3<f32>, positionW: vec3<f32>, uv: vec2<f32>, bumpScale: f32) -> vec3<f32> {
3
+ let normalSample = textureSample(bT, bS, uv).rgb * 2.0 - 1.0;
4
+ let N = normalize(vNormalW) * bumpScale;
5
+ let dp1 = dpdx(positionW);
6
+ let dp2 = -dpdy(positionW);
7
+ let duv1 = dpdx(uv);
8
+ let duv2 = -dpdy(uv);
9
+ let dp2perp = cross(dp2, N);
10
+ let dp1perp = cross(N, dp1);
11
+ var tangent = dp2perp * duv1.x + dp1perp * duv2.x;
12
+ var bitangent = dp2perp * duv1.y + dp1perp * duv2.y;
13
+ let det = max(dot(tangent, tangent), dot(bitangent, bitangent));
14
+ let invmax = select(inverseSqrt(det), 0.0, det == 0.0);
15
+ let cotangentFrame = mat3x3<f32>(tangent * invmax, bitangent * invmax, N);
16
+ return normalize(cotangentFrame * normalSample);
17
+ }
18
+ `;
19
+ const WGSL_FOG = `
20
+ const E_FOG: f32 = 2.71828;
21
+ fn calcFogFactor(fogDistance: vec3<f32>) -> f32 {
22
+ var fogCoeff: f32 = 1.0;
23
+ let fogMode = scene.vFogInfos.x;
24
+ let fogStart = scene.vFogInfos.y;
25
+ let fogEnd = scene.vFogInfos.z;
26
+ let fogDensity = scene.vFogInfos.w;
27
+ let dist = length(fogDistance);
28
+ if (fogMode == 3.0) { fogCoeff = (fogEnd - dist) / (fogEnd - fogStart); }
29
+ else if (fogMode == 1.0) { fogCoeff = 1.0 / pow(E_FOG, dist * fogDensity); }
30
+ else if (fogMode == 2.0) { fogCoeff = 1.0 / pow(E_FOG, dist * dist * fogDensity * fogDensity); }
31
+ return clamp(fogCoeff, 0.0, 1.0);
32
+ }
33
+ `;
34
+ const WGSL_DITHER = `
35
+ fn dither(seed: vec2<f32>, varianceAmount: f32) -> f32 {
36
+ let rand = fract(sin(dot(seed, vec2<f32>(12.9898, 78.233))) * 43758.5453);
37
+ let normVariance = varianceAmount / 255.0;
38
+ return mix(-normVariance, normVariance, rand);
39
+ }
40
+ `;
41
+ const WGSL_NO_DITHER = "fn dither(a:vec2<f32>,b:f32)->f32{return 0.0;}";
42
+ export {
43
+ WGSL_PERTURB_NORMAL as W,
44
+ WGSL_DITHER as a,
45
+ WGSL_NO_DITHER as b,
46
+ WGSL_FOG as c
47
+ };
48
+ //# sourceMappingURL=wgsl-helpers-DyzNzCeE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wgsl-helpers-DyzNzCeE.js","sources":["../src/shader/wgsl-helpers.ts"],"sourcesContent":["/** Shared WGSL helper snippets used by both PBR and Standard material systems.\n *\n * These are pure WGSL function strings — no bindings, no UBO declarations.\n * Each material system wraps them with its own binding declarations. */\n\n/** Cotangent-frame bump mapping.\n * Requires: `bT` (texture_2d) and `bS` (sampler) in scope. */\nexport const WGSL_PERTURB_NORMAL = `\nfn perturbNormal(vNormalW: vec3<f32>, positionW: vec3<f32>, uv: vec2<f32>, bumpScale: f32) -> vec3<f32> {\nlet normalSample = textureSample(bT, bS, uv).rgb * 2.0 - 1.0;\nlet N = normalize(vNormalW) * bumpScale;\nlet dp1 = dpdx(positionW);\nlet dp2 = -dpdy(positionW);\nlet duv1 = dpdx(uv);\nlet duv2 = -dpdy(uv);\nlet dp2perp = cross(dp2, N);\nlet dp1perp = cross(N, dp1);\nvar tangent = dp2perp * duv1.x + dp1perp * duv2.x;\nvar bitangent = dp2perp * duv1.y + dp1perp * duv2.y;\nlet det = max(dot(tangent, tangent), dot(bitangent, bitangent));\nlet invmax = select(inverseSqrt(det), 0.0, det == 0.0);\nlet cotangentFrame = mat3x3<f32>(tangent * invmax, bitangent * invmax, N);\nreturn normalize(cotangentFrame * normalSample);\n}\n`;\n\n/** ESM shadow helper functions.\n * Requires: `shadowTex` (texture_2d), `shadowSampler` (sampler) in scope. */\nexport const WGSL_SHADOW_ESM = `\nfn computeFallOff(value: f32, clipSpace: vec2<f32>, frustumEdgeFalloff: f32) -> f32 {\nlet mask = smoothstep(1.0 - frustumEdgeFalloff, 1.00000012, clamp(dot(clipSpace, clipSpace), 0.0, 1.0));\nreturn mix(value, 1.0, mask);\n}\nfn computeShadowWithESM(posFromLight: vec4<f32>, depthMetric: f32, darkness: f32, depthScale: f32, frustumEdgeFalloff: f32) -> f32 {\nlet clipSpace = posFromLight.xyz / posFromLight.w;\nlet uv = vec2<f32>(0.5 * clipSpace.x + 0.5, 0.5 - 0.5 * clipSpace.y);\nif (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) { return 1.0; }\nlet shadowPixelDepth = clamp(depthMetric, 0.0, 1.0);\nlet shadowMapSample = textureSampleLevel(shadowTex, shadowSampler, uv, 0.0).x;\nlet esm = 1.0 - clamp(exp(min(87.0, depthScale * shadowPixelDepth)) * shadowMapSample, 0.0, 1.0 - darkness);\nreturn computeFallOff(esm, clipSpace.xy, frustumEdgeFalloff);\n}\n`;\n\n/** Fog calculation helper.\n * Requires: `scene.vFogInfos` (vec4) in scope. */\nexport const WGSL_FOG = `\nconst E_FOG: f32 = 2.71828;\nfn calcFogFactor(fogDistance: vec3<f32>) -> f32 {\nvar fogCoeff: f32 = 1.0;\nlet fogMode = scene.vFogInfos.x;\nlet fogStart = scene.vFogInfos.y;\nlet fogEnd = scene.vFogInfos.z;\nlet fogDensity = scene.vFogInfos.w;\nlet dist = length(fogDistance);\nif (fogMode == 3.0) { fogCoeff = (fogEnd - dist) / (fogEnd - fogStart); }\nelse if (fogMode == 1.0) { fogCoeff = 1.0 / pow(E_FOG, dist * fogDensity); }\nelse if (fogMode == 2.0) { fogCoeff = 1.0 / pow(E_FOG, dist * dist * fogDensity * fogDensity); }\nreturn clamp(fogCoeff, 0.0, 1.0);\n}\n`;\n\n/** Dither noise function.\n * Pure math — no UBO dependency. */\nexport const WGSL_DITHER = `\nfn dither(seed: vec2<f32>, varianceAmount: f32) -> f32 {\nlet rand = fract(sin(dot(seed, vec2<f32>(12.9898, 78.233))) * 43758.5453);\nlet normVariance = varianceAmount / 255.0;\nreturn mix(-normVariance, normVariance, rand);\n}\n`;\n\n/** Noise-disabled replacement for shaders that still call dither(). */\nexport const WGSL_NO_DITHER = \"fn dither(a:vec2<f32>,b:f32)->f32{return 0.0;}\";\n"],"names":[],"mappings":"AAOO,MAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuC5B,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBjB,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASpB,MAAM,iBAAiB;"}
@@ -0,0 +1,58 @@
1
+ const emitter = {
2
+ className: "WorleyNoise3DBlock",
3
+ emit(block, outputName, stage, state, ctx) {
4
+ const seed = ctx.cast(ctx.resolve(block, "seed", stage, state), "vec3f");
5
+ const jitter = ctx.cast(ctx.resolve(block, "jitter", stage, state), "f32");
6
+ const manhattan = block.serialized.manhattanDistance === true ? "true" : "false";
7
+ state[stage].helpers.set(
8
+ "nme_worley3D",
9
+ `fn nme_worleyPermuteScalar(x: f32) -> f32 {
10
+ return ((34.0 * x + 1.0) * x) - floor(((34.0 * x + 1.0) * x) / 289.0) * 289.0;
11
+ }
12
+ fn nme_worleyDistance(x: f32, y: f32, z: f32, manhattanDistance: bool) -> f32 {
13
+ return select(x * x + y * y + z * z, abs(x) + abs(y) + abs(z), manhattanDistance);
14
+ }
15
+ fn nme_worley(P: vec3<f32>, jitter: f32, manhattanDistance: bool) -> vec2<f32> {
16
+ let K = 0.142857142857;
17
+ let Ko = 0.428571428571;
18
+ let K2 = 0.020408163265306;
19
+ let Kz = 0.166666666667;
20
+ let Kzo = 0.416666666667;
21
+ let Pi = floor(P) - floor(floor(P) / 289.0) * 289.0;
22
+ let Pf = fract(P) - vec3<f32>(0.5);
23
+ var d1 = 100000.0;
24
+ var d2 = 100000.0;
25
+ for (var zi = -1; zi <= 1; zi = zi + 1) {
26
+ for (var yi = -1; yi <= 1; yi = yi + 1) {
27
+ for (var xi = -1; xi <= 1; xi = xi + 1) {
28
+ let p0 = nme_worleyPermuteScalar(Pi.x + f32(xi));
29
+ let p1 = nme_worleyPermuteScalar(p0 + Pi.y + f32(yi));
30
+ let p2 = nme_worleyPermuteScalar(p1 + Pi.z + f32(zi));
31
+ let ox = fract(p2 * K) - Ko;
32
+ let oy = (floor(p2 * K) - floor(floor(p2 * K) / 7.0) * 7.0) * K - Ko;
33
+ let oz = floor(p2 * K2) * Kz - Kzo;
34
+ let dx = Pf.x - f32(xi) + jitter * ox;
35
+ let dy = Pf.y - f32(yi) + jitter * oy;
36
+ let dz = Pf.z - f32(zi) + jitter * oz;
37
+ let d = nme_worleyDistance(dx, dy, dz, manhattanDistance);
38
+ if (d < d1) {
39
+ d2 = d1;
40
+ d1 = d;
41
+ } else if (d < d2) {
42
+ d2 = d;
43
+ }
44
+ }
45
+ }
46
+ }
47
+ return sqrt(vec2<f32>(d1, d2));
48
+ }`
49
+ );
50
+ const temp = ctx.temp(state, "worley");
51
+ state[stage].body.push(`let ${temp} = nme_worley(${seed.expr}, ${jitter.expr}, ${manhattan});`);
52
+ return { expr: outputName === "y" ? `${temp}.y` : outputName === "output" ? temp : `${temp}.x`, type: outputName === "output" ? "vec2f" : "f32" };
53
+ }
54
+ };
55
+ export {
56
+ emitter
57
+ };
58
+ //# sourceMappingURL=worley-noise-3d-block-CyR2-k4s.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worley-noise-3d-block-CyR2-k4s.js","sources":["../src/material/node/blocks/worley-noise-3d-block.ts"],"sourcesContent":["import type { BlockEmitter } from \"../node-types.js\";\n\nexport const emitter: BlockEmitter = {\n className: \"WorleyNoise3DBlock\",\n emit(block, outputName, stage, state, ctx) {\n const seed = ctx.cast(ctx.resolve(block, \"seed\", stage, state), \"vec3f\");\n const jitter = ctx.cast(ctx.resolve(block, \"jitter\", stage, state), \"f32\");\n const manhattan = block.serialized.manhattanDistance === true ? \"true\" : \"false\";\n state[stage].helpers.set(\n \"nme_worley3D\",\n `fn nme_worleyPermuteScalar(x: f32) -> f32 {\nreturn ((34.0 * x + 1.0) * x) - floor(((34.0 * x + 1.0) * x) / 289.0) * 289.0;\n}\nfn nme_worleyDistance(x: f32, y: f32, z: f32, manhattanDistance: bool) -> f32 {\nreturn select(x * x + y * y + z * z, abs(x) + abs(y) + abs(z), manhattanDistance);\n}\nfn nme_worley(P: vec3<f32>, jitter: f32, manhattanDistance: bool) -> vec2<f32> {\nlet K = 0.142857142857;\nlet Ko = 0.428571428571;\nlet K2 = 0.020408163265306;\nlet Kz = 0.166666666667;\nlet Kzo = 0.416666666667;\nlet Pi = floor(P) - floor(floor(P) / 289.0) * 289.0;\nlet Pf = fract(P) - vec3<f32>(0.5);\nvar d1 = 100000.0;\nvar d2 = 100000.0;\nfor (var zi = -1; zi <= 1; zi = zi + 1) {\nfor (var yi = -1; yi <= 1; yi = yi + 1) {\nfor (var xi = -1; xi <= 1; xi = xi + 1) {\nlet p0 = nme_worleyPermuteScalar(Pi.x + f32(xi));\nlet p1 = nme_worleyPermuteScalar(p0 + Pi.y + f32(yi));\nlet p2 = nme_worleyPermuteScalar(p1 + Pi.z + f32(zi));\nlet ox = fract(p2 * K) - Ko;\nlet oy = (floor(p2 * K) - floor(floor(p2 * K) / 7.0) * 7.0) * K - Ko;\nlet oz = floor(p2 * K2) * Kz - Kzo;\nlet dx = Pf.x - f32(xi) + jitter * ox;\nlet dy = Pf.y - f32(yi) + jitter * oy;\nlet dz = Pf.z - f32(zi) + jitter * oz;\nlet d = nme_worleyDistance(dx, dy, dz, manhattanDistance);\nif (d < d1) {\nd2 = d1;\nd1 = d;\n} else if (d < d2) {\nd2 = d;\n}\n}\n}\n}\nreturn sqrt(vec2<f32>(d1, d2));\n}`\n );\n const temp = ctx.temp(state, \"worley\");\n state[stage].body.push(`let ${temp} = nme_worley(${seed.expr}, ${jitter.expr}, ${manhattan});`);\n return { expr: outputName === \"y\" ? `${temp}.y` : outputName === \"output\" ? temp : `${temp}.x`, type: outputName === \"output\" ? \"vec2f\" : \"f32\" };\n },\n};\n"],"names":[],"mappings":"AAEO,MAAM,UAAwB;AAAA,EACjC,WAAW;AAAA,EACX,KAAK,OAAO,YAAY,OAAO,OAAO,KAAK;AACvC,UAAM,OAAO,IAAI,KAAK,IAAI,QAAQ,OAAO,QAAQ,OAAO,KAAK,GAAG,OAAO;AACvE,UAAM,SAAS,IAAI,KAAK,IAAI,QAAQ,OAAO,UAAU,OAAO,KAAK,GAAG,KAAK;AACzE,UAAM,YAAY,MAAM,WAAW,sBAAsB,OAAO,SAAS;AACzE,UAAM,KAAK,EAAE,QAAQ;AAAA,MACjB;AAAA,MACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAyCJ,UAAM,OAAO,IAAI,KAAK,OAAO,QAAQ;AACrC,UAAM,KAAK,EAAE,KAAK,KAAK,OAAO,IAAI,iBAAiB,KAAK,IAAI,KAAK,OAAO,IAAI,KAAK,SAAS,IAAI;AAC9F,WAAO,EAAE,MAAM,eAAe,MAAM,GAAG,IAAI,OAAO,eAAe,WAAW,OAAO,GAAG,IAAI,MAAM,MAAM,eAAe,WAAW,UAAU,MAAA;AAAA,EAC9I;AACJ;"}