@holoscript/core 8.0.8 → 8.0.10

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 (463) hide show
  1. package/LICENSE +21 -0
  2. package/bin/holoscript.cjs +5 -1
  3. package/dist/GLTFPipeline-L76YTXKA.js +15 -0
  4. package/dist/GLTFPipeline-ZWJN7GI6.cjs +36 -0
  5. package/dist/HoloCompositionParser-K76KTEEE.js +12 -0
  6. package/dist/HoloCompositionParser-UZH6Y4HO.cjs +45 -0
  7. package/dist/HoloScriptCodeParser-2D4ERFUZ.js +6 -0
  8. package/dist/HoloScriptCodeParser-UDRLDA7I.cjs +23 -0
  9. package/dist/HoloScriptPlusParser-FTMCGWXD.js +13 -0
  10. package/dist/HoloScriptPlusParser-LQR5GIKF.cjs +30 -0
  11. package/dist/HoloScriptRuntime-UTRLJI5L.js +12 -0
  12. package/dist/HoloScriptRuntime-YBYXJHJN.cjs +21 -0
  13. package/dist/SceneIRCompiler-63KA3M2F.js +17 -0
  14. package/dist/SceneIRCompiler-KWUFHZ4O.cjs +42 -0
  15. package/dist/{USDZExporter-AUHZODOF.cjs → USDZExporter-ML4UMIGC.cjs} +3 -3
  16. package/dist/{USDZExporter-GXB4AUSG.js → USDZExporter-ZFKLQ76G.js} +3 -3
  17. package/dist/agents/index.cjs +1 -1
  18. package/dist/agents/index.js +1 -1
  19. package/dist/audit/AuditLogger.d.ts +106 -0
  20. package/dist/audit/AuditQueryBuilder.d.ts +79 -0
  21. package/dist/audit/ComplianceReporter.d.ts +90 -0
  22. package/dist/audit/index.d.ts +13 -0
  23. package/dist/{chunk-FGMDMJM7.js → chunk-2BYAUHBO.js} +3 -3
  24. package/dist/{chunk-EDPYCLRC.cjs → chunk-2E6PP5UE.cjs} +83 -59
  25. package/dist/{chunk-GASCWJK5.js → chunk-2EGGAZT3.js} +65 -287
  26. package/dist/{chunk-SIEXCILW.js → chunk-2I3XAGMF.js} +3 -3
  27. package/dist/{chunk-OS533P33.cjs → chunk-2KKOYZYI.cjs} +1074 -1655
  28. package/dist/chunk-2MQKNDNH.js +51 -0
  29. package/dist/{chunk-7DMMMBCY.cjs → chunk-2X3IPCBK.cjs} +10 -10
  30. package/dist/chunk-2ZOTBO25.cjs +202 -0
  31. package/dist/chunk-356N4NPM.cjs +152 -0
  32. package/dist/{chunk-X3GJPRVK.cjs → chunk-36NPLOI4.cjs} +92 -81
  33. package/dist/{chunk-SLU6UPJI.cjs → chunk-37HHY7RH.cjs} +5 -5
  34. package/dist/{chunk-YDPEHCCI.cjs → chunk-3CDDRUER.cjs} +3 -118
  35. package/dist/chunk-3F7ZZWIN.js +1651 -0
  36. package/dist/chunk-3ILD7TKP.cjs +187 -0
  37. package/dist/{chunk-X27QRG4C.cjs → chunk-3IUHTGDD.cjs} +153 -41
  38. package/dist/{chunk-PXNZ6TME.js → chunk-4376VHNJ.js} +60 -36
  39. package/dist/{chunk-YKGPCZEE.cjs → chunk-4FIBOJW6.cjs} +10 -10
  40. package/dist/chunk-4Q7RKQQI.cjs +14195 -0
  41. package/dist/{chunk-YCM6QQRT.cjs → chunk-566ZB4LZ.cjs} +180 -8
  42. package/dist/{chunk-2Y3V22SG.js → chunk-5CURIYGT.js} +3 -3
  43. package/dist/{chunk-QBWNJXNR.js → chunk-5FYMCVBY.js} +5 -5
  44. package/dist/{chunk-ZA34AN3R.js → chunk-5LVFTGKH.js} +841 -12
  45. package/dist/{chunk-Z6PMDS4G.js → chunk-5OUOMBKK.js} +1090 -53
  46. package/dist/chunk-63AUAIL6.js +48 -0
  47. package/dist/chunk-655FATJU.js +110 -0
  48. package/dist/{chunk-TQ377OLB.cjs → chunk-65S62L4D.cjs} +28 -22
  49. package/dist/chunk-6NTAZN5Z.cjs +502 -0
  50. package/dist/chunk-6TRX6AR2.js +9376 -0
  51. package/dist/chunk-6ZCCLKS2.cjs +51 -0
  52. package/dist/{chunk-MDR235RZ.js → chunk-734OB5SK.js} +721 -8
  53. package/dist/{chunk-Q2Q34NF3.js → chunk-77QI552M.js} +6 -6
  54. package/dist/{chunk-WKX5AMOY.js → chunk-7I74JWPW.js} +3 -3
  55. package/dist/{chunk-5FSKKMR7.cjs → chunk-7IDJDMPU.cjs} +232 -4
  56. package/dist/chunk-7VBKRGIZ.cjs +847 -0
  57. package/dist/{chunk-KCPHASCO.js → chunk-AATYYLYK.js} +5 -5
  58. package/dist/{chunk-DTGBOSEM.cjs → chunk-AWXFEAQL.cjs} +12 -12
  59. package/dist/{chunk-THCK6ECW.js → chunk-B3CWTCK2.js} +231 -3
  60. package/dist/chunk-BCP4E7MD.cjs +997 -0
  61. package/dist/chunk-BG7RPYJP.js +91 -0
  62. package/dist/{chunk-VF257YKO.js → chunk-BP4KTMLY.js} +117 -5
  63. package/dist/{chunk-YN6IETRZ.js → chunk-BQJ3YBF3.js} +6424 -987
  64. package/dist/{chunk-7X5PNIQJ.js → chunk-BXSOEQI3.js} +27 -25
  65. package/dist/{chunk-WFKVS2K4.cjs → chunk-C65C5VED.cjs} +1101 -55
  66. package/dist/{chunk-KOUAQL2B.cjs → chunk-CANAL6CT.cjs} +1569 -168
  67. package/dist/{chunk-FDSGHPAK.js → chunk-CBSDJF3B.js} +3 -3
  68. package/dist/{chunk-FEWUHQNM.cjs → chunk-CFVK26P4.cjs} +4 -4
  69. package/dist/{chunk-M7K4LE66.cjs → chunk-CI33NINL.cjs} +4 -4
  70. package/dist/{chunk-2OWDB4FB.js → chunk-CKV5NYAE.js} +6 -6
  71. package/dist/{chunk-LPS5AMQD.cjs → chunk-CM4NHXVO.cjs} +24 -24
  72. package/dist/chunk-D3HSRXYB.js +115 -0
  73. package/dist/{chunk-FNHJRI32.js → chunk-DBH3D2MU.js} +1561 -160
  74. package/dist/{chunk-GW3LKD5C.js → chunk-DJNH4HFW.js} +3 -3
  75. package/dist/{chunk-2GCNOI2U.cjs → chunk-DN6F4DHH.cjs} +9 -3
  76. package/dist/chunk-DQRJ5RJG.js +432 -0
  77. package/dist/{chunk-C7ZBSV2Q.js → chunk-DUG3OQAS.js} +106 -43
  78. package/dist/chunk-ECUYJOJ2.cjs +199 -0
  79. package/dist/chunk-EEMTCAK7.js +182 -0
  80. package/dist/{chunk-3SKLAUDD.cjs → chunk-EI3J6LTW.cjs} +359 -581
  81. package/dist/{chunk-SSSN7VAM.js → chunk-EM2OGPYE.js} +4 -4
  82. package/dist/{chunk-56VOWURB.cjs → chunk-ENZCIQZC.cjs} +522 -453
  83. package/dist/chunk-ESBXUYOC.cjs +836 -0
  84. package/dist/{chunk-L5U4W6JC.js → chunk-ESSEF6U2.js} +4 -4
  85. package/dist/chunk-ET3AN4W3.js +824 -0
  86. package/dist/chunk-EXKSFGSX.cjs +14 -14
  87. package/dist/{chunk-I76GIKN7.cjs → chunk-F3YT6GUF.cjs} +17 -17
  88. package/dist/{chunk-WRWEX5ZF.js → chunk-F75DZBBI.js} +3 -3
  89. package/dist/{chunk-4JGRWHZJ.js → chunk-FG6PYGIZ.js} +12 -6
  90. package/dist/chunk-FGGJQRLZ.js +14 -14
  91. package/dist/{chunk-SXOSDZD6.js → chunk-FWCHPCD4.js} +128 -10
  92. package/dist/{chunk-XW6IXEQH.cjs → chunk-G35CAQ7I.cjs} +5 -5
  93. package/dist/{chunk-7VMGP2FW.js → chunk-G6KACNMO.js} +132 -188
  94. package/dist/{chunk-FJPADH77.cjs → chunk-GAWJJAGT.cjs} +6 -6
  95. package/dist/chunk-GGR7QUKK.cjs +4724 -0
  96. package/dist/chunk-GIBF4BHH.js +14098 -0
  97. package/dist/{chunk-AWB7QYY6.cjs → chunk-GILYQ5VH.cjs} +6 -6
  98. package/dist/{chunk-FWVYAMNW.cjs → chunk-GKFCHGCM.cjs} +4 -4
  99. package/dist/{chunk-Y3ZFVUUU.js → chunk-GLEJ2TLS.js} +3 -3
  100. package/dist/{chunk-3GWWJT7L.js → chunk-GP3OKSKT.js} +13 -13
  101. package/dist/chunk-GTIPOEHN.js +196 -0
  102. package/dist/{chunk-LMJ5EBV7.cjs → chunk-GZPUA2TL.cjs} +16 -15
  103. package/dist/{chunk-IELX2OKI.js → chunk-H4LJ4HEA.js} +3 -115
  104. package/dist/{chunk-ACVWFGBI.cjs → chunk-HCX4SMFK.cjs} +3 -3
  105. package/dist/{chunk-HYNTS5CP.js → chunk-HHRZ6STP.js} +24 -2
  106. package/dist/chunk-HIDEIEFG.js +48 -0
  107. package/dist/{chunk-W6RW64BB.cjs → chunk-HSWBIDZM.cjs} +228 -5
  108. package/dist/{chunk-GSOUNWEL.js → chunk-HVX7QQYK.js} +1035 -1616
  109. package/dist/{chunk-TRCGG42I.cjs → chunk-IFW5IW4L.cjs} +6502 -1019
  110. package/dist/{chunk-F5LKJ6F5.cjs → chunk-IJU6AS67.cjs} +32 -28
  111. package/dist/{chunk-TVANHNJ7.js → chunk-IK6Z2HNC.js} +173 -3
  112. package/dist/{chunk-QGMUTVVH.cjs → chunk-IS7NTKY5.cjs} +20 -20
  113. package/dist/{chunk-YFVQWSNJ.js → chunk-IXWGYWH6.js} +3 -3
  114. package/dist/chunk-J2DAS2PL.js +148 -0
  115. package/dist/chunk-JBQXZIWB.js +148 -0
  116. package/dist/chunk-JBYBMBMW.js +261 -0
  117. package/dist/{chunk-LWUOUCYL.js → chunk-JEJ7TT54.js} +5 -5
  118. package/dist/{chunk-DUCB6LGL.js → chunk-JOTCTHN5.js} +211 -5
  119. package/dist/{chunk-47RUFYKR.js → chunk-K56UVEXV.js} +3 -3
  120. package/dist/{chunk-XSFNHP2E.js → chunk-KB26H447.js} +3 -3
  121. package/dist/{chunk-3NGDZZR4.js → chunk-KEYG7HGY.js} +430 -37
  122. package/dist/{chunk-DY72BMU5.js → chunk-KFVNCW4Q.js} +4 -4
  123. package/dist/chunk-KPGC7SK2.js +192 -0
  124. package/dist/chunk-KROXXBK5.cjs +53 -0
  125. package/dist/{chunk-ZPZAVHXL.cjs → chunk-LB3ZZMKT.cjs} +137 -19
  126. package/dist/chunk-LDYZWNJW.cjs +1654 -0
  127. package/dist/{chunk-UGXHYIWT.cjs → chunk-LHNHO27U.cjs} +28 -28
  128. package/dist/{chunk-ULMSSHCJ.cjs → chunk-LMB555QB.cjs} +405 -38
  129. package/dist/{chunk-CBJY23VL.js → chunk-MD4IVS42.js} +3 -3
  130. package/dist/{chunk-VMLKSV26.js → chunk-MDDWEBCX.js} +226 -3
  131. package/dist/chunk-MUWH4QK5.cjs +94 -0
  132. package/dist/{chunk-T6W3Z3SH.cjs → chunk-N2ILK7BF.cjs} +4 -4
  133. package/dist/{chunk-6EX3I5P4.cjs → chunk-N74QRJGP.cjs} +6 -6
  134. package/dist/chunk-NFFHLX37.cjs +132 -0
  135. package/dist/chunk-NJSYWX7H.js +190 -0
  136. package/dist/{chunk-SH5PPVK7.cjs → chunk-NQN5LFN4.cjs} +165 -221
  137. package/dist/chunk-NTQRFOPP.cjs +56 -0
  138. package/dist/{chunk-YFWRJW4B.js → chunk-NWMJPTVL.js} +51 -55
  139. package/dist/{chunk-63ZGNR2T.cjs → chunk-OC6GV5QH.cjs} +42 -42
  140. package/dist/{chunk-7E7GCQCK.js → chunk-OG3MBHM3.js} +9 -3
  141. package/dist/chunk-OMNHTCS4.cjs +264 -0
  142. package/dist/chunk-OQXB6NNC.cjs +117 -0
  143. package/dist/{chunk-Y57W2CT5.cjs → chunk-OV46CCA2.cjs} +51 -55
  144. package/dist/{chunk-6PRZIHGL.cjs → chunk-OV6HHKLE.cjs} +21 -266
  145. package/dist/{chunk-C37BHB7N.cjs → chunk-P26YYPOO.cjs} +5 -5
  146. package/dist/{chunk-2BZHWUSR.cjs → chunk-P7JEKJTZ.cjs} +16 -16
  147. package/dist/{chunk-NGBXXZLL.cjs → chunk-PDXX5UI4.cjs} +45 -45
  148. package/dist/{chunk-FHQFPYV4.js → chunk-PJFTTSKE.js} +8 -7
  149. package/dist/{chunk-GVFJ6T4S.cjs → chunk-PVODJEJ7.cjs} +721 -8
  150. package/dist/{chunk-ZZ7RO2UQ.js → chunk-Q265VZJ4.js} +3 -3
  151. package/dist/{chunk-E7JP3BS3.cjs → chunk-Q47JEE2C.cjs} +4 -4
  152. package/dist/chunk-QBY7LRN2.js +281 -0
  153. package/dist/{chunk-GH6C2QGW.cjs → chunk-QEDMOGF3.cjs} +857 -16
  154. package/dist/{chunk-5WUNN6ZN.cjs → chunk-QHSAVOOL.cjs} +24 -2
  155. package/dist/chunk-QJNCDVYM.cjs +137 -0
  156. package/dist/chunk-QM7FJB5W.js +4717 -0
  157. package/dist/chunk-QQFB4RT2.cjs +448 -0
  158. package/dist/chunk-QSYBHQAD.cjs +196 -0
  159. package/dist/{chunk-2YSNA2F2.cjs → chunk-QVJMDVYZ.cjs} +5 -5
  160. package/dist/chunk-RAJMAX6D.js +131 -0
  161. package/dist/{chunk-VVKVQZI6.js → chunk-RAN3ECAS.js} +3 -3
  162. package/dist/chunk-RKGUZBOC.js +79 -0
  163. package/dist/{chunk-HLFDZ35S.cjs → chunk-RRQIAJLQ.cjs} +8 -8
  164. package/dist/{chunk-PABONWKI.js → chunk-RXQNRZ5F.js} +3 -3
  165. package/dist/{chunk-7ZHYEITD.cjs → chunk-S4O7CFHQ.cjs} +10 -11
  166. package/dist/chunk-SE7ANBGN.js +128 -0
  167. package/dist/{chunk-X2AVEAZM.cjs → chunk-SJIRCTIS.cjs} +176 -2
  168. package/dist/{chunk-WXQ57LAO.js → chunk-SQXAZHDG.js} +4 -4
  169. package/dist/chunk-SR73L5ZP.cjs +84 -0
  170. package/dist/{chunk-OABEO6HH.js → chunk-SZOLTWWD.js} +2349 -214
  171. package/dist/{chunk-5JEU52DW.js → chunk-TPZ3BN2D.js} +3 -3
  172. package/dist/{chunk-QFU53KRH.js → chunk-TSTFYGGX.js} +4 -5
  173. package/dist/{chunk-EBS32AJI.cjs → chunk-TZCFKZ6Z.cjs} +5 -5
  174. package/dist/chunk-UCVZXQ63.js +724 -0
  175. package/dist/chunk-UGQ3QNV6.js +992 -0
  176. package/dist/chunk-UNMVGZVW.js +142 -0
  177. package/dist/{chunk-TEVX443G.js → chunk-UTUD6GJI.js} +178 -6
  178. package/dist/chunk-UXBYA7DV.cjs +155 -0
  179. package/dist/chunk-V6GXFSK7.cjs +443 -0
  180. package/dist/chunk-VHORVGCG.cjs +761 -0
  181. package/dist/{chunk-B4EKV6HQ.js → chunk-VKCTYLDN.js} +500 -442
  182. package/dist/{chunk-O3MGZDCT.cjs → chunk-VTEXJOSD.cjs} +63 -63
  183. package/dist/chunk-VVAAZITA.cjs +287 -0
  184. package/dist/{chunk-V7AKE5VT.cjs → chunk-W2GA3EQB.cjs} +435 -42
  185. package/dist/chunk-W4GABFCR.js +37 -0
  186. package/dist/chunk-WKEK4NCA.js +490 -0
  187. package/dist/{chunk-5A4TCHOC.cjs → chunk-WNYXT4TE.cjs} +4 -4
  188. package/dist/{chunk-S762UEV5.js → chunk-WTH23ISI.js} +6 -6
  189. package/dist/{chunk-BTKZGHAV.js → chunk-WWNCM473.js} +10 -6
  190. package/dist/{chunk-4YNYPHH3.cjs → chunk-X75H75UY.cjs} +2351 -213
  191. package/dist/{chunk-LYJJI7ZK.cjs → chunk-XCUDDFKC.cjs} +216 -9
  192. package/dist/chunk-YAO4HPJL.cjs +120 -0
  193. package/dist/chunk-YKY2JBER.cjs +9443 -0
  194. package/dist/chunk-YP5CHEYU.cjs +154 -0
  195. package/dist/{chunk-WRNEH5MO.js → chunk-YW3I2FQL.js} +18 -7
  196. package/dist/{chunk-BRNUPDHJ.js → chunk-Z557DVYN.js} +386 -19
  197. package/dist/{chunk-VSACG2AR.js → chunk-Z6LZUYZF.js} +21 -264
  198. package/dist/chunk-ZHPMP447.cjs +43 -0
  199. package/dist/{chunk-LODTHGST.cjs → chunk-ZK7KX5CD.cjs} +133 -70
  200. package/dist/{chunk-CCPSNT6B.cjs → chunk-ZRPALBQB.cjs} +5 -5
  201. package/dist/chunk-ZVFHPMC5.js +824 -0
  202. package/dist/chunk-ZVQMKUGJ.js +443 -0
  203. package/dist/cli/holoscript-runner.cjs +86 -48
  204. package/dist/cli/holoscript-runner.js +54 -16
  205. package/dist/codebase/index.cjs +1 -1
  206. package/dist/codebase/index.js +1 -1
  207. package/dist/compiler/agent-inference.cjs +11 -11
  208. package/dist/compiler/agent-inference.js +9 -6
  209. package/dist/compiler/android-xr.cjs +13 -12
  210. package/dist/compiler/android-xr.js +11 -10
  211. package/dist/compiler/android.cjs +12 -12
  212. package/dist/compiler/android.js +10 -10
  213. package/dist/compiler/business-quest.cjs +10 -10
  214. package/dist/compiler/business-quest.js +2 -2
  215. package/dist/compiler/coco.cjs +1 -1
  216. package/dist/compiler/coco.js +1 -1
  217. package/dist/compiler/context.cjs +9 -9
  218. package/dist/compiler/context.js +6 -6
  219. package/dist/compiler/daimon-seed.cjs +36 -0
  220. package/dist/compiler/daimon-seed.js +12 -0
  221. package/dist/compiler/domain-block-utils.cjs +205 -156
  222. package/dist/compiler/domain-block-utils.js +8 -7
  223. package/dist/compiler/dtdl.cjs +10 -10
  224. package/dist/compiler/dtdl.js +7 -7
  225. package/dist/compiler/gltf-pipeline.cjs +9 -9
  226. package/dist/compiler/gltf-pipeline.js +2 -2
  227. package/dist/compiler/godot.cjs +10 -9
  228. package/dist/compiler/godot.js +9 -8
  229. package/dist/compiler/incremental.cjs +11 -11
  230. package/dist/compiler/incremental.js +6 -6
  231. package/dist/compiler/index.cjs +2585 -3273
  232. package/dist/compiler/index.d.ts +149 -35
  233. package/dist/compiler/index.js +2197 -3102
  234. package/dist/compiler/ios.cjs +11 -11
  235. package/dist/compiler/ios.js +9 -9
  236. package/dist/compiler/llm-provider-capabilities.cjs +9 -9
  237. package/dist/compiler/llm-provider-capabilities.js +6 -6
  238. package/dist/compiler/nodetoy.cjs +1 -1
  239. package/dist/compiler/nodetoy.js +1 -1
  240. package/dist/compiler/openxr.cjs +11 -10
  241. package/dist/compiler/openxr.js +10 -9
  242. package/dist/compiler/remotion.cjs +1 -1
  243. package/dist/compiler/remotion.js +1 -1
  244. package/dist/compiler/reproducibility.cjs +1 -1
  245. package/dist/compiler/reproducibility.js +1 -1
  246. package/dist/compiler/sdf.cjs +11 -10
  247. package/dist/compiler/sdf.js +9 -8
  248. package/dist/compiler/semantic-scene.cjs +7 -7
  249. package/dist/compiler/semantic-scene.js +2 -2
  250. package/dist/compiler/state.cjs +9 -9
  251. package/dist/compiler/state.js +7 -7
  252. package/dist/compiler/trait-composition.cjs +11 -11
  253. package/dist/compiler/trait-composition.js +7 -7
  254. package/dist/compiler/traits/ProvenanceSemiring.d.ts +167 -0
  255. package/dist/compiler/traits/Semiring.d.ts +26 -0
  256. package/dist/compiler/unity.cjs +11 -10
  257. package/dist/compiler/unity.js +10 -9
  258. package/dist/compiler/unreal.cjs +12 -11
  259. package/dist/compiler/unreal.js +10 -9
  260. package/dist/compiler/urdf.cjs +18 -17
  261. package/dist/compiler/urdf.js +9 -8
  262. package/dist/compiler/usd-physics.cjs +11 -10
  263. package/dist/compiler/usd-physics.js +8 -7
  264. package/dist/compiler/visionos.cjs +11 -10
  265. package/dist/compiler/visionos.js +10 -9
  266. package/dist/compiler/vrchat.cjs +11 -10
  267. package/dist/compiler/vrchat.js +9 -8
  268. package/dist/compiler/wasm.cjs +14 -13
  269. package/dist/compiler/wasm.js +9 -8
  270. package/dist/compiler/webgpu.cjs +10 -9
  271. package/dist/compiler/webgpu.js +9 -8
  272. package/dist/constants.cjs +398 -0
  273. package/dist/constants.js +9 -0
  274. package/dist/coordinators/index.cjs +4 -1
  275. package/dist/coordinators/index.js +4 -1
  276. package/dist/debugger.cjs +11 -9
  277. package/dist/debugger.js +9 -7
  278. package/dist/{dist-ACXG6IH5.cjs → dist-GRMOP2UL.cjs} +341 -65
  279. package/dist/{dist-VD4L6V7Q.js → dist-ZBUKU2JG.js} +333 -63
  280. package/dist/entries/interop.cjs +23 -23
  281. package/dist/entries/interop.js +3 -3
  282. package/dist/entries/scripting.cjs +12 -11
  283. package/dist/entries/scripting.js +8 -7
  284. package/dist/evolution/index.cjs +66 -0
  285. package/dist/evolution/index.d.ts +162 -0
  286. package/dist/evolution/index.js +17 -0
  287. package/dist/hololand/index.cjs +41 -37
  288. package/dist/hololand/index.js +3 -3
  289. package/dist/index.cjs +12394 -3224
  290. package/dist/index.d.ts +260 -18
  291. package/dist/index.js +10755 -2182
  292. package/dist/keyword-registry/PluginKeywordRegistry.d.ts +138 -0
  293. package/dist/keyword-registry/index.cjs +29 -0
  294. package/dist/keyword-registry/index.d.ts +1 -0
  295. package/dist/keyword-registry/index.js +4 -0
  296. package/dist/math/tropical-spmv.cjs +11 -11
  297. package/dist/math/tropical-spmv.d.ts +1 -0
  298. package/dist/math/tropical-spmv.js +2 -2
  299. package/dist/math/tropicalSpmv.d.ts +43 -0
  300. package/dist/math/vec3.cjs +1 -1
  301. package/dist/math/vec3.js +1 -1
  302. package/dist/matter/StagedMatter.d.ts +82 -0
  303. package/dist/matter/index.cjs +17 -0
  304. package/dist/matter/index.d.ts +1 -0
  305. package/dist/matter/index.js +4 -0
  306. package/dist/{ml-dsa-Z7JDKW4L.js → ml-dsa-J6VKVT4K.js} +3 -3
  307. package/dist/{ml-dsa-FSKBTE3W.cjs → ml-dsa-MTIK4ZUQ.cjs} +23 -23
  308. package/dist/paper-0c-spike/index.cjs +1 -1
  309. package/dist/paper-0c-spike/index.js +1 -1
  310. package/dist/parameter-envelope/ParameterEnvelope.d.ts +128 -0
  311. package/dist/parameter-envelope/index.cjs +17 -0
  312. package/dist/parameter-envelope/index.d.ts +2 -0
  313. package/dist/parameter-envelope/index.js +4 -0
  314. package/dist/parser/HoloCompositionTypes.d.ts +2013 -0
  315. package/dist/parser/PipelineParser.d.ts +162 -0
  316. package/dist/parser.cjs +36 -20
  317. package/dist/parser.js +13 -9
  318. package/dist/plugin-manifest/ManifestAutoLoader.d.ts +35 -0
  319. package/dist/plugin-manifest/PluginManifest.d.ts +156 -0
  320. package/dist/plugin-manifest/index.cjs +25 -0
  321. package/dist/plugin-manifest/index.d.ts +2 -0
  322. package/dist/plugin-manifest/index.js +4 -0
  323. package/dist/plugin-solver-contract/PluginSolverContract.d.ts +288 -0
  324. package/dist/plugin-solver-contract/index.cjs +41 -0
  325. package/dist/plugin-solver-contract/index.d.ts +1 -0
  326. package/dist/plugin-solver-contract/index.js +4 -0
  327. package/dist/policy/ContentPolicyGate.d.ts +51 -0
  328. package/dist/policy/PolicyPack.d.ts +120 -0
  329. package/dist/policy/blocklist.d.ts +32 -0
  330. package/dist/policy/defaults.d.ts +44 -0
  331. package/dist/policy/index.cjs +106 -0
  332. package/dist/policy/index.d.ts +17 -0
  333. package/dist/policy/index.js +5 -0
  334. package/dist/policy/jsonLogic.d.ts +31 -0
  335. package/dist/policy/types.d.ts +174 -0
  336. package/dist/proof-composition/ProofCompositionLaw.d.ts +93 -0
  337. package/dist/proof-composition/index.cjs +25 -0
  338. package/dist/proof-composition/index.d.ts +1 -0
  339. package/dist/proof-composition/index.js +4 -0
  340. package/dist/receipts/hash-policy.d.ts +85 -0
  341. package/dist/reconstruction/index.cjs +75 -47
  342. package/dist/reconstruction/index.js +5 -5
  343. package/dist/runtime/plugin-trait-registrar.d.ts +36 -0
  344. package/dist/runtime.cjs +81 -79
  345. package/dist/runtime.js +9 -7
  346. package/dist/scene-presets-EDKYZ5GW.js +4 -0
  347. package/dist/scene-presets-NCW2CFRS.cjs +17 -0
  348. package/dist/self-improvement/index.cjs +1 -1
  349. package/dist/self-improvement/index.js +1 -1
  350. package/dist/{src-PT2FERDV.cjs → src-G3D7ZATQ.cjs} +545 -21
  351. package/dist/{src-J6CM4AUR.js → src-UXYA7HM6.js} +539 -16
  352. package/dist/storage/index.cjs +10 -10
  353. package/dist/storage/index.js +3 -3
  354. package/dist/testing.cjs +1 -1
  355. package/dist/testing.js +1 -1
  356. package/dist/tools/index.cjs +3631 -0
  357. package/dist/tools/index.js +3581 -0
  358. package/dist/traitDocs/traitDocs.cjs +9 -9
  359. package/dist/traitDocs/traitDocs.d.ts +1 -0
  360. package/dist/traitDocs/traitDocs.js +3 -3
  361. package/dist/traits/ControlLoopTrait.d.ts +154 -0
  362. package/dist/traits/KinematicChainTrait.d.ts +116 -0
  363. package/dist/traits/SensorSamplingTrait.d.ts +154 -0
  364. package/dist/traits/TraitTypes.d.ts +270 -0
  365. package/dist/traits/TransactionTrait.d.ts +121 -0
  366. package/dist/traits/botanical-lotus.cjs +54 -50
  367. package/dist/traits/botanical-lotus.js +2 -5
  368. package/dist/traits/control-loop.cjs +21 -0
  369. package/dist/traits/control-loop.d.ts +1 -0
  370. package/dist/traits/control-loop.js +4 -0
  371. package/dist/traits/engines/cloth-verlet.d.ts +65 -0
  372. package/dist/traits/engines/index.cjs +19 -19
  373. package/dist/traits/engines/index.d.ts +15 -275
  374. package/dist/traits/engines/index.js +3 -3
  375. package/dist/traits/engines/motion-data-schema.d.ts +119 -0
  376. package/dist/traits/engines/motion-matching.d.ts +102 -0
  377. package/dist/traits/engines/noise.d.ts +25 -0
  378. package/dist/traits/engines/onnx-adapter.d.ts +173 -0
  379. package/dist/traits/engines/onnx-motion-matching.d.ts +163 -0
  380. package/dist/traits/engines/pfnn-network.d.ts +92 -0
  381. package/dist/traits/engines/synthetic-walk-cycle.d.ts +38 -0
  382. package/dist/traits/engines/tensor-ops.d.ts +15 -0
  383. package/dist/traits/index.cjs +2789 -1259
  384. package/dist/traits/index.d.ts +35 -0
  385. package/dist/traits/index.js +1692 -411
  386. package/dist/traits/kinematic-chain.cjs +25 -0
  387. package/dist/traits/kinematic-chain.d.ts +1 -0
  388. package/dist/traits/kinematic-chain.js +4 -0
  389. package/dist/traits/sensor-sampling.cjs +33 -0
  390. package/dist/traits/sensor-sampling.d.ts +1 -0
  391. package/dist/traits/sensor-sampling.js +4 -0
  392. package/dist/traits/simulation-solver-factory.cjs +1 -1
  393. package/dist/traits/simulation-solver-factory.js +1 -1
  394. package/dist/traits/transaction.cjs +29 -0
  395. package/dist/traits/transaction.d.ts +1 -0
  396. package/dist/traits/transaction.js +4 -0
  397. package/dist/traits/webcam-gaze.cjs +1 -1
  398. package/dist/traits/webcam-gaze.js +1 -1
  399. package/dist/type-checker.cjs +7 -6
  400. package/dist/type-checker.js +5 -4
  401. package/dist/types/AdvancedTypeSystem.d.ts +489 -0
  402. package/dist/types/HoloScriptPlus.d.ts +810 -0
  403. package/dist/types/base.d.ts +248 -0
  404. package/dist/types.d.ts +799 -0
  405. package/dist/world/index.cjs +3 -4
  406. package/dist/world/index.js +3 -4
  407. package/dist/world-model/index.cjs +1 -1
  408. package/dist/world-model/index.js +1 -1
  409. package/dist/wot/index.cjs +1 -1
  410. package/dist/wot/index.js +1 -1
  411. package/package.json +135 -69
  412. package/dist/GLTFPipeline-3EJLL3TS.cjs +0 -38
  413. package/dist/GLTFPipeline-3OWJV2VK.js +0 -17
  414. package/dist/HoloScriptPlusParser-ADWRY5OS.cjs +0 -698
  415. package/dist/HoloScriptPlusParser-JLJDXHSC.js +0 -693
  416. package/dist/HoloScriptPlusParser-QCGFPWIL.cjs +0 -27
  417. package/dist/HoloScriptPlusParser-WENAFEFV.js +0 -10
  418. package/dist/HoloScriptRuntime-GGRVEU4T.cjs +0 -19
  419. package/dist/HoloScriptRuntime-GJK6VJPH.js +0 -10
  420. package/dist/chunk-22Q5A6RV.js +0 -979
  421. package/dist/chunk-4C57PR42.js +0 -468
  422. package/dist/chunk-4W5G5QVL.cjs +0 -847
  423. package/dist/chunk-5ET6L4NS.js +0 -487
  424. package/dist/chunk-C4GSLCHE.cjs +0 -7153
  425. package/dist/chunk-F2G6CWFT.js +0 -7089
  426. package/dist/chunk-G6PNEASF.cjs +0 -814
  427. package/dist/chunk-GTA4Q3A3.js +0 -1491
  428. package/dist/chunk-HCCQLAA4.cjs +0 -74
  429. package/dist/chunk-HFSVMKM3.cjs +0 -72
  430. package/dist/chunk-KAIVDEIG.cjs +0 -4539
  431. package/dist/chunk-KQU64CIX.cjs +0 -1508
  432. package/dist/chunk-MSYSQ2AJ.js +0 -4533
  433. package/dist/chunk-NHJLP37F.js +0 -70
  434. package/dist/chunk-NHYRRAGI.cjs +0 -490
  435. package/dist/chunk-OIQYIIO3.cjs +0 -473
  436. package/dist/chunk-OL46QLBJ.js +0 -61
  437. package/dist/chunk-SKZPC5AG.cjs +0 -984
  438. package/dist/chunk-SLHLXUMO.js +0 -445
  439. package/dist/chunk-UOIGFQXC.cjs +0 -9750
  440. package/dist/chunk-UOL6Y5TD.cjs +0 -759
  441. package/dist/chunk-UVFI7XIR.cjs +0 -452
  442. package/dist/chunk-VEPGBETF.js +0 -844
  443. package/dist/chunk-XQ5MWMP2.js +0 -756
  444. package/dist/chunk-XT6JY5W5.js +0 -9684
  445. package/dist/chunk-YRRAUB35.js +0 -811
  446. package/dist/compiler/GasOptimizationAnalyzer.d.ts +0 -73
  447. package/dist/compiler/NFTMarketplaceCompiler.d.ts +0 -23
  448. package/dist/compiler/ar.cjs +0 -23
  449. package/dist/compiler/ar.js +0 -11
  450. package/dist/compiler/babylon.cjs +0 -21
  451. package/dist/compiler/babylon.js +0 -15
  452. package/dist/compiler/multi-layer.cjs +0 -24
  453. package/dist/compiler/multi-layer.js +0 -15
  454. package/dist/compiler/playcanvas.cjs +0 -19
  455. package/dist/compiler/playcanvas.js +0 -13
  456. package/dist/compiler/r3f.cjs +0 -39
  457. package/dist/compiler/r3f.d.ts +0 -22
  458. package/dist/compiler/r3f.js +0 -17
  459. package/dist/compiler/vrr.cjs +0 -24
  460. package/dist/compiler/vrr.js +0 -12
  461. package/dist/parser/NFTMarketplaceTypes.d.ts +0 -191
  462. package/dist/playwright-3AT3AKTV.cjs +0 -98673
  463. package/dist/playwright-VZPDVUEQ.js +0 -98660
