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