@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,192 @@
1
+ // src/traits/ControlLoopTrait.ts
2
+ function identityN(n) {
3
+ const I = new Array(n * n).fill(0);
4
+ for (let i = 0; i < n; i++) I[i * n + i] = 1;
5
+ return I;
6
+ }
7
+ function matMul(A, r, k, B, c) {
8
+ const C = new Array(r * c).fill(0);
9
+ for (let i = 0; i < r; i++) {
10
+ for (let j = 0; j < c; j++) {
11
+ for (let l = 0; l < k; l++) {
12
+ C[i * c + j] += A[i * k + l] * B[l * c + j];
13
+ }
14
+ }
15
+ }
16
+ return C;
17
+ }
18
+ function matT(A, r, c) {
19
+ const T = new Array(r * c).fill(0);
20
+ for (let i = 0; i < r; i++) {
21
+ for (let j = 0; j < c; j++) {
22
+ T[j * r + i] = A[i * c + j];
23
+ }
24
+ }
25
+ return T;
26
+ }
27
+ function matAdd(A, B) {
28
+ return A.map((v, i) => v + B[i]);
29
+ }
30
+ function solveLinear(A, n, b) {
31
+ const a = Array.from({ length: n }, (_, i) => A.slice(i * n, i * n + n));
32
+ const x = [...b];
33
+ for (let k = 0; k < n; k++) {
34
+ let maxVal = Math.abs(a[k][k]);
35
+ let maxRow = k;
36
+ for (let i = k + 1; i < n; i++) {
37
+ if (Math.abs(a[i][k]) > maxVal) {
38
+ maxVal = Math.abs(a[i][k]);
39
+ maxRow = i;
40
+ }
41
+ }
42
+ [a[k], a[maxRow]] = [a[maxRow], a[k]];
43
+ [x[k], x[maxRow]] = [x[maxRow], x[k]];
44
+ for (let i = k + 1; i < n; i++) {
45
+ if (Math.abs(a[k][k]) < 1e-14) continue;
46
+ const f = a[i][k] / a[k][k];
47
+ for (let j = k; j < n; j++) a[i][j] -= f * a[k][j];
48
+ x[i] -= f * x[k];
49
+ }
50
+ }
51
+ const result = new Array(n).fill(0);
52
+ for (let i = n - 1; i >= 0; i--) {
53
+ if (Math.abs(a[i][i]) < 1e-14) {
54
+ result[i] = 0;
55
+ continue;
56
+ }
57
+ result[i] = x[i];
58
+ for (let j = i + 1; j < n; j++) result[i] -= a[i][j] * result[j];
59
+ result[i] /= a[i][i];
60
+ }
61
+ return result;
62
+ }
63
+ function matVec(A, r, c, x) {
64
+ const y = new Array(r).fill(0);
65
+ for (let i = 0; i < r; i++) {
66
+ for (let j = 0; j < c; j++) y[i] += A[i * c + j] * x[j];
67
+ }
68
+ return y;
69
+ }
70
+ function matScale(A, s) {
71
+ return A.map((v) => v * s);
72
+ }
73
+ function stepPid(params, setpoint, measurement, dt, state) {
74
+ const { Kp, Ki, Kd } = params;
75
+ const iMax = params.iMax ?? Infinity;
76
+ const alpha = params.filterCoeff ?? 1;
77
+ const outMin = params.outputMin ?? -Infinity;
78
+ const outMax = params.outputMax ?? Infinity;
79
+ const error = setpoint - measurement;
80
+ state.integralAccum += error * dt;
81
+ state.integralAccum = Math.max(-iMax, Math.min(iMax, state.integralAccum));
82
+ const rawDeriv = dt > 0 ? (error - state.prevError) / dt : 0;
83
+ const filtDeriv = alpha * rawDeriv + (1 - alpha) * state.prevDerivative;
84
+ state.prevError = error;
85
+ state.prevDerivative = filtDeriv;
86
+ const proportional = Kp * error;
87
+ const integral = Ki * state.integralAccum;
88
+ const derivative = Kd * filtDeriv;
89
+ const u = Math.max(outMin, Math.min(outMax, proportional + integral + derivative));
90
+ return { u, type: "pid", proportional, integral, derivative };
91
+ }
92
+ function stepMpc(params, state) {
93
+ const { model } = params;
94
+ const { A, B, n, m } = model;
95
+ const H = params.horizon ?? 10;
96
+ const Q = params.Q ?? identityN(n);
97
+ const Qf = params.Qf ?? Q;
98
+ const R = params.R ?? identityN(m);
99
+ const uMin = params.uMin ?? new Array(m).fill(-Infinity);
100
+ const uMax = params.uMax ?? new Array(m).fill(Infinity);
101
+ const BT = matT(B, n, m);
102
+ const AT = matT(A, n, n);
103
+ let P = [...Qf];
104
+ const gains = [];
105
+ for (let t = H - 1; t >= 0; t--) {
106
+ const BTP = matMul(BT, m, n, P, n);
107
+ const S = matMul(BTP, m, n, B, m);
108
+ const SpR = matAdd(S, R);
109
+ const BTPA = matMul(BTP, m, n, A, n);
110
+ const K = new Array(m * n).fill(0);
111
+ for (let col = 0; col < n; col++) {
112
+ const rhs = new Array(m).fill(0);
113
+ for (let row = 0; row < m; row++) rhs[row] = BTPA[row * n + col];
114
+ const kcol = solveLinear(SpR, m, rhs);
115
+ for (let row = 0; row < m; row++) K[row * n + col] = kcol[row];
116
+ }
117
+ gains[t] = K;
118
+ const BK = matMul(B, n, m, K, n);
119
+ const AmBK = A.map((v, i) => v - BK[i]);
120
+ const PAmBK = matMul(P, n, n, AmBK, n);
121
+ const ATPAmBK = matMul(AT, n, n, PAmBK, n);
122
+ P = matAdd(Q, ATPAmBK);
123
+ }
124
+ const horizon = [];
125
+ let x = [...state];
126
+ for (let t = 0; t < H; t++) {
127
+ const K = gains[t];
128
+ const u_raw = matVec(matScale(K, -1), m, n, x);
129
+ const u_t = u_raw.map((v, i) => Math.max(uMin[i], Math.min(uMax[i], v)));
130
+ horizon.push(...u_t);
131
+ const Ax = matVec(A, n, n, x);
132
+ const Bu = matVec(B, n, m, u_t);
133
+ x = Ax.map((v, i) => v + Bu[i]);
134
+ }
135
+ const firstU = horizon.slice(0, m);
136
+ const u = m === 1 ? firstU[0] : firstU[0];
137
+ return { u, type: "mpc", horizon };
138
+ }
139
+ function getPidState(node) {
140
+ let ns = node.__control_state;
141
+ if (!ns) {
142
+ ns = {};
143
+ node.__control_state = ns;
144
+ }
145
+ if (!ns.pid) ns.pid = { integralAccum: 0, prevError: 0, prevDerivative: 0 };
146
+ return ns.pid;
147
+ }
148
+ function resetPidState(node) {
149
+ const ns = node.__control_state;
150
+ if (ns?.pid) ns.pid = { integralAccum: 0, prevError: 0, prevDerivative: 0 };
151
+ }
152
+ var controlLoopHandler = {
153
+ name: "control_loop",
154
+ defaultConfig: {},
155
+ onAttach(node) {
156
+ node.__control_state = {};
157
+ node.__control_output = null;
158
+ },
159
+ onEvent(node, config, _ctx, event) {
160
+ const n = node;
161
+ if (event.type === "control_loop.reset") {
162
+ resetPidState(n);
163
+ n.__control_output = null;
164
+ return;
165
+ }
166
+ if (event.type === "control_loop.pid_step") {
167
+ const req = event;
168
+ const params = req.params ?? config.pid;
169
+ if (!params) return;
170
+ const state = getPidState(n);
171
+ n.__control_output = stepPid(
172
+ params,
173
+ req.setpoint,
174
+ req.measurement,
175
+ req.dt ?? 1,
176
+ state
177
+ );
178
+ return;
179
+ }
180
+ if (event.type === "control_loop.mpc_step") {
181
+ const req = event;
182
+ const params = req.params ?? config.mpc;
183
+ if (!params) return;
184
+ n.__control_output = stepMpc(params, req.state);
185
+ return;
186
+ }
187
+ }
188
+ };
189
+
190
+ export { controlLoopHandler, stepMpc, stepPid };
191
+ //# sourceMappingURL=chunk-KPGC7SK2.js.map
192
+ //# sourceMappingURL=chunk-KPGC7SK2.js.map
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ // src/compiler/ObjectPool.ts
4
+ var ASTNodePool = class {
5
+ /**
6
+ * @param factory Creates a fresh instance of the node.
7
+ * @param resetter Resets the node state before it is handed out again.
8
+ * @param initialCapacity How many nodes to pre-allocate.
9
+ */
10
+ constructor(factory, resetter, initialCapacity = 1e4) {
11
+ this.pool = [];
12
+ this.factory = factory;
13
+ this.resetter = resetter;
14
+ for (let i = 0; i < initialCapacity; i++) {
15
+ this.pool.push(this.factory());
16
+ }
17
+ }
18
+ /**
19
+ * Acquire a node from the pool, or create a new one if the pool is empty.
20
+ */
21
+ acquire() {
22
+ if (this.pool.length > 0) {
23
+ const node = this.pool.pop();
24
+ this.resetter(node);
25
+ return node;
26
+ }
27
+ return this.factory();
28
+ }
29
+ /**
30
+ * Release a node back to the pool to be reused.
31
+ */
32
+ release(node) {
33
+ this.pool.push(node);
34
+ }
35
+ /**
36
+ * Release an array of nodes back to the pool.
37
+ */
38
+ releaseAll(nodes) {
39
+ for (const node of nodes) {
40
+ this.pool.push(node);
41
+ }
42
+ }
43
+ /**
44
+ * Clear the pool, allowing garbage collection.
45
+ */
46
+ clear() {
47
+ this.pool.length = 0;
48
+ }
49
+ };
50
+
51
+ exports.ASTNodePool = ASTNodePool;
52
+ //# sourceMappingURL=chunk-KROXXBK5.cjs.map
53
+ //# sourceMappingURL=chunk-KROXXBK5.cjs.map
@@ -1,17 +1,16 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkFT6TDR2O_cjs = require('./chunk-FT6TDR2O.cjs');
4
- var chunkKAIVDEIG_cjs = require('./chunk-KAIVDEIG.cjs');
5
- var chunkOIQYIIO3_cjs = require('./chunk-OIQYIIO3.cjs');
6
- var chunkGH6C2QGW_cjs = require('./chunk-GH6C2QGW.cjs');
7
- var chunkLODTHGST_cjs = require('./chunk-LODTHGST.cjs');
4
+ var chunkLDYZWNJW_cjs = require('./chunk-LDYZWNJW.cjs');
5
+ var chunkKROXXBK5_cjs = require('./chunk-KROXXBK5.cjs');
6
+ var chunkQQFB4RT2_cjs = require('./chunk-QQFB4RT2.cjs');
7
+ var chunkQEDMOGF3_cjs = require('./chunk-QEDMOGF3.cjs');
8
+ var chunkZK7KX5CD_cjs = require('./chunk-ZK7KX5CD.cjs');
8
9
  var ans = require('@holoscript/core-types/ans');