@@ -0,0 +1,1654 @@
1
+ 'use strict';
2
+
3
+ // src/compiler/scene-presets.ts
4
+ var MATERIAL_PRESETS = {
5
+ plastic: { roughness: 0.5, metalness: 0, clearcoat: 0.1 },
6
+ metal: { roughness: 0.2, metalness: 1 },
7
+ chrome: { roughness: 0.05, metalness: 1, envMapIntensity: 1.5 },
8
+ gold: { roughness: 0.3, metalness: 1, color: "#ffd700" },
9
+ copper: { roughness: 0.4, metalness: 1, color: "#b87333" },
10
+ glass: {
11
+ roughness: 0,
12
+ metalness: 0,
13
+ transmission: 0.95,
14
+ ior: 1.5,
15
+ thickness: 0.5,
16
+ transparent: true
17
+ },
18
+ crystal: {
19
+ roughness: 0,
20
+ metalness: 0.1,
21
+ transmission: 0.9,
22
+ ior: 2,
23
+ iridescence: 1,
24
+ iridescenceIOR: 1.3
25
+ },
26
+ wood: { roughness: 0.8, metalness: 0 },
27
+ fabric: {
28
+ roughness: 0.95,
29
+ metalness: 0,
30
+ sheen: 0.5,
31
+ sheenRoughness: 0.8,
32
+ sheenColor: "#ffffff"
33
+ },
34
+ rubber: { roughness: 0.9, metalness: 0 },
35
+ leather: {
36
+ roughness: 0.7,
37
+ metalness: 0,
38
+ sheen: 0.3,
39
+ sheenRoughness: 0.6,
40
+ sheenColor: "#3d2b1f"
41
+ },
42
+ water: {
43
+ roughness: 0,
44
+ metalness: 0,
45
+ transmission: 0.9,
46
+ ior: 1.33,
47
+ transparent: true,
48
+ color: "#006994"
49
+ },
50
+ emissive: { roughness: 0.5, metalness: 0, emissiveIntensity: 2 },
51
+ hologram: {
52
+ roughness: 0,
53
+ metalness: 0.3,
54
+ transparent: true,
55
+ opacity: 0.6,
56
+ emissiveIntensity: 1
57
+ },
58
+ stone: { roughness: 0.85, metalness: 0, color: "#808080" },
59
+ marble: { roughness: 0.15, metalness: 0, color: "#F0EDE6", envMapIntensity: 0.8 },
60
+ shiny: { roughness: 0.05, metalness: 0.3, envMapIntensity: 1.5, clearcoat: 0.8 },
61
+ neon: {
62
+ roughness: 0,
63
+ metalness: 0,
64
+ emissiveIntensity: 3,
65
+ transparent: true,
66
+ opacity: 0.9
67
+ },
68
+ toon: { roughness: 1, metalness: 0 },
69
+ wireframe: { roughness: 0.5, metalness: 0.5, wireframe: true },
70
+ velvet: {
71
+ roughness: 1,
72
+ metalness: 0,
73
+ sheen: 1,
74
+ sheenRoughness: 0.8,
75
+ sheenColor: "#ffffff",
76
+ clearcoat: 0.3
77
+ },
78
+ xray: { roughness: 0, metalness: 0, transparent: true, opacity: 0.3, emissiveIntensity: 0.5 },
79
+ gradient: { roughness: 0.5, metalness: 0 },
80
+ matte: { roughness: 1, metalness: 0 },
81
+ // ===========================================================================
82
+ // REALISTIC FABRICS — differentiated by sheen, roughness, and anisotropy
83
+ // ===========================================================================
84
+ cotton: {
85
+ roughness: 0.95,
86
+ metalness: 0,
87
+ sheen: 0.6,
88
+ sheenRoughness: 0.9,
89
+ sheenColor: "#ffffff"
90
+ },
91
+ polyester: {
92
+ roughness: 0.7,
93
+ metalness: 0,
94
+ sheen: 0.8,
95
+ sheenRoughness: 0.4,
96
+ sheenColor: "#e8e8e8"
97
+ },
98
+ silk: {
99
+ roughness: 0.3,
100
+ metalness: 0,
101
+ sheen: 1,
102
+ sheenRoughness: 0.2,
103
+ sheenColor: "#fffaf0",
104
+ anisotropy: 0.8,
105
+ anisotropyRotation: 0
106
+ },
107
+ satin: {
108
+ roughness: 0.25,
109
+ metalness: 0,
110
+ sheen: 0.9,
111
+ sheenRoughness: 0.15,
112
+ sheenColor: "#fff5ee",
113
+ anisotropy: 0.6,
114
+ anisotropyRotation: 0
115
+ },
116
+ linen: {
117
+ roughness: 0.9,
118
+ metalness: 0,
119
+ sheen: 0.4,
120
+ sheenRoughness: 0.85,
121
+ sheenColor: "#f5f0e8"
122
+ },
123
+ wool: {
124
+ roughness: 1,
125
+ metalness: 0,
126
+ sheen: 0.7,
127
+ sheenRoughness: 1,
128
+ sheenColor: "#e8dcc8"
129
+ },
130
+ denim: {
131
+ roughness: 0.85,
132
+ metalness: 0,
133
+ color: "#2b4570",
134
+ sheen: 0.5,
135
+ sheenRoughness: 0.7,
136
+ sheenColor: "#4a6fa5"
137
+ },
138
+ canvas: {
139
+ roughness: 0.95,
140
+ metalness: 0,
141
+ color: "#c8b88a",
142
+ sheen: 0.3,
143
+ sheenRoughness: 0.9,
144
+ sheenColor: "#d4c9a8"
145
+ },
146
+ burlap: {
147
+ roughness: 1,
148
+ metalness: 0,
149
+ color: "#8b7355",
150
+ sheen: 0.2,
151
+ sheenRoughness: 1,
152
+ sheenColor: "#a08060"
153
+ },
154
+ // ===========================================================================
155
+ // SKIN & ORGANIC — differentiated by subsurface scattering
156
+ // ===========================================================================
157
+ skin: {
158
+ roughness: 0.5,
159
+ metalness: 0,
160
+ color: "#e8b89d",
161
+ thickness: 0.8,
162
+ attenuationColor: "#cc4422",
163
+ attenuationDistance: 0.5
164
+ },
165
+ skin_dark: {
166
+ roughness: 0.45,
167
+ metalness: 0,
168
+ color: "#8d5524",
169
+ thickness: 1,
170
+ attenuationColor: "#661111",
171
+ attenuationDistance: 0.3
172
+ },
173
+ // Dragon / creature material presets
174
+ dragon_bone: {
175
+ roughness: 0.35,
176
+ metalness: 0.15,
177
+ color: "#e8dcc8"
178
+ },
179
+ dragon_leather: {
180
+ roughness: 0.8,
181
+ metalness: 0,
182
+ color: "#5c3a21"
183
+ },
184
+ dragon_scale: {
185
+ roughness: 0.25,
186
+ metalness: 0.4,
187
+ color: "#1a0d3d"
188
+ },
189
+ obsidian: {
190
+ roughness: 0.05,
191
+ metalness: 0.1,
192
+ color: "#0d0d0d",
193
+ clearcoat: 0.9,
194
+ clearcoatRoughness: 0.1,
195
+ envMapIntensity: 1.2
196
+ },
197
+ skin_pale: {
198
+ roughness: 0.55,
199
+ metalness: 0,
200
+ color: "#fde0c8",
201
+ thickness: 0.6,
202
+ attenuationColor: "#ee5533",
203
+ attenuationDistance: 0.6
204
+ },
205
+ candle_wax: {
206
+ roughness: 0.7,
207
+ metalness: 0,
208
+ color: "#fff8dc",
209
+ thickness: 2,
210
+ attenuationColor: "#ffaa44",
211
+ attenuationDistance: 0.3,
212
+ transmission: 0.15
213
+ },
214
+ jade: {
215
+ roughness: 0.2,
216
+ metalness: 0,
217
+ color: "#00a86b",
218
+ thickness: 1.5,
219
+ attenuationColor: "#004d32",
220
+ attenuationDistance: 1,
221
+ transmission: 0.1
222
+ },
223
+ milk: {
224
+ roughness: 0.3,
225
+ metalness: 0,
226
+ color: "#fdfff5",
227
+ thickness: 1,
228
+ attenuationColor: "#fff5d6",
229
+ attenuationDistance: 0.2,
230
+ transmission: 0.6,
231
+ ior: 1.35
232
+ },
233
+ leaf: {
234
+ roughness: 0.6,
235
+ metalness: 0,
236
+ color: "#228b22",
237
+ thickness: 0.3,
238
+ attenuationColor: "#44cc22",
239
+ attenuationDistance: 0.5
240
+ },
241
+ honey: {
242
+ roughness: 0.1,
243
+ metalness: 0,
244
+ color: "#eb9605",
245
+ thickness: 1.5,
246
+ attenuationColor: "#cc6600",
247
+ attenuationDistance: 0.4,
248
+ transmission: 0.7,
249
+ ior: 1.5
250
+ },
251
+ // ===========================================================================
252
+ // MUD & EARTH — differentiated by roughness, color, and subtle properties
253
+ // ===========================================================================
254
+ clay_mud: {
255
+ roughness: 0.95,
256
+ metalness: 0,
257
+ color: "#8b4513",
258
+ thickness: 0.5,
259
+ attenuationColor: "#663311",
260
+ attenuationDistance: 0.8
261
+ },
262
+ sandy_mud: {
263
+ roughness: 0.85,
264
+ metalness: 0.02,
265
+ color: "#c2a66b"
266
+ },
267
+ wet_mud: {
268
+ roughness: 0.4,
269
+ metalness: 0,
270
+ color: "#3d2b1f",
271
+ clearcoat: 0.6,
272
+ clearcoatRoughness: 0.2
273
+ },
274
+ dry_earth: {
275
+ roughness: 1,
276
+ metalness: 0,
277
+ color: "#9b7653"
278
+ },
279
+ peat: {
280
+ roughness: 0.9,
281
+ metalness: 0,
282
+ color: "#2d1f0e"
283
+ },
284
+ red_clay: {
285
+ roughness: 0.95,
286
+ metalness: 0,
287
+ color: "#cc4b2e",
288
+ thickness: 0.4,
289
+ attenuationColor: "#993322",
290
+ attenuationDistance: 0.6
291
+ },
292
+ volcanic_ash: {
293
+ roughness: 0.8,
294
+ metalness: 0.05,
295
+ color: "#3c3c3c"
296
+ },
297
+ wet_sand: {
298
+ roughness: 0.6,
299
+ metalness: 0.02,
300
+ color: "#c2b280",
301
+ clearcoat: 0.3,
302
+ clearcoatRoughness: 0.4
303
+ },
304
+ dry_sand: {
305
+ roughness: 0.95,
306
+ metalness: 0.02,
307
+ color: "#e0cc8e"
308
+ },
309
+ // ===========================================================================
310
+ // METALS (BRUSHED/ANISOTROPIC) — directional roughness
311
+ // ===========================================================================
312
+ brushed_steel: {
313
+ roughness: 0.35,
314
+ metalness: 1,
315
+ color: "#c0c0c0",
316
+ anisotropy: 0.7,
317
+ anisotropyRotation: 0
318
+ },
319
+ brushed_aluminum: {
320
+ roughness: 0.3,
321
+ metalness: 1,
322
+ color: "#d0d0d0",
323
+ anisotropy: 0.8,
324
+ anisotropyRotation: 0
325
+ },
326
+ brushed_copper: {
327
+ roughness: 0.35,
328
+ metalness: 1,
329
+ color: "#b87333",
330
+ anisotropy: 0.6,
331
+ anisotropyRotation: 0
332
+ },
333
+ cast_iron: {
334
+ roughness: 0.7,
335
+ metalness: 0.9,
336
+ color: "#3a3a3a"
337
+ },
338
+ bronze: {
339
+ roughness: 0.45,
340
+ metalness: 1,
341
+ color: "#cd7f32"
342
+ },
343
+ silver: {
344
+ roughness: 0.15,
345
+ metalness: 1,
346
+ color: "#c0c0c0",
347
+ envMapIntensity: 1.3
348
+ },
349
+ platinum: {
350
+ roughness: 0.2,
351
+ metalness: 1,
352
+ color: "#e5e4e2",
353
+ envMapIntensity: 1.2
354
+ },
355
+ rust: {
356
+ roughness: 0.9,
357
+ metalness: 0.3,
358
+ color: "#8b3a15"
359
+ },
360
+ // ===========================================================================
361
+ // HAIR & FIBERS — anisotropy-driven
362
+ // ===========================================================================
363
+ hair_dark: {
364
+ roughness: 0.35,
365
+ metalness: 0,
366
+ color: "#1a1209",
367
+ anisotropy: 1,
368
+ anisotropyRotation: Math.PI / 2,
369
+ sheen: 0.3,
370
+ sheenRoughness: 0.3,
371
+ sheenColor: "#2a2219"
372
+ },
373
+ hair_blonde: {
374
+ roughness: 0.3,
375
+ metalness: 0,
376
+ color: "#c8a55a",
377
+ anisotropy: 1,
378
+ anisotropyRotation: Math.PI / 2,
379
+ sheen: 0.4,
380
+ sheenRoughness: 0.25,
381
+ sheenColor: "#d4b86a"
382
+ },
383
+ hair_red: {
384
+ roughness: 0.35,
385
+ metalness: 0,
386
+ color: "#8b3a15",
387
+ anisotropy: 1,
388
+ anisotropyRotation: Math.PI / 2,
389
+ sheen: 0.35,
390
+ sheenRoughness: 0.3,
391
+ sheenColor: "#a04520"
392
+ },
393
+ // ===========================================================================
394
+ // WET SURFACES — clearcoat simulates water film
395
+ // ===========================================================================
396
+ wet_stone: {
397
+ roughness: 0.3,
398
+ metalness: 0,
399
+ color: "#606060",
400
+ clearcoat: 0.8,
401
+ clearcoatRoughness: 0.1
402
+ },
403
+ wet_wood: {
404
+ roughness: 0.4,
405
+ metalness: 0,
406
+ color: "#5a3a1a",
407
+ clearcoat: 0.7,
408
+ clearcoatRoughness: 0.15
409
+ },
410
+ wet_concrete: {
411
+ roughness: 0.5,
412
+ metalness: 0,
413
+ color: "#707070",
414
+ clearcoat: 0.5,
415
+ clearcoatRoughness: 0.2
416
+ },
417
+ // ===========================================================================
418
+ // FOOD & ORGANIC — SSS-heavy
419
+ // ===========================================================================
420
+ fruit: {
421
+ roughness: 0.4,
422
+ metalness: 0,
423
+ color: "#ff4444",
424
+ thickness: 0.8,
425
+ attenuationColor: "#cc2200",
426
+ attenuationDistance: 0.5,
427
+ clearcoat: 0.3,
428
+ clearcoatRoughness: 0.2
429
+ },
430
+ cheese: {
431
+ roughness: 0.7,
432
+ metalness: 0,
433
+ color: "#ffc125",
434
+ thickness: 1.2,
435
+ attenuationColor: "#cc9900",
436
+ attenuationDistance: 0.4
437
+ },
438
+ bread: {
439
+ roughness: 0.95,
440
+ metalness: 0,
441
+ color: "#c4a35a",
442
+ thickness: 0.3,
443
+ attenuationColor: "#8b6914",
444
+ attenuationDistance: 0.8
445
+ },
446
+ chocolate: {
447
+ roughness: 0.5,
448
+ metalness: 0,
449
+ color: "#3b1e08",
450
+ clearcoat: 0.2,
451
+ clearcoatRoughness: 0.3
452
+ },
453
+ // ===========================================================================
454
+ // COATED SURFACES — clearcoat-driven
455
+ // ===========================================================================
456
+ car_paint: {
457
+ roughness: 0.1,
458
+ metalness: 0,
459
+ clearcoat: 1,
460
+ clearcoatRoughness: 0.05
461
+ },
462
+ lacquer: {
463
+ roughness: 0.05,
464
+ metalness: 0,
465
+ clearcoat: 1,
466
+ clearcoatRoughness: 0.02
467
+ },
468
+ varnished_wood: {
469
+ roughness: 0.3,
470
+ metalness: 0,
471
+ color: "#8b5e3c",
472
+ clearcoat: 0.9,
473
+ clearcoatRoughness: 0.1
474
+ },
475
+ glazed_ceramic: {
476
+ roughness: 0.15,
477
+ metalness: 0,
478
+ color: "#f0ede6",
479
+ clearcoat: 0.8,
480
+ clearcoatRoughness: 0.05
481
+ },
482
+ enamel: {
483
+ roughness: 0.1,
484
+ metalness: 0,
485
+ clearcoat: 0.9,
486
+ clearcoatRoughness: 0.03
487
+ },
488
+ // ===========================================================================
489
+ // IRIDESCENT — thin-film interference
490
+ // ===========================================================================
491
+ soap_bubble: {
492
+ roughness: 0,
493
+ metalness: 0,
494
+ transmission: 0.9,
495
+ ior: 1.33,
496
+ transparent: true,
497
+ opacity: 0.3,
498
+ iridescence: 1,
499
+ iridescenceIOR: 1.5
500
+ },
501
+ oil_slick: {
502
+ roughness: 0,
503
+ metalness: 0.1,
504
+ color: "#1a1a2e",
505
+ iridescence: 1,
506
+ iridescenceIOR: 1.8
507
+ },
508
+ beetle_shell: {
509
+ roughness: 0.2,
510
+ metalness: 0.3,
511
+ color: "#0a3d0a",
512
+ iridescence: 0.8,
513
+ iridescenceIOR: 1.6,
514
+ clearcoat: 0.5,
515
+ clearcoatRoughness: 0.1
516
+ },
517
+ pearl: {
518
+ roughness: 0.15,
519
+ metalness: 0,
520
+ color: "#fdeef4",
521
+ iridescence: 0.6,
522
+ iridescenceIOR: 1.3,
523
+ sheen: 0.3,
524
+ sheenRoughness: 0.2,
525
+ sheenColor: "#fff0f5"
526
+ },
527
+ abalone: {
528
+ roughness: 0.1,
529
+ metalness: 0.1,
530
+ color: "#e0f0e8",
531
+ iridescence: 1,
532
+ iridescenceIOR: 1.5
533
+ },
534
+ // ===========================================================================
535
+ // GEMSTONES — transmission + IOR + iridescence
536
+ // ===========================================================================
537
+ diamond: {
538
+ roughness: 0,
539
+ metalness: 0,
540
+ color: "#ffffff",
541
+ transmission: 0.95,
542
+ ior: 2.417,
543
+ thickness: 0.5,
544
+ transparent: true
545
+ },
546
+ ruby: {
547
+ roughness: 0.05,
548
+ metalness: 0,
549
+ color: "#e0115f",
550
+ transmission: 0.4,
551
+ ior: 1.76,
552
+ thickness: 1
553
+ },
554
+ sapphire: {
555
+ roughness: 0.05,
556
+ metalness: 0,
557
+ color: "#0f52ba",
558
+ transmission: 0.4,
559
+ ior: 1.77,
560
+ thickness: 1
561
+ },
562
+ emerald: {
563
+ roughness: 0.1,
564
+ metalness: 0,
565
+ color: "#50c878",
566
+ transmission: 0.3,
567
+ ior: 1.57,
568
+ thickness: 1.2
569
+ },
570
+ amber: {
571
+ roughness: 0.1,
572
+ metalness: 0,
573
+ color: "#ffbf00",
574
+ transmission: 0.6,
575
+ ior: 1.55,
576
+ thickness: 2,
577
+ transparent: true,
578
+ attenuationColor: "#cc6600",
579
+ attenuationDistance: 1
580
+ },
581
+ opal: {
582
+ roughness: 0.15,
583
+ metalness: 0,
584
+ color: "#e8e0d0",
585
+ iridescence: 0.9,
586
+ iridescenceIOR: 1.45,
587
+ transmission: 0.1,
588
+ ior: 1.45
589
+ },
590
+ amethyst: {
591
+ roughness: 0.05,
592
+ metalness: 0,
593
+ color: "#9966cc",
594
+ transmission: 0.5,
595
+ ior: 1.54,
596
+ thickness: 1,
597
+ transparent: true
598
+ },
599
+ topaz: {
600
+ roughness: 0.02,
601
+ metalness: 0,
602
+ color: "#ffc87c",
603
+ transmission: 0.7,
604
+ ior: 1.63,
605
+ thickness: 0.8,
606
+ transparent: true
607
+ },
608
+ turquoise: {
609
+ roughness: 0.6,
610
+ metalness: 0,
611
+ color: "#40e0d0"
612
+ },
613
+ lapis_lazuli: {
614
+ roughness: 0.4,
615
+ metalness: 0,
616
+ color: "#26619c",
617
+ clearcoat: 0.3,
618
+ clearcoatRoughness: 0.1
619
+ },
620
+ // ===========================================================================
621
+ // MORE METALS — extended metallic palette
622
+ // ===========================================================================
623
+ titanium: {
624
+ roughness: 0.25,
625
+ metalness: 1,
626
+ color: "#878681"
627
+ },
628
+ tungsten: {
629
+ roughness: 0.3,
630
+ metalness: 1,
631
+ color: "#696969"
632
+ },
633
+ tin: {
634
+ roughness: 0.35,
635
+ metalness: 1,
636
+ color: "#b0b0b0",
637
+ envMapIntensity: 0.8
638
+ },
639
+ lead: {
640
+ roughness: 0.6,
641
+ metalness: 0.9,
642
+ color: "#595959"
643
+ },
644
+ brass: {
645
+ roughness: 0.35,
646
+ metalness: 1,
647
+ color: "#b5a642"
648
+ },
649
+ wrought_iron: {
650
+ roughness: 0.7,
651
+ metalness: 0.85,
652
+ color: "#2c2c2c"
653
+ },
654
+ mercury: {
655
+ roughness: 0,
656
+ metalness: 1,
657
+ color: "#d4d4d4",
658
+ envMapIntensity: 2
659
+ },
660
+ // ===========================================================================
661
+ // NATURAL / WEATHER — environmental surfaces
662
+ // ===========================================================================
663
+ snow: {
664
+ roughness: 0.8,
665
+ metalness: 0,
666
+ color: "#f0f8ff",
667
+ thickness: 0.5,
668
+ attenuationColor: "#c8e0ff",
669
+ attenuationDistance: 2
670
+ },
671
+ fresh_snow: {
672
+ roughness: 0.6,
673
+ metalness: 0,
674
+ color: "#ffffff",
675
+ sheen: 0.3,
676
+ sheenRoughness: 0.5,
677
+ sheenColor: "#e8f0ff"
678
+ },
679
+ frost: {
680
+ roughness: 0.3,
681
+ metalness: 0,
682
+ color: "#e8f4f8",
683
+ transmission: 0.15,
684
+ ior: 1.31,
685
+ clearcoat: 0.4,
686
+ clearcoatRoughness: 0.1
687
+ },
688
+ ice: {
689
+ roughness: 0.1,
690
+ metalness: 0,
691
+ color: "#d6eaf8",
692
+ transmission: 0.8,
693
+ ior: 1.31,
694
+ transparent: true
695
+ },
696
+ moss: {
697
+ roughness: 1,
698
+ metalness: 0,
699
+ color: "#4a7c3f",
700
+ sheen: 0.2,
701
+ sheenRoughness: 1,
702
+ sheenColor: "#5a9c4f"
703
+ },
704
+ lichen: {
705
+ roughness: 0.9,
706
+ metalness: 0,
707
+ color: "#8fa37a"
708
+ },
709
+ bark: {
710
+ roughness: 0.95,
711
+ metalness: 0,
712
+ color: "#5c4033"
713
+ },
714
+ dried_leaves: {
715
+ roughness: 0.9,
716
+ metalness: 0,
717
+ color: "#8b6914",
718
+ thickness: 0.1,
719
+ attenuationColor: "#664400",
720
+ attenuationDistance: 0.3
721
+ },
722
+ // ===========================================================================
723
+ // AGED / WEATHERED — patina, tarnish, wear
724
+ // ===========================================================================
725
+ patina: {
726
+ roughness: 0.6,
727
+ metalness: 0.4,
728
+ color: "#4a9c7e"
729
+ },
730
+ tarnished_silver: {
731
+ roughness: 0.5,
732
+ metalness: 0.7,
733
+ color: "#8a8a7a"
734
+ },
735
+ aged_bronze: {
736
+ roughness: 0.55,
737
+ metalness: 0.6,
738
+ color: "#6b8e5a"
739
+ },
740
+ weathered_wood: {
741
+ roughness: 0.95,
742
+ metalness: 0,
743
+ color: "#8a8070"
744
+ },
745
+ cracked_paint: {
746
+ roughness: 0.8,
747
+ metalness: 0,
748
+ color: "#c8c0b0"
749
+ },
750
+ oxidized_copper: {
751
+ roughness: 0.65,
752
+ metalness: 0.5,
753
+ color: "#2e8b57"
754
+ },
755
+ // ===========================================================================
756
+ // CONSTRUCTION — architectural materials
757
+ // ===========================================================================
758
+ asphalt: {
759
+ roughness: 0.9,
760
+ metalness: 0,
761
+ color: "#3a3a3a"
762
+ },
763
+ cement: {
764
+ roughness: 0.85,
765
+ metalness: 0,
766
+ color: "#a0a0a0"
767
+ },
768
+ tile_ceramic: {
769
+ roughness: 0.2,
770
+ metalness: 0,
771
+ color: "#e8e0d0",
772
+ clearcoat: 0.6,
773
+ clearcoatRoughness: 0.05
774
+ },
775
+ tile_porcelain: {
776
+ roughness: 0.1,
777
+ metalness: 0,
778
+ color: "#f5f5f5",
779
+ clearcoat: 0.8,
780
+ clearcoatRoughness: 0.02
781
+ },
782
+ linoleum: {
783
+ roughness: 0.6,
784
+ metalness: 0,
785
+ color: "#c0b090",
786
+ clearcoat: 0.2,
787
+ clearcoatRoughness: 0.3
788
+ },
789
+ drywall: {
790
+ roughness: 1,
791
+ metalness: 0,
792
+ color: "#f0ece0"
793
+ },
794
+ rebar: {
795
+ roughness: 0.6,
796
+ metalness: 0.9,
797
+ color: "#5a4a3a"
798
+ },
799
+ stucco: {
800
+ roughness: 0.95,
801
+ metalness: 0,
802
+ color: "#e8dcc8"
803
+ },
804
+ gravel: {
805
+ roughness: 1,
806
+ metalness: 0.02,
807
+ color: "#8a8070"
808
+ },
809
+ // ===========================================================================
810
+ // LEATHER VARIANTS — sheen + clearcoat differentiation
811
+ // ===========================================================================
812
+ suede: {
813
+ roughness: 1,
814
+ metalness: 0,
815
+ color: "#8b6914",
816
+ sheen: 0.6,
817
+ sheenRoughness: 1,
818
+ sheenColor: "#a07828"
819
+ },
820
+ patent_leather: {
821
+ roughness: 0.05,
822
+ metalness: 0,
823
+ color: "#1a1a1a",
824
+ clearcoat: 1,
825
+ clearcoatRoughness: 0.02
826
+ },
827
+ distressed_leather: {
828
+ roughness: 0.8,
829
+ metalness: 0,
830
+ color: "#5a3a1a",
831
+ sheen: 0.15,
832
+ sheenRoughness: 0.8,
833
+ sheenColor: "#4a3010"
834
+ },
835
+ nubuck: {
836
+ roughness: 0.95,
837
+ metalness: 0,
838
+ color: "#c8a882",
839
+ sheen: 0.5,
840
+ sheenRoughness: 0.9,
841
+ sheenColor: "#d4b892"
842
+ },
843
+ // ===========================================================================
844
+ // RUBBER VARIANTS
845
+ // ===========================================================================
846
+ tire_rubber: {
847
+ roughness: 0.85,
848
+ metalness: 0,
849
+ color: "#1a1a1a"
850
+ },
851
+ silicone: {
852
+ roughness: 0.6,
853
+ metalness: 0,
854
+ color: "#e0e0e0",
855
+ thickness: 0.5,
856
+ attenuationColor: "#cccccc",
857
+ attenuationDistance: 1,
858
+ transmission: 0.05
859
+ },
860
+ latex: {
861
+ roughness: 0.3,
862
+ metalness: 0,
863
+ color: "#ffefd5",
864
+ clearcoat: 0.5,
865
+ clearcoatRoughness: 0.1,
866
+ thickness: 0.3,
867
+ attenuationColor: "#ffcc88",
868
+ attenuationDistance: 0.5
869
+ },
870
+ eraser: {
871
+ roughness: 0.95,
872
+ metalness: 0,
873
+ color: "#ff6b81"
874
+ },
875
+ // ===========================================================================
876
+ // LIQUIDS — transmission + animated surface hints
877
+ // ===========================================================================
878
+ lava: {
879
+ roughness: 0.8,
880
+ metalness: 0,
881
+ color: "#ff4400",
882
+ emissive: "#ff2200",
883
+ emissiveIntensity: 3
884
+ },
885
+ blood: {
886
+ roughness: 0.2,
887
+ metalness: 0,
888
+ color: "#8b0000",
889
+ clearcoat: 0.7,
890
+ clearcoatRoughness: 0.05,
891
+ thickness: 1,
892
+ attenuationColor: "#440000",
893
+ attenuationDistance: 0.3
894
+ },
895
+ oil_liquid: {
896
+ roughness: 0.05,
897
+ metalness: 0,
898
+ color: "#1a1a0a",
899
+ clearcoat: 0.9,
900
+ clearcoatRoughness: 0.02
901
+ },
902
+ molten_metal: {
903
+ roughness: 0.15,
904
+ metalness: 0.8,
905
+ color: "#ff8c00",
906
+ emissive: "#ff6600",
907
+ emissiveIntensity: 5
908
+ },
909
+ syrup: {
910
+ roughness: 0.1,
911
+ metalness: 0,
912
+ color: "#8b4513",
913
+ transmission: 0.4,
914
+ ior: 1.49,
915
+ thickness: 2,
916
+ attenuationColor: "#663300",
917
+ attenuationDistance: 0.5
918
+ },
919
+ // ===========================================================================
920
+ // BLACKBODY / THERMAL — temperature-driven emission
921
+ // ===========================================================================
922
+ heated_metal_low: {
923
+ roughness: 0.5,
924
+ metalness: 0.9,
925
+ color: "#4a4a4a",
926
+ emissive: "#ff1a00",
927
+ emissiveIntensity: 1.5
928
+ },
929
+ heated_metal_mid: {
930
+ roughness: 0.4,
931
+ metalness: 0.8,
932
+ color: "#5a5a5a",
933
+ emissive: "#ff6600",
934
+ emissiveIntensity: 3
935
+ },
936
+ heated_metal_hot: {
937
+ roughness: 0.3,
938
+ metalness: 0.7,
939
+ color: "#6a6a6a",
940
+ emissive: "#ffcc00",
941
+ emissiveIntensity: 5
942
+ },
943
+ heated_metal_white: {
944
+ roughness: 0.2,
945
+ metalness: 0.6,
946
+ color: "#8a8a8a",
947
+ emissive: "#ffffff",
948
+ emissiveIntensity: 8
949
+ },
950
+ ember: {
951
+ roughness: 0.9,
952
+ metalness: 0,
953
+ color: "#2a0a00",
954
+ emissive: "#ff4400",
955
+ emissiveIntensity: 2
956
+ },
957
+ coal: {
958
+ roughness: 0.85,
959
+ metalness: 0,
960
+ color: "#1a1a1a",
961
+ emissive: "#cc2200",
962
+ emissiveIntensity: 0.5
963
+ },
964
+ // ===========================================================================
965
+ // SPECIAL EFFECTS — sparkle, glow, energy
966
+ // ===========================================================================
967
+ glitter: {
968
+ roughness: 0.2,
969
+ metalness: 0.8,
970
+ color: "#ffd700",
971
+ envMapIntensity: 2
972
+ },
973
+ sequin: {
974
+ roughness: 0.05,
975
+ metalness: 1,
976
+ envMapIntensity: 2.5,
977
+ iridescence: 0.3
978
+ },
979
+ mica: {
980
+ roughness: 0.3,
981
+ metalness: 0.2,
982
+ color: "#c8b888",
983
+ iridescence: 0.4,
984
+ iridescenceIOR: 1.58,
985
+ sheen: 0.2,
986
+ sheenRoughness: 0.3,
987
+ sheenColor: "#d4c498"
988
+ },
989
+ fluorescent_green: {
990
+ roughness: 0.5,
991
+ metalness: 0,
992
+ color: "#39ff14",
993
+ emissive: "#39ff14",
994
+ emissiveIntensity: 1.5
995
+ },
996
+ fluorescent_orange: {
997
+ roughness: 0.5,
998
+ metalness: 0,
999
+ color: "#ff6700",
1000
+ emissive: "#ff6700",
1001
+ emissiveIntensity: 1.5
1002
+ },
1003
+ fluorescent_pink: {
1004
+ roughness: 0.5,
1005
+ metalness: 0,
1006
+ color: "#ff1493",
1007
+ emissive: "#ff1493",
1008
+ emissiveIntensity: 1.5
1009
+ },
1010
+ glow_in_dark: {
1011
+ roughness: 0.7,
1012
+ metalness: 0,
1013
+ color: "#2a3a2a",
1014
+ emissive: "#44ff44",
1015
+ emissiveIntensity: 0.8
1016
+ },
1017
+ plasma: {
1018
+ roughness: 0,
1019
+ metalness: 0,
1020
+ color: "#4400ff",
1021
+ emissive: "#8844ff",
1022
+ emissiveIntensity: 4,
1023
+ transparent: true,
1024
+ opacity: 0.7
1025
+ },
1026
+ energy_field: {
1027
+ roughness: 0,
1028
+ metalness: 0,
1029
+ emissive: "#00ccff",
1030
+ emissiveIntensity: 3,
1031
+ transparent: true,
1032
+ opacity: 0.4,
1033
+ transmission: 0.6
1034
+ },
1035
+ force_field: {
1036
+ roughness: 0,
1037
+ metalness: 0,
1038
+ emissive: "#00ff88",
1039
+ emissiveIntensity: 2,
1040
+ transparent: true,
1041
+ opacity: 0.2,
1042
+ iridescence: 0.8,
1043
+ iridescenceIOR: 1.5
1044
+ },
1045
+ // ===========================================================================
1046
+ // RETROREFLECTIVE — safety, signage
1047
+ // ===========================================================================
1048
+ safety_vest: {
1049
+ roughness: 0.6,
1050
+ metalness: 0,
1051
+ color: "#ccff00",
1052
+ emissive: "#ccff00",
1053
+ emissiveIntensity: 0.3
1054
+ },
1055
+ road_sign: {
1056
+ roughness: 0.4,
1057
+ metalness: 0.1,
1058
+ color: "#ffffff",
1059
+ envMapIntensity: 1.8,
1060
+ emissive: "#ffffff",
1061
+ emissiveIntensity: 0.2
1062
+ },
1063
+ reflective_tape: {
1064
+ roughness: 0.2,
1065
+ metalness: 0.3,
1066
+ color: "#e0e0e0",
1067
+ envMapIntensity: 2.5
1068
+ },
1069
+ // ===========================================================================
1070
+ // MISC — everything else in the real world
1071
+ // ===========================================================================
1072
+ chalkboard: {
1073
+ roughness: 0.9,
1074
+ metalness: 0,
1075
+ color: "#2a3a2a"
1076
+ },
1077
+ chalk: {
1078
+ roughness: 1,
1079
+ metalness: 0,
1080
+ color: "#ffffff"
1081
+ },
1082
+ charcoal: {
1083
+ roughness: 0.9,
1084
+ metalness: 0,
1085
+ color: "#1a1a1a"
1086
+ },
1087
+ cork: {
1088
+ roughness: 0.95,
1089
+ metalness: 0,
1090
+ color: "#b88a50"
1091
+ },
1092
+ felt: {
1093
+ roughness: 1,
1094
+ metalness: 0,
1095
+ color: "#5a8a5a",
1096
+ sheen: 0.4,
1097
+ sheenRoughness: 1,
1098
+ sheenColor: "#6a9a6a"
1099
+ },
1100
+ sponge: {
1101
+ roughness: 1,
1102
+ metalness: 0,
1103
+ color: "#e8c840"
1104
+ },
1105
+ porcelain: {
1106
+ roughness: 0.1,
1107
+ metalness: 0,
1108
+ color: "#f8f4f0",
1109
+ clearcoat: 0.7,
1110
+ clearcoatRoughness: 0.02
1111
+ },
1112
+ terracotta: {
1113
+ roughness: 0.85,
1114
+ metalness: 0,
1115
+ color: "#cc6644"
1116
+ },
1117
+ concrete_polished: {
1118
+ roughness: 0.3,
1119
+ metalness: 0,
1120
+ color: "#a0a0a0",
1121
+ clearcoat: 0.3,
1122
+ clearcoatRoughness: 0.15
1123
+ },
1124
+ rope: {
1125
+ roughness: 1,
1126
+ metalness: 0,
1127
+ color: "#c4a35a",
1128
+ sheen: 0.2,
1129
+ sheenRoughness: 1,
1130
+ sheenColor: "#b89848"
1131
+ },
1132
+ wicker: {
1133
+ roughness: 0.9,
1134
+ metalness: 0,
1135
+ color: "#a08050"
1136
+ },
1137
+ parchment: {
1138
+ roughness: 0.8,
1139
+ metalness: 0,
1140
+ color: "#f0e6c8",
1141
+ thickness: 0.1,
1142
+ attenuationColor: "#d4c0a0",
1143
+ attenuationDistance: 0.2
1144
+ },
1145
+ // ===========================================================================
1146
+ // ANIMATED MATERIALS — time-driven surface effects (wired to scene.time)
1147
+ // These set metadata flags that the runtime uses to drive animated shaders.
1148
+ // ===========================================================================
1149
+ flowing_water: {
1150
+ roughness: 0,
1151
+ metalness: 0,
1152
+ color: "#006994",
1153
+ transmission: 0.85,
1154
+ ior: 1.33,
1155
+ transparent: true,
1156
+ _animated: { pattern: "flow", speed: 0.8, amplitude: 0.3 }
1157
+ },
1158
+ rippling_water: {
1159
+ roughness: 0.05,
1160
+ metalness: 0,
1161
+ color: "#005577",
1162
+ transmission: 0.8,
1163
+ ior: 1.33,
1164
+ transparent: true,
1165
+ _animated: { pattern: "ripple", speed: 1, amplitude: 0.4 }
1166
+ },
1167
+ flickering_fire: {
1168
+ roughness: 0.8,
1169
+ metalness: 0,
1170
+ color: "#ff4400",
1171
+ emissive: "#ff2200",
1172
+ emissiveIntensity: 3,
1173
+ _animated: { pattern: "flicker", speed: 3, amplitude: 0.6 }
1174
+ },
1175
+ pulsing_glow: {
1176
+ roughness: 0.5,
1177
+ metalness: 0,
1178
+ emissive: "#00ff88",
1179
+ emissiveIntensity: 2,
1180
+ _animated: { pattern: "pulse", speed: 1.5, amplitude: 0.5 }
1181
+ },
1182
+ breathing_light: {
1183
+ roughness: 0.3,
1184
+ metalness: 0,
1185
+ emissive: "#4488ff",
1186
+ emissiveIntensity: 1.5,
1187
+ _animated: { pattern: "breathe", speed: 0.5, amplitude: 0.8 }
1188
+ },
1189
+ scrolling_lava: {
1190
+ roughness: 0.8,
1191
+ metalness: 0,
1192
+ color: "#ff4400",
1193
+ emissive: "#ff2200",
1194
+ emissiveIntensity: 4,
1195
+ _animated: { pattern: "scroll", speed: 0.3, amplitude: 1 }
1196
+ },
1197
+ waving_grass: {
1198
+ roughness: 0.9,
1199
+ metalness: 0,
1200
+ color: "#228b22",
1201
+ sheen: 0.2,
1202
+ sheenRoughness: 0.8,
1203
+ sheenColor: "#44cc22",
1204
+ _animated: { pattern: "wave", speed: 0.8, amplitude: 0.2 }
1205
+ },
1206
+ flickering_neon: {
1207
+ roughness: 0,
1208
+ metalness: 0,
1209
+ emissive: "#ff00ff",
1210
+ emissiveIntensity: 3.5,
1211
+ transparent: true,
1212
+ opacity: 0.9,
1213
+ _animated: { pattern: "flicker", speed: 5, amplitude: 0.4 }
1214
+ },
1215
+ pulsing_crystal: {
1216
+ roughness: 0,
1217
+ metalness: 0.1,
1218
+ transmission: 0.8,
1219
+ ior: 2,
1220
+ iridescence: 0.8,
1221
+ iridescenceIOR: 1.3,
1222
+ emissive: "#8844ff",
1223
+ emissiveIntensity: 1,
1224
+ _animated: { pattern: "pulse", speed: 0.8, amplitude: 0.6 }
1225
+ },
1226
+ animated_hologram: {
1227
+ roughness: 0,
1228
+ metalness: 0.3,
1229
+ transparent: true,
1230
+ opacity: 0.5,
1231
+ emissive: "#00ccff",
1232
+ emissiveIntensity: 1.5,
1233
+ _animated: { pattern: "scroll", speed: 1.5, amplitude: 0.3 }
1234
+ },
1235
+ boiling_surface: {
1236
+ roughness: 0.7,
1237
+ metalness: 0,
1238
+ color: "#cc4400",
1239
+ emissive: "#ff6600",
1240
+ emissiveIntensity: 2,
1241
+ _animated: { pattern: "noise", speed: 2, amplitude: 0.5 }
1242
+ },
1243
+ shimmer_heat: {
1244
+ roughness: 0,
1245
+ metalness: 0,
1246
+ transparent: true,
1247
+ opacity: 0.15,
1248
+ _animated: { pattern: "wave", speed: 2, amplitude: 0.1 }
1249
+ },
1250
+ // ===========================================================================
1251
+ // VOLUMETRIC MATERIALS — metadata for ray-marched volume rendering
1252
+ // These presets describe volumetric phenomena; the runtime renders them via
1253
+ // a ray marching pass on a bounding box/sphere geometry.
1254
+ // ===========================================================================
1255
+ fog: {
1256
+ roughness: 0,
1257
+ metalness: 0,
1258
+ color: "#c0c0c0",
1259
+ transparent: true,
1260
+ opacity: 0.3,
1261
+ _volumetric: { type: "fog", density: 0.3, scattering: 0.8, absorption: 0.05 }
1262
+ },
1263
+ dense_fog: {
1264
+ roughness: 0,
1265
+ metalness: 0,
1266
+ color: "#a0a0a0",
1267
+ transparent: true,
1268
+ opacity: 0.5,
1269
+ _volumetric: { type: "fog", density: 0.7, scattering: 0.9, absorption: 0.1 }
1270
+ },
1271
+ smoke: {
1272
+ roughness: 0,
1273
+ metalness: 0,
1274
+ color: "#404040",
1275
+ transparent: true,
1276
+ opacity: 0.4,
1277
+ _volumetric: {
1278
+ type: "smoke",
1279
+ density: 0.5,
1280
+ scattering: 0.3,
1281
+ absorption: 0.4,
1282
+ riseSpeed: 0.5,
1283
+ turbulence: 0.6
1284
+ }
1285
+ },
1286
+ campfire_smoke: {
1287
+ roughness: 0,
1288
+ metalness: 0,
1289
+ color: "#505050",
1290
+ transparent: true,
1291
+ opacity: 0.35,
1292
+ _volumetric: {
1293
+ type: "smoke",
1294
+ density: 0.4,
1295
+ scattering: 0.25,
1296
+ absorption: 0.5,
1297
+ riseSpeed: 0.8,
1298
+ turbulence: 0.4
1299
+ }
1300
+ },
1301
+ fire_volume: {
1302
+ roughness: 0,
1303
+ metalness: 0,
1304
+ color: "#ff4400",
1305
+ emissive: "#ff2200",
1306
+ emissiveIntensity: 4,
1307
+ transparent: true,
1308
+ opacity: 0.7,
1309
+ _volumetric: {
1310
+ type: "fire",
1311
+ density: 0.6,
1312
+ scattering: 0.1,
1313
+ absorption: 0.2,
1314
+ riseSpeed: 1.2,
1315
+ turbulence: 0.7,
1316
+ temperature: 2500
1317
+ }
1318
+ },
1319
+ candle_flame: {
1320
+ roughness: 0,
1321
+ metalness: 0,
1322
+ color: "#ffaa33",
1323
+ emissive: "#ff8800",
1324
+ emissiveIntensity: 3,
1325
+ transparent: true,
1326
+ opacity: 0.6,
1327
+ _volumetric: {
1328
+ type: "fire",
1329
+ density: 0.4,
1330
+ scattering: 0.05,
1331
+ absorption: 0.1,
1332
+ riseSpeed: 0.3,
1333
+ turbulence: 0.2,
1334
+ temperature: 1800
1335
+ }
1336
+ },
1337
+ clouds: {
1338
+ roughness: 0,
1339
+ metalness: 0,
1340
+ color: "#ffffff",
1341
+ transparent: true,
1342
+ opacity: 0.6,
1343
+ _volumetric: {
1344
+ type: "clouds",
1345
+ density: 0.4,
1346
+ scattering: 0.95,
1347
+ absorption: 0.02,
1348
+ noiseScale: 2,
1349
+ octaves: 6
1350
+ }
1351
+ },
1352
+ storm_clouds: {
1353
+ roughness: 0,
1354
+ metalness: 0,
1355
+ color: "#3a3a4a",
1356
+ transparent: true,
1357
+ opacity: 0.8,
1358
+ _volumetric: {
1359
+ type: "clouds",
1360
+ density: 0.7,
1361
+ scattering: 0.6,
1362
+ absorption: 0.15,
1363
+ noiseScale: 1.5,
1364
+ octaves: 6
1365
+ }
1366
+ },
1367
+ dust_motes: {
1368
+ roughness: 0,
1369
+ metalness: 0,
1370
+ color: "#c8b888",
1371
+ transparent: true,
1372
+ opacity: 0.15,
1373
+ _volumetric: { type: "dust", density: 0.1, scattering: 0.5, absorption: 0.02 }
1374
+ },
1375
+ mist: {
1376
+ roughness: 0,
1377
+ metalness: 0,
1378
+ color: "#e0e8f0",
1379
+ transparent: true,
1380
+ opacity: 0.25,
1381
+ _volumetric: {
1382
+ type: "mist",
1383
+ density: 0.2,
1384
+ scattering: 0.85,
1385
+ absorption: 0.03,
1386
+ heightFalloff: 1.5
1387
+ }
1388
+ },
1389
+ steam: {
1390
+ roughness: 0,
1391
+ metalness: 0,
1392
+ color: "#e8e8e8",
1393
+ transparent: true,
1394
+ opacity: 0.3,
1395
+ _volumetric: {
1396
+ type: "steam",
1397
+ density: 0.35,
1398
+ scattering: 0.7,
1399
+ absorption: 0.05,
1400
+ riseSpeed: 1,
1401
+ turbulence: 0.3
1402
+ }
1403
+ },
1404
+ aurora_borealis: {
1405
+ roughness: 0,
1406
+ metalness: 0,
1407
+ emissive: "#00ff88",
1408
+ emissiveIntensity: 2,
1409
+ transparent: true,
1410
+ opacity: 0.3,
1411
+ _volumetric: {
1412
+ type: "aurora",
1413
+ density: 0.15,
1414
+ scattering: 0.1,
1415
+ absorption: 0.01,
1416
+ emissionIntensity: 2
1417
+ }
1418
+ },
1419
+ nebula: {
1420
+ roughness: 0,
1421
+ metalness: 0,
1422
+ emissive: "#ff44aa",
1423
+ emissiveIntensity: 1.5,
1424
+ transparent: true,
1425
+ opacity: 0.4,
1426
+ _volumetric: {
1427
+ type: "nebula",
1428
+ density: 0.25,
1429
+ scattering: 0.3,
1430
+ absorption: 0.05,
1431
+ emissionIntensity: 1.5,
1432
+ noiseScale: 1
1433
+ }
1434
+ },
1435
+ underwater_caustics: {
1436
+ roughness: 0,
1437
+ metalness: 0,
1438
+ color: "#003366",
1439
+ transparent: true,
1440
+ opacity: 0.2,
1441
+ _volumetric: { type: "underwater", density: 0.15, scattering: 0.6, absorption: 0.1 }
1442
+ },
1443
+ god_rays: {
1444
+ roughness: 0,
1445
+ metalness: 0,
1446
+ color: "#ffffd0",
1447
+ transparent: true,
1448
+ opacity: 0.15,
1449
+ emissive: "#ffff88",
1450
+ emissiveIntensity: 0.5,
1451
+ _volumetric: { type: "god_rays", density: 0.1, scattering: 0.9, absorption: 0.01 }
1452
+ },
1453
+ neon_gas: {
1454
+ roughness: 0,
1455
+ metalness: 0,
1456
+ emissive: "#ff4400",
1457
+ emissiveIntensity: 3,
1458
+ transparent: true,
1459
+ opacity: 0.5,
1460
+ _volumetric: {
1461
+ type: "neon_gas",
1462
+ density: 0.3,
1463
+ scattering: 0.2,
1464
+ absorption: 0.05,
1465
+ emissionIntensity: 3
1466
+ }
1467
+ },
1468
+ explosion: {
1469
+ roughness: 0,
1470
+ metalness: 0,
1471
+ color: "#ff6600",
1472
+ emissive: "#ff4400",
1473
+ emissiveIntensity: 6,
1474
+ transparent: true,
1475
+ opacity: 0.8,
1476
+ _volumetric: {
1477
+ type: "fire",
1478
+ density: 0.8,
1479
+ scattering: 0.15,
1480
+ absorption: 0.3,
1481
+ riseSpeed: 2,
1482
+ turbulence: 1,
1483
+ temperature: 4e3
1484
+ }
1485
+ },
1486
+ toxic_gas: {
1487
+ roughness: 0,
1488
+ metalness: 0,
1489
+ color: "#44cc00",
1490
+ emissive: "#33aa00",
1491
+ emissiveIntensity: 1,
1492
+ transparent: true,
1493
+ opacity: 0.35,
1494
+ _volumetric: {
1495
+ type: "smoke",
1496
+ density: 0.3,
1497
+ scattering: 0.4,
1498
+ absorption: 0.2,
1499
+ riseSpeed: 0.2,
1500
+ turbulence: 0.3
1501
+ }
1502
+ },
1503
+ magical_mist: {
1504
+ roughness: 0,
1505
+ metalness: 0,
1506
+ emissive: "#8844ff",
1507
+ emissiveIntensity: 1.5,
1508
+ transparent: true,
1509
+ opacity: 0.3,
1510
+ iridescence: 0.6,
1511
+ iridescenceIOR: 1.5,
1512
+ _volumetric: {
1513
+ type: "mist",
1514
+ density: 0.2,
1515
+ scattering: 0.5,
1516
+ absorption: 0.03,
1517
+ emissionIntensity: 1.5
1518
+ }
1519
+ },
1520
+ // --- Architectural & Natural Stone ---
1521
+ brick: { roughness: 0.9, metalness: 0, color: "#a6523c" },
1522
+ concrete: { roughness: 0.88, metalness: 0, color: "#8a8a8a" },
1523
+ granite: { roughness: 0.6, metalness: 0, color: "#666670" },
1524
+ sandstone: { roughness: 0.85, metalness: 0, color: "#cca66e" },
1525
+ slate: { roughness: 0.7, metalness: 0, color: "#3f4450" },
1526
+ adobe: { roughness: 0.95, metalness: 0, color: "#bf9160" },
1527
+ plaster: { roughness: 0.82, metalness: 0, color: "#ebe8de" },
1528
+ // --- Plant & Cellulose ---
1529
+ bamboo: { roughness: 0.65, metalness: 0, color: "#b3a84d" },
1530
+ paper: { roughness: 0.9, metalness: 0, color: "#f3f0e5" },
1531
+ cardboard: { roughness: 0.88, metalness: 0, color: "#b88c58" },
1532
+ // --- Organic & Animal ---
1533
+ bone: { roughness: 0.7, metalness: 0, color: "#e0d4b5" },
1534
+ ivory: { roughness: 0.35, metalness: 0, color: "#f0e8c5", envMapIntensity: 0.4 },
1535
+ coral: { roughness: 0.75, metalness: 0, color: "#f2614d" },
1536
+ shell: {
1537
+ roughness: 0.25,
1538
+ metalness: 0.05,
1539
+ color: "#f5ede0",
1540
+ iridescence: 0.8,
1541
+ iridescenceIOR: 1.5,
1542
+ envMapIntensity: 0.6
1543
+ },
1544
+ thatch: { roughness: 0.95, metalness: 0, color: "#c0a84a" },
1545
+ // --- Synthetic & Engineered ---
1546
+ resin: {
1547
+ roughness: 0.08,
1548
+ metalness: 0,
1549
+ transmission: 0.75,
1550
+ ior: 1.5,
1551
+ color: "#e8c46a",
1552
+ transparent: true,
1553
+ opacity: 0.88
1554
+ },
1555
+ foam: { roughness: 0.95, metalness: 0, color: "#f0f0f0" },
1556
+ composite: { roughness: 0.5, metalness: 0.25, color: "#333338" },
1557
+ carbon_fiber: {
1558
+ roughness: 0.28,
1559
+ metalness: 0.6,
1560
+ color: "#111114",
1561
+ envMapIntensity: 1.2,
1562
+ clearcoat: 0.6,
1563
+ clearcoatRoughness: 0.1
1564
+ },
1565
+ kevlar: { roughness: 0.82, metalness: 0, color: "#ccbb66" },
1566
+ fiberglass: {
1567
+ roughness: 0.3,
1568
+ metalness: 0.05,
1569
+ transmission: 0.4,
1570
+ ior: 1.45,
1571
+ color: "#e0ede0",
1572
+ transparent: true,
1573
+ opacity: 0.92
1574
+ },
1575
+ stained_glass: {
1576
+ roughness: 0.05,
1577
+ metalness: 0,
1578
+ transmission: 0.85,
1579
+ ior: 1.52,
1580
+ color: "#cc44ff",
1581
+ transparent: true,
1582
+ opacity: 0.75,
1583
+ thickness: 0.3
1584
+ }
1585
+ };
1586
+ var ENVIRONMENT_PRESETS = {
1587
+ forest_sunset: {
1588
+ background: true,
1589
+ envPreset: "sunset",
1590
+ fog: { color: "#ff9966", near: 10, far: 100 },
1591
+ ground: { color: "#2d5a27" },
1592
+ lighting: {
1593
+ ambient: { color: "#ffa366", intensity: 0.3 },
1594
+ directional: { color: "#ff7700", intensity: 1.5, position: [10, 20, 5], shadows: true }
1595
+ }
1596
+ },
1597
+ cyberpunk_city: {
1598
+ background: true,
1599
+ envPreset: "night",
1600
+ fog: { color: "#0a0020", near: 5, far: 60 },
1601
+ ground: { color: "#1a1a2e" },
1602
+ lighting: {
1603
+ ambient: { color: "#220044", intensity: 0.2 },
1604
+ directional: { color: "#ff00ff", intensity: 0.5, position: [5, 15, 5], shadows: true },
1605
+ points: [
1606
+ { color: "#00ffff", intensity: 3, position: [-5, 3, -5], distance: 15 },
1607
+ { color: "#ff00ff", intensity: 3, position: [5, 3, 5], distance: 15 }
1608
+ ]
1609
+ },
1610
+ postprocessing: { bloom: { intensity: 1.5, luminanceThreshold: 0.1 } }
1611
+ },
1612
+ space_void: {
1613
+ background: true,
1614
+ envPreset: "night",
1615
+ lighting: {
1616
+ ambient: { color: "#111133", intensity: 0.1 },
1617
+ directional: { color: "#ffffff", intensity: 0.5, position: [0, 10, 0], shadows: false }
1618
+ }
1619
+ },
1620
+ studio: {
1621
+ background: true,
1622
+ envPreset: "studio",
1623
+ ground: { color: "#cccccc" },
1624
+ lighting: {
1625
+ ambient: { color: "#ffffff", intensity: 0.4 },
1626
+ directional: { color: "#ffffff", intensity: 1, position: [5, 10, 5], shadows: true }
1627
+ }
1628
+ },
1629
+ underwater: {
1630
+ background: true,
1631
+ envPreset: "dawn",
1632
+ fog: { color: "#003366", near: 2, far: 40 },
1633
+ ground: { color: "#1a3a4a" },
1634
+ lighting: {
1635
+ ambient: { color: "#004488", intensity: 0.3 },
1636
+ directional: { color: "#66aacc", intensity: 0.8, position: [0, 20, 0], shadows: true }
1637
+ }
1638
+ },
1639
+ desert: {
1640
+ background: true,
1641
+ envPreset: "sunset",
1642
+ fog: { color: "#d4a574", near: 20, far: 150 },
1643
+ ground: { color: "#c4a35a" },
1644
+ lighting: {
1645
+ ambient: { color: "#f5deb3", intensity: 0.4 },
1646
+ directional: { color: "#ffffcc", intensity: 2, position: [15, 30, 10], shadows: true }
1647
+ }
1648
+ }
1649
+ };
1650
+
1651
+ exports.ENVIRONMENT_PRESETS = ENVIRONMENT_PRESETS;
1652
+ exports.MATERIAL_PRESETS = MATERIAL_PRESETS;
1653
+ //# sourceMappingURL=chunk-LDYZWNJW.cjs.map
1654
+ //# sourceMappingURL=chunk-LDYZWNJW.cjs.map