9
10
 
10
11
  // src/compiler/GLTFPipeline.ts
11
- chunkOIQYIIO3_cjs.init_TraitCompositor();
12
- chunkKAIVDEIG_cjs.init_R3FCompiler();
13
- chunkLODTHGST_cjs.init_CompilerBase();
14
- chunkGH6C2QGW_cjs.init_DomainBlockCompilerMixin();
12
+ chunkZK7KX5CD_cjs.init_CompilerBase();
13
+ chunkQEDMOGF3_cjs.init_DomainBlockCompilerMixin();
15
14
 
16
15
  // src/compiler/gltf/extensions.ts
17
16
  function createEmissiveStrengthExtension(strength) {
@@ -120,8 +119,7 @@ function declareExtensions(gltf) {
120
119
  }
121
120
 
122
121
  // src/compiler/GLTFPipeline.ts
123
- chunkKAIVDEIG_cjs.init_ObjectPool();
124
- var gltfNodePool = new chunkKAIVDEIG_cjs.ASTNodePool(
122
+ var gltfNodePool = new chunkKROXXBK5_cjs.ASTNodePool(
125
123
  () => ({ name: "" }),
126
124
  (node) => {
127
125
  node.name = "";
@@ -840,7 +838,7 @@ function generatePlaneGeometry(scale) {
840
838
  var INITIAL_COMPILE_BUFFER_SIZE = 1024 * 1024;
841
839
  var MAX_RETAINED_BUFFER_SIZE = 1024 * 1024 * 20;
842
840
  var SHARED_COMPILE_BUFFER = new Uint8Array(INITIAL_COMPILE_BUFFER_SIZE);
843
- var GLTFPipeline = class extends chunkLODTHGST_cjs.CompilerBase {
841
+ var GLTFPipeline = class _GLTFPipeline extends chunkZK7KX5CD_cjs.CompilerBase {
844
842
  constructor(options = {}) {
845
843
  super();
846
844
  this.compilerName = "GLTFPipeline";
@@ -884,7 +882,7 @@ var GLTFPipeline = class extends chunkLODTHGST_cjs.CompilerBase {
884
882
  generator: options.generator ?? "HoloScript GLTFPipeline v1.0.0",
885
883
  copyright: options.copyright ?? ""
886
884
  };
887
- this.compositor = new chunkOIQYIIO3_cjs.TraitCompositor();
885
+ this.compositor = new chunkQQFB4RT2_cjs.TraitCompositor();
888
886
  }
889
887
  getRequiredCapability() {
890
888
  return ans.ANSCapabilityPath.GLTF;
@@ -1282,12 +1280,12 @@ var GLTFPipeline = class extends chunkLODTHGST_cjs.CompilerBase {
1282
1280
  }
1283
1281
  const domainBlocks = composition.domainBlocks ?? [];
1284
1282
  if (domainBlocks.length > 0) {
1285
- chunkGH6C2QGW_cjs.compileDomainBlocks(
1283
+ chunkQEDMOGF3_cjs.compileDomainBlocks(
1286
1284
  domainBlocks,
1287
1285
  {
1288
1286
  material: (block) => {
1289
- const mat = chunkGH6C2QGW_cjs.compileMaterialBlock(block);
1290
- const gltfMat = chunkGH6C2QGW_cjs.materialToGLTF(mat);
1287
+ const mat = chunkQEDMOGF3_cjs.compileMaterialBlock(block);
1288
+ const gltfMat = chunkQEDMOGF3_cjs.materialToGLTF(mat);
1291
1289
  this.materials.push(gltfMat);
1292
1290
  this.stats.materialCount++;
1293
1291
  return "";
@@ -1601,8 +1599,8 @@ var GLTFPipeline = class extends chunkLODTHGST_cjs.CompilerBase {
1601
1599
  let attenuationColor;
1602
1600
  let attenuationDistance;
1603
1601
  const namedMat = this.findProp(object, "material");
1604
- if (typeof namedMat === "string" && chunkKAIVDEIG_cjs.MATERIAL_PRESETS[namedMat]) {
1605
- const preset = chunkKAIVDEIG_cjs.MATERIAL_PRESETS[namedMat];
1602
+ if (typeof namedMat === "string" && chunkLDYZWNJW_cjs.MATERIAL_PRESETS[namedMat]) {
1603
+ const preset = chunkLDYZWNJW_cjs.MATERIAL_PRESETS[namedMat];
1606
1604
  if (preset.color) color = this.parseColorString(preset.color);
1607
1605
  if (preset.metalness !== void 0) metallic = preset.metalness;
1608
1606
  if (preset.roughness !== void 0) roughness = preset.roughness;
@@ -2031,6 +2029,126 @@ var GLTFPipeline = class extends chunkLODTHGST_cjs.CompilerBase {
2031
2029
  this.accessors.push(accessor);
2032
2030
  return accessorIndex;
2033
2031
  }
2032
+ /**
2033
+ * Build a GLB binary directly from a raw triangle mesh (e.g. a marching-cubes SurfaceMesh from
2034
+ * `Simulation.marchingCubes`). This is the bridge that makes sovereign SDF/CSG geometry loadable
2035
+ * by the Meta Spatial SDK (which loads only glb/gltf — STL is not loadable). Reuses the pipeline's
2036
+ * real accessor + GLB-container machinery; normals are computed if not supplied.
2037
+ *
2038
+ * @param positions flat xyz vertex array
2039
+ * @param indices flat triangle index array
2040
+ */
2041
+ addSurfaceMesh(positions, indices, opts = {}) {
2042
+ this.bufferByteLength = 0;
2043
+ this.accessors = [];
2044
+ this.bufferViews = [];
2045
+ this.meshes = [];
2046
+ this.materials = [];
2047
+ this.nodes = [];
2048
+ this.scenes = [];
2049
+ const name = opts.name ?? "surface";
2050
+ const normals = opts.normals ?? _GLTFPipeline.computeVertexNormals(positions, indices);
2051
+ const posAcc = this.createAccessor(positions, "VEC3", true);
2052
+ const normAcc = this.createAccessor(normals, "VEC3");
2053
+ let colorAcc = -1;
2054
+ if (opts.vertexColor) {
2055
+ const vertCount = positions.length / 3;
2056
+ const posAccessor = this.accessors[posAcc];
2057
+ const bMin = posAccessor.min ?? [0, 0, 0];
2058
+ const bMax = posAccessor.max ?? [0, 0, 0];
2059
+ const bounds = { min: bMin, max: bMax };
2060
+ const colors = new Uint8Array(vertCount * 4);
2061
+ const toByte = (x) => Math.round(Math.max(0, Math.min(1, x)) * 255);
2062
+ for (let v = 0; v < vertCount; v++) {
2063
+ const px = positions[v * 3];
2064
+ const py = positions[v * 3 + 1];
2065
+ const pz = positions[v * 3 + 2];
2066
+ const c = opts.vertexColor([px, py, pz], v, bounds);
2067
+ colors[v * 4] = toByte(c[0]);
2068
+ colors[v * 4 + 1] = toByte(c[1]);
2069
+ colors[v * 4 + 2] = toByte(c[2]);
2070
+ colors[v * 4 + 3] = c.length > 3 ? toByte(c[3]) : 255;
2071
+ }
2072
+ colorAcc = this.emitColorAccessor(colors, vertCount);
2073
+ }
2074
+ const idxAcc = this.createAccessor(indices, "SCALAR");
2075
+ this.materials.push({
2076
+ name: `${name}_mat`,
2077
+ pbrMetallicRoughness: {
2078
+ baseColorFactor: opts.baseColor ?? [0.8, 0.8, 0.82, 1],
2079
+ metallicFactor: opts.metallic ?? 0,
2080
+ roughnessFactor: opts.roughness ?? 0.85
2081
+ }
2082
+ });
2083
+ const attributes = { POSITION: posAcc, NORMAL: normAcc };
2084
+ if (colorAcc >= 0) attributes.COLOR_0 = colorAcc;
2085
+ this.meshes.push({
2086
+ name,
2087
+ primitives: [{ attributes, indices: idxAcc, material: 0 }]
2088
+ });
2089
+ this.nodes.push({ name, mesh: 0 });
2090
+ this.scenes.push({ name, nodes: [0] });
2091
+ const gltf = this.buildDocument(
2092
+ { name, objects: [], spatialGroups: [] },
2093
+ this.bufferByteLength
2094
+ );
2095
+ const buffer = this.bufferData.subarray(0, this.bufferByteLength);
2096
+ return this.createGLB(gltf, buffer);
2097
+ }
2098
+ /**
2099
+ * Emit a COLOR_0 accessor as a normalized UNSIGNED_BYTE VEC4 (4 bytes/vertex). Sets the
2100
+ * ARRAY_BUFFER target + `normalized: true` so loaders (incl. Meta Spatial SDK / glTF runtimes)
2101
+ * read the bytes back as 0..1 colors. Returns the accessor index.
2102
+ */
2103
+ emitColorAccessor(colors, vertCount) {
2104
+ const byteOffset = this.bufferByteLength;
2105
+ this.appendToBuffer(colors);
2106
+ this.padBuffer(4);
2107
+ const bufferViewIndex = this.bufferViews.length;
2108
+ this.bufferViews.push({
2109
+ buffer: 0,
2110
+ byteOffset,
2111
+ byteLength: colors.byteLength,
2112
+ target: 34962
2113
+ // ARRAY_BUFFER
2114
+ });
2115
+ const accessorIndex = this.accessors.length;
2116
+ this.accessors.push({
2117
+ bufferView: bufferViewIndex,
2118
+ componentType: 5121,
2119
+ // UNSIGNED_BYTE
2120
+ count: vertCount,
2121
+ type: "VEC4",
2122
+ normalized: true
2123
+ });
2124
+ return accessorIndex;
2125
+ }
2126
+ /** Per-vertex normals (averaged face normals) for an indexed triangle mesh. */
2127
+ static computeVertexNormals(positions, indices) {
2128
+ const n = new Float32Array(positions.length);
2129
+ for (let i = 0; i < indices.length; i += 3) {
2130
+ const a = indices[i] * 3, b = indices[i + 1] * 3, c = indices[i + 2] * 3;
2131
+ const e1x = positions[b] - positions[a], e1y = positions[b + 1] - positions[a + 1], e1z = positions[b + 2] - positions[a + 2];
2132
+ const e2x = positions[c] - positions[a], e2y = positions[c + 1] - positions[a + 1], e2z = positions[c + 2] - positions[a + 2];
2133
+ const nx = e1y * e2z - e1z * e2y, ny = e1z * e2x - e1x * e2z, nz = e1x * e2y - e1y * e2x;
2134
+ n[a] += nx;
2135
+ n[a + 1] += ny;
2136
+ n[a + 2] += nz;
2137
+ n[b] += nx;
2138
+ n[b + 1] += ny;
2139
+ n[b + 2] += nz;
2140
+ n[c] += nx;
2141
+ n[c + 1] += ny;
2142
+ n[c + 2] += nz;
2143
+ }
2144
+ for (let i = 0; i < n.length; i += 3) {
2145
+ const len = Math.hypot(n[i], n[i + 1], n[i + 2]) || 1;
2146
+ n[i] /= len;
2147
+ n[i + 1] /= len;
2148
+ n[i + 2] /= len;
2149
+ }
2150
+ return n;
2151
+ }
2034
2152
  /**
2035
2153
  * Build the glTF JSON document
2036
2154
  */
@@ -2253,5 +2371,5 @@ exports.GLTFPipeline = GLTFPipeline;
2253
2371
  exports.createGLTFPipeline = createGLTFPipeline;
2254
2372
  exports.generateScaleNormalMap = generateScaleNormalMap;
2255
2373
  exports.generateScaleTexture = generateScaleTexture;
2256
- //# sourceMappingURL=chunk-ZPZAVHXL.cjs.map
2257
- //# sourceMappingURL=chunk-ZPZAVHXL.cjs.map
2374
+ //# sourceMappingURL=chunk-LB3ZZMKT.cjs.map
2375
+ //# sourceMappingURL=chunk-LB3ZZMKT.cjs.map