@holoscript/core 6.0.4 → 6.1.2

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 (351) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -3
  3. package/bin/holoscript.cjs +3 -0
  4. package/dist/GLTFPipeline-SFIORFJU.js +16 -0
  5. package/dist/GLTFPipeline-VNNDPONV.cjs +37 -0
  6. package/dist/{HoloScriptPlusParser-BN6KVRCM.js → HoloScriptPlusParser-7FBIFUFC.js} +6 -5
  7. package/dist/{HoloScriptPlusParser-NC5FE6AL.cjs → HoloScriptPlusParser-A2W7OCN2.cjs} +17 -16
  8. package/dist/HoloScriptPlusParser-F2Z56FJR.js +10 -0
  9. package/dist/HoloScriptPlusParser-WKHRIH6T.cjs +27 -0
  10. package/dist/{USDZExporter-UWGWNMMD.cjs → USDZExporter-3FWJ25JI.cjs} +344 -16
  11. package/dist/{USDZExporter-NTMBNTDB.js → USDZExporter-D2HQLQYK.js} +344 -16
  12. package/dist/agents/index.cjs +19 -0
  13. package/dist/agents/index.d.ts +100 -0
  14. package/dist/agents/index.js +17 -0
  15. package/dist/chunk-22W6NGYN.js +725 -0
  16. package/dist/{chunk-5OEOHAAW.cjs → chunk-27MPVJVZ.cjs} +64 -28
  17. package/dist/{chunk-RVYPEYPX.js → chunk-2A7FURVO.js} +44 -8
  18. package/dist/{chunk-XCWFGZAA.js → chunk-2B7WVIDZ.js} +11 -8
  19. package/dist/{chunk-NDQNIJEH.js → chunk-2BSMSUCE.js} +250 -24
  20. package/dist/chunk-2HLIGOKU.cjs +5546 -0
  21. package/dist/{chunk-EONILVMF.js → chunk-2M2DPHKB.js} +4 -4
  22. package/dist/{chunk-G7CT3EMP.cjs → chunk-2YSNA2F2.cjs} +319 -47
  23. package/dist/{chunk-IWI6J7FX.js → chunk-33XCOVE3.js} +5 -5
  24. package/dist/chunk-3FOKASKO.cjs +348 -0
  25. package/dist/{chunk-DXJQDCFL.js → chunk-4C57PR42.js} +3 -3
  26. package/dist/{chunk-MPXBVFHQ.js → chunk-4N4SXXWF.js} +4 -3
  27. package/dist/chunk-4PDEPEQW.cjs +41 -0
  28. package/dist/chunk-4R6HPSHJ.js +2176 -0
  29. package/dist/chunk-4R6SBXDB.js +45 -0
  30. package/dist/chunk-4SY77NA4.cjs +413 -0
  31. package/dist/{chunk-YCXFCXDS.js → chunk-4UUKPCY4.js} +668 -110
  32. package/dist/{chunk-LGGRPKTV.cjs → chunk-52ULD552.cjs} +114 -35
  33. package/dist/{chunk-L4G4RLXX.js → chunk-5CKA5SXU.js} +438 -22
  34. package/dist/chunk-5FSKKMR7.cjs +2092 -0
  35. package/dist/{chunk-FF3Q7ADR.js → chunk-5JEU52DW.js} +5 -3
  36. package/dist/chunk-5N54COB6.cjs +327 -0
  37. package/dist/chunk-5S7RKFGR.cjs +446 -0
  38. package/dist/{chunk-KED34ILP.js → chunk-6ASWLXXN.js} +21 -9
  39. package/dist/chunk-6CTRH7HT.cjs +1985 -0
  40. package/dist/{chunk-CAUCGUEA.cjs → chunk-6EX3I5P4.cjs} +6 -6
  41. package/dist/chunk-6FGQNDR4.js +5731 -0
  42. package/dist/{chunk-72EQECGT.cjs → chunk-6KMK2UXT.cjs} +122 -46
  43. package/dist/{chunk-G4VZTCIB.js → chunk-6L4VE27M.js} +33 -23
  44. package/dist/{chunk-ATSKSYVE.cjs → chunk-6S6TKNEA.cjs} +6478 -1738
  45. package/dist/chunk-77V4GTCA.js +596 -0
  46. package/dist/{chunk-ZP4D3CSX.cjs → chunk-7AD52FRS.cjs} +16 -16
  47. package/dist/chunk-A6KINLZJ.js +236 -0
  48. package/dist/chunk-AIA52I7T.cjs +543 -0
  49. package/dist/chunk-AIX25INK.cjs +602 -0
  50. package/dist/{chunk-B5TCIAPQ.cjs → chunk-AO4I2Z7M.cjs} +17 -18
  51. package/dist/{chunk-Q5SJOGHQ.cjs → chunk-BPICAGBV.cjs} +324 -199
  52. package/dist/chunk-BRQJKJGT.cjs +20 -0
  53. package/dist/{chunk-3FXV5S25.cjs → chunk-C37BHB7N.cjs} +6 -3
  54. package/dist/{chunk-XUTX5CBW.js → chunk-CBJY23VL.js} +3 -3
  55. package/dist/chunk-CIWWXYHZ.cjs +50 -0
  56. package/dist/{chunk-XXINBTZK.cjs → chunk-DIL6DDDN.cjs} +101 -45
  57. package/dist/chunk-DMXC24WV.js +404 -0
  58. package/dist/{chunk-PMGODDJA.cjs → chunk-DTGBOSEM.cjs} +12 -12
  59. package/dist/chunk-E7JP3BS3.cjs +61 -0
  60. package/dist/{chunk-HJJLD366.js → chunk-EKBKLK7P.js} +3 -3
  61. package/dist/chunk-EKYL4PE3.cjs +404 -0
  62. package/dist/{chunk-UPJBDCVF.js → chunk-EMMC5CSQ.js} +12 -8
  63. package/dist/{chunk-GGHSW2NN.js → chunk-EOBB6A4B.js} +6389 -1718
  64. package/dist/chunk-EOFNVCM6.js +325 -0
  65. package/dist/{chunk-FHQVYCH2.js → chunk-ER4GATIU.js} +7 -7
  66. package/dist/{chunk-N5FTS757.cjs → chunk-EXKSFGSX.cjs} +7 -148
  67. package/dist/{chunk-LK5IAVH6.cjs → chunk-EXUP2BUM.cjs} +27 -27
  68. package/dist/chunk-FDSGHPAK.js +130 -0
  69. package/dist/chunk-FEWUHQNM.cjs +144 -0
  70. package/dist/{chunk-5TOFIR6L.js → chunk-FGGJQRLZ.js} +5 -142
  71. package/dist/chunk-FHP6LXJS.js +415 -0
  72. package/dist/{chunk-7LCYLPW2.cjs → chunk-FJPADH77.cjs} +7 -4
  73. package/dist/{chunk-T36DDXSF.js → chunk-FXKTYFYA.js} +150 -25
  74. package/dist/chunk-G2LS3RFO.js +623 -0
  75. package/dist/chunk-GCMWDSBZ.cjs +729 -0
  76. package/dist/chunk-GJNCFRJU.cjs +125 -0
  77. package/dist/{chunk-Q4QX3AET.cjs → chunk-GMP623FG.cjs} +16 -13
  78. package/dist/{chunk-XD6IYDUX.js → chunk-GN3KDX4W.js} +119 -43
  79. package/dist/{chunk-QLEAOI3Q.cjs → chunk-GQYKQSTC.cjs} +10 -10
  80. package/dist/chunk-GTU2Z2WW.cjs +262 -0
  81. package/dist/chunk-GZG4KA4E.js +529 -0
  82. package/dist/{chunk-BND3ST2K.cjs → chunk-H3MGK7TX.cjs} +42 -32
  83. package/dist/{chunk-XRKWN5PL.cjs → chunk-H5DZIHJP.cjs} +14 -18
  84. package/dist/{chunk-Z34RLXRA.cjs → chunk-HANL7K2Q.cjs} +65 -50
  85. package/dist/{chunk-3SAK5KFL.cjs → chunk-HCCQLAA4.cjs} +2 -11
  86. package/dist/{chunk-LXJ4667L.cjs → chunk-HGVXZDSK.cjs} +108 -20
  87. package/dist/{chunk-3FJCK5XA.js → chunk-HRODTEEO.js} +30 -10
  88. package/dist/{chunk-HQUEA5R6.cjs → chunk-HZCQO4JM.cjs} +6 -6
  89. package/dist/{chunk-S565K7NK.js → chunk-I2O7TW6B.js} +12 -8
  90. package/dist/chunk-IHESJZSW.js +4490 -0
  91. package/dist/{chunk-FSF7EQVA.cjs → chunk-IRWWS72C.cjs} +63 -22
  92. package/dist/{chunk-5O6TQC6M.cjs → chunk-IVIA7K75.cjs} +689 -127
  93. package/dist/chunk-IVY74O6C.js +247 -0
  94. package/dist/chunk-J32ZJZJH.js +554 -0
  95. package/dist/chunk-J56PTA46.cjs +639 -0
  96. package/dist/chunk-JD7CIZ33.js +1949 -0
  97. package/dist/{chunk-T7LEXZUZ.cjs → chunk-JIYN45TV.cjs} +14 -15
  98. package/dist/{chunk-FFKU7BTK.cjs → chunk-KHPCJRI3.cjs} +24 -21
  99. package/dist/chunk-KKFZ3B6J.cjs +557 -0
  100. package/dist/chunk-KPJL34Y7.cjs +186 -0
  101. package/dist/{chunk-HE7ULERA.cjs → chunk-KQTPCYTG.cjs} +128 -44
  102. package/dist/{chunk-OFKWH2IP.js → chunk-KX76JUQY.js} +3 -3
  103. package/dist/{chunk-33LSUQDD.cjs → chunk-L63H3SQ4.cjs} +43 -31
  104. package/dist/{chunk-K6EKD26I.js → chunk-LAOCQJ2M.js} +64 -8
  105. package/dist/chunk-LM2VU56C.cjs +37 -0
  106. package/dist/chunk-M56JSP4A.js +400 -0
  107. package/dist/chunk-MBOOR7X4.js +18 -0
  108. package/dist/{chunk-XWPNTWDN.cjs → chunk-MJVIRCUV.cjs} +31 -27
  109. package/dist/{chunk-SDAMZIRE.js → chunk-MSMIFMBL.js} +135 -18
  110. package/dist/{chunk-56IF4NTA.js → chunk-MXFUTKCO.js} +18 -18
  111. package/dist/{chunk-6UEHYZ7V.cjs → chunk-MXJ5SS53.cjs} +447 -31
  112. package/dist/chunk-MYY4PMWX.cjs +264 -0
  113. package/dist/chunk-N75IH2HY.js +258 -0
  114. package/dist/{chunk-GVUR45UF.cjs → chunk-NG77ATEW.cjs} +7 -6
  115. package/dist/chunk-NW5G5FBQ.js +215 -0
  116. package/dist/{chunk-E3FWRT3Z.js → chunk-OEFY723R.js} +28 -13
  117. package/dist/chunk-OEV5RMZO.cjs +3042 -0
  118. package/dist/{chunk-X4ZF6CNE.cjs → chunk-OIQYIIO3.cjs} +7 -7
  119. package/dist/{chunk-2CWOLHTE.js → chunk-OL46QLBJ.js} +3 -11
  120. package/dist/chunk-OPZ7XDDI.js +487 -0
  121. package/dist/chunk-OSYNRVOV.cjs +243 -0
  122. package/dist/{chunk-TEWCN33Y.js → chunk-P7YIA5LN.js} +91 -7
  123. package/dist/chunk-PGANYCAG.cjs +220 -0
  124. package/dist/{chunk-CS2EMTGF.js → chunk-QAVXL2IH.js} +62 -21
  125. package/dist/{chunk-T4NKMBDL.js → chunk-QCCBXSCE.js} +1666 -756
  126. package/dist/{chunk-F4IULT7N.js → chunk-QPOQ7VPI.js} +16 -13
  127. package/dist/{chunk-6XSERL6L.js → chunk-QTPMJRGS.js} +3108 -2827
  128. package/dist/{chunk-F3HH56EB.cjs → chunk-QWNQ523V.cjs} +1730 -823
  129. package/dist/{chunk-R7MA7QWV.js → chunk-R3IVNY6P.js} +102 -23
  130. package/dist/chunk-R75BSDH7.cjs +50 -0
  131. package/dist/chunk-RAXUF5DF.cjs +2196 -0
  132. package/dist/{chunk-BF2235SI.cjs → chunk-RMHC2VG7.cjs} +2876 -2592
  133. package/dist/chunk-RUXGBKPS.cjs +4517 -0
  134. package/dist/{chunk-UERJ3YJV.js → chunk-S5IFXW6E.js} +113 -9
  135. package/dist/{chunk-27LWW5FU.cjs → chunk-S6YWHCKV.cjs} +5 -5
  136. package/dist/{chunk-WB4Z63GG.js → chunk-SIEXCILW.js} +3 -3
  137. package/dist/{chunk-CLYEIWA5.cjs → chunk-SLU6UPJI.cjs} +5 -3
  138. package/dist/{chunk-LZ266PCM.cjs → chunk-T5J7ZKP3.cjs} +446 -60
  139. package/dist/chunk-TDCNJHWO.js +341 -0
  140. package/dist/{chunk-IHOUYQIA.js → chunk-TG7O4WBC.js} +5 -5
  141. package/dist/chunk-THCK6ECW.js +2085 -0
  142. package/dist/chunk-TJHVSBP2.js +439 -0
  143. package/dist/chunk-TK74TR4H.js +5541 -0
  144. package/dist/{chunk-CDPGV4DN.js → chunk-U4NBQJBY.js} +14 -15
  145. package/dist/{chunk-NOZZ46QU.js → chunk-UD3DSHZM.js} +10 -14
  146. package/dist/chunk-UDMYRFDZ.js +3038 -0
  147. package/dist/{chunk-WDW67DZB.cjs → chunk-UOIGFQXC.cjs} +90 -68
  148. package/dist/{chunk-BU7VWW2K.js → chunk-URG2SJLK.js} +14 -15
  149. package/dist/{chunk-EQV4R3EV.cjs → chunk-V73NPPTM.cjs} +152 -35
  150. package/dist/chunk-VECQYRXL.js +474 -0
  151. package/dist/chunk-VEXPG4WN.js +1989 -0
  152. package/dist/{chunk-LDP5OK6G.js → chunk-VMLKSV26.js} +5 -5
  153. package/dist/{chunk-5BGSECRJ.cjs → chunk-VSK7W3O5.cjs} +47 -27
  154. package/dist/chunk-VVKVQZI6.js +55 -0
  155. package/dist/{chunk-YQK5JNFK.js → chunk-W55Z7QIX.js} +103 -15
  156. package/dist/{chunk-KSGXLT74.cjs → chunk-W6P2GBHH.cjs} +3 -3
  157. package/dist/{chunk-IBDG74G2.cjs → chunk-W6RW64BB.cjs} +7 -7
  158. package/dist/chunk-WDT3JTGM.cjs +483 -0
  159. package/dist/{chunk-HPS76H7Q.js → chunk-WKX5AMOY.js} +3 -3
  160. package/dist/chunk-WNNE3PO3.js +34 -0
  161. package/dist/{chunk-XG23EUQX.cjs → chunk-WRLUBRKS.cjs} +538 -312
  162. package/dist/{chunk-IFNQFCTM.js → chunk-WRNEH5MO.js} +79 -8
  163. package/dist/{chunk-54FHG2MX.js → chunk-WRWEX5ZF.js} +7 -4
  164. package/dist/{chunk-KCQ5NDYC.cjs → chunk-X3GJPRVK.cjs} +154 -80
  165. package/dist/{chunk-7AGYRWKW.cjs → chunk-XFXGA5IW.cjs} +126 -22
  166. package/dist/{chunk-TQSZUOW5.cjs → chunk-XHIV6326.cjs} +4 -4
  167. package/dist/chunk-XJAN7CZG.cjs +432 -0
  168. package/dist/chunk-XL6INWKT.js +121 -0
  169. package/dist/{chunk-E3UALNFA.js → chunk-XMWZG36H.js} +4 -4
  170. package/dist/{chunk-BKIGPPVM.js → chunk-XSFNHP2E.js} +6 -3
  171. package/dist/{chunk-H5Z7NASB.js → chunk-XT6JY5W5.js} +25 -3
  172. package/dist/chunk-XXZJEFKW.cjs +490 -0
  173. package/dist/chunk-Y3MWXQSB.cjs +5737 -0
  174. package/dist/chunk-YF2I3MV3.js +46 -0
  175. package/dist/{chunk-V3NN3HPP.js → chunk-YIMN575O.js} +437 -52
  176. package/dist/chunk-YIVFJNYV.js +176 -0
  177. package/dist/{chunk-MD6KDHVE.cjs → chunk-YKGPCZEE.cjs} +10 -10
  178. package/dist/chunk-YQELFNJV.js +39 -0
  179. package/dist/chunk-Z5XMPRNC.cjs +5390 -0
  180. package/dist/{chunk-3FYZOR7S.cjs → chunk-ZDSYWBIE.cjs} +18 -18
  181. package/dist/{chunk-6TZPZCOJ.cjs → chunk-ZKSS47EV.cjs} +24 -19
  182. package/dist/chunk-ZUL5AVTX.cjs +1993 -0
  183. package/dist/chunk-ZXBZVXDW.js +5386 -0
  184. package/dist/{chunk-DMG7C4H2.js → chunk-ZZ7RO2UQ.js} +312 -44
  185. package/dist/cli/holoscript-runner.cjs +200 -204
  186. package/dist/cli/holoscript-runner.js +144 -148
  187. package/dist/codebase/index.cjs +1 -1
  188. package/dist/codebase/index.js +1 -1
  189. package/dist/compiler/agent-inference.cjs +10 -7
  190. package/dist/compiler/agent-inference.js +6 -3
  191. package/dist/compiler/android-xr.cjs +12 -7
  192. package/dist/compiler/android-xr.js +10 -5
  193. package/dist/compiler/android.cjs +12 -8
  194. package/dist/compiler/android.js +10 -6
  195. package/dist/compiler/ar.cjs +9 -6
  196. package/dist/compiler/ar.js +7 -4
  197. package/dist/compiler/babylon.cjs +12 -8
  198. package/dist/compiler/babylon.js +11 -7
  199. package/dist/compiler/business-quest.cjs +43 -0
  200. package/dist/compiler/business-quest.js +4 -0
  201. package/dist/compiler/coco.cjs +1 -1
  202. package/dist/compiler/coco.js +1 -1
  203. package/dist/compiler/context.cjs +25 -0
  204. package/dist/compiler/context.d.ts +28 -0
  205. package/dist/compiler/context.js +8 -0
  206. package/dist/compiler/domain-block-utils.cjs +155 -152
  207. package/dist/compiler/domain-block-utils.js +7 -4
  208. package/dist/compiler/dtdl.cjs +10 -7
  209. package/dist/compiler/dtdl.js +7 -4
  210. package/dist/compiler/gltf-pipeline.cjs +9 -9
  211. package/dist/compiler/gltf-pipeline.js +2 -2
  212. package/dist/compiler/godot.cjs +9 -6
  213. package/dist/compiler/godot.js +8 -5
  214. package/dist/compiler/incremental.cjs +12 -7
  215. package/dist/compiler/incremental.js +7 -2
  216. package/dist/compiler/index.cjs +3550 -268
  217. package/dist/compiler/index.d.ts +404 -21
  218. package/dist/compiler/index.js +3280 -138
  219. package/dist/compiler/ios.cjs +11 -8
  220. package/dist/compiler/ios.js +9 -6
  221. package/dist/compiler/llm-provider-capabilities.cjs +25 -0
  222. package/dist/compiler/llm-provider-capabilities.d.ts +43 -0
  223. package/dist/compiler/llm-provider-capabilities.js +8 -0
  224. package/dist/compiler/multi-layer.cjs +14 -10
  225. package/dist/compiler/multi-layer.js +13 -9
  226. package/dist/compiler/nodetoy.cjs +5 -5
  227. package/dist/compiler/nodetoy.js +2 -2
  228. package/dist/compiler/openxr.cjs +10 -6
  229. package/dist/compiler/openxr.js +9 -5
  230. package/dist/compiler/playcanvas.cjs +10 -7
  231. package/dist/compiler/playcanvas.js +9 -6
  232. package/dist/compiler/r3f.cjs +17 -13
  233. package/dist/compiler/r3f.d.ts +22 -0
  234. package/dist/compiler/r3f.js +12 -8
  235. package/dist/compiler/remotion.cjs +1 -1
  236. package/dist/compiler/remotion.js +1 -1
  237. package/dist/compiler/reproducibility.cjs +1 -1
  238. package/dist/compiler/reproducibility.js +1 -1
  239. package/dist/compiler/sdf.cjs +10 -7
  240. package/dist/compiler/sdf.js +8 -5
  241. package/dist/compiler/semantic-scene.cjs +1 -1
  242. package/dist/compiler/semantic-scene.js +1 -1
  243. package/dist/compiler/state.cjs +9 -5
  244. package/dist/compiler/state.js +7 -3
  245. package/dist/compiler/trait-composition.cjs +11 -7
  246. package/dist/compiler/trait-composition.js +7 -3
  247. package/dist/compiler/unity.cjs +10 -6
  248. package/dist/compiler/unity.js +9 -5
  249. package/dist/compiler/unreal.cjs +11 -7
  250. package/dist/compiler/unreal.js +9 -5
  251. package/dist/compiler/urdf.cjs +20 -13
  252. package/dist/compiler/urdf.js +8 -5
  253. package/dist/compiler/usd-physics.cjs +10 -7
  254. package/dist/compiler/usd-physics.js +7 -4
  255. package/dist/compiler/visionos.cjs +10 -6
  256. package/dist/compiler/visionos.js +9 -5
  257. package/dist/compiler/vrchat.cjs +10 -7
  258. package/dist/compiler/vrchat.js +8 -5
  259. package/dist/compiler/vrr.cjs +10 -7
  260. package/dist/compiler/vrr.js +8 -5
  261. package/dist/compiler/wasm.cjs +13 -10
  262. package/dist/compiler/wasm.js +8 -5
  263. package/dist/compiler/webgpu.cjs +9 -6
  264. package/dist/compiler/webgpu.js +8 -5
  265. package/dist/constants.d.ts +3 -2
  266. package/dist/coordinators/index.cjs +1266 -0
  267. package/dist/coordinators/index.d.ts +260 -0
  268. package/dist/coordinators/index.js +1259 -0
  269. package/dist/debugger.cjs +9 -7
  270. package/dist/debugger.js +7 -5
  271. package/dist/entries/interop.cjs +23 -21
  272. package/dist/entries/interop.js +5 -3
  273. package/dist/entries/scripting.cjs +18 -18
  274. package/dist/entries/scripting.js +8 -8
  275. package/dist/hololand/index.cjs +146 -0
  276. package/dist/hololand/index.d.ts +70 -0
  277. package/dist/hololand/index.js +5 -0
  278. package/dist/index.cjs +20332 -18121
  279. package/dist/index.d.ts +1477 -40
  280. package/dist/index.js +19451 -17638
  281. package/dist/math/tropical-spmv.cjs +45 -0
  282. package/dist/math/tropical-spmv.js +4 -0
  283. package/dist/math/vec3.cjs +14 -14
  284. package/dist/math/vec3.js +2 -2
  285. package/dist/{ml-dsa-PHCWUBPX.cjs → ml-dsa-FSKBTE3W.cjs} +177 -90
  286. package/dist/{ml-dsa-WYLJHJO6.js → ml-dsa-Z7JDKW4L.js} +158 -71
  287. package/dist/paper-0c-spike/index.cjs +150 -0
  288. package/dist/paper-0c-spike/index.d.ts +29 -0
  289. package/dist/paper-0c-spike/index.js +141 -0
  290. package/dist/parser.cjs +45 -11
  291. package/dist/parser.d.ts +11 -0
  292. package/dist/parser.js +10 -8
  293. package/dist/{playwright-RL6GY4F7.cjs → playwright-3AT3AKTV.cjs} +1985 -1985
  294. package/dist/{playwright-5OSAPTNH.js → playwright-VZPDVUEQ.js} +3 -3
  295. package/dist/reconstruction/index.cjs +153 -0
  296. package/dist/reconstruction/index.d.ts +105 -0
  297. package/dist/reconstruction/index.js +8 -0
  298. package/dist/runtime.cjs +7 -5
  299. package/dist/runtime.js +6 -4
  300. package/dist/self-improvement/index.cjs +563 -0
  301. package/dist/self-improvement/index.js +545 -0
  302. package/dist/storage/index.cjs +10 -9
  303. package/dist/storage/index.js +3 -2
  304. package/dist/testing.cjs +25 -0
  305. package/dist/testing.d.ts +70 -0
  306. package/dist/testing.js +4 -0
  307. package/dist/tools/index.d.ts +22 -1
  308. package/dist/traitDocs/traitDocs.cjs +33 -0
  309. package/dist/traitDocs/traitDocs.d.ts +69 -0
  310. package/dist/traitDocs/traitDocs.js +7 -0
  311. package/dist/traits/botanical-lotus.cjs +41 -0
  312. package/dist/traits/botanical-lotus.d.ts +172 -0
  313. package/dist/traits/botanical-lotus.js +4 -0
  314. package/dist/traits/engines/index.cjs +520 -0
  315. package/dist/traits/engines/index.js +380 -0
  316. package/dist/traits/index.cjs +17630 -7881
  317. package/dist/traits/index.d.ts +197 -0
  318. package/dist/traits/index.js +16573 -7193
  319. package/dist/traits/simulation-solver-factory.cjs +13 -0
  320. package/dist/traits/simulation-solver-factory.d.ts +23 -0
  321. package/dist/traits/simulation-solver-factory.js +4 -0
  322. package/dist/traits/webcam-gaze.cjs +35 -0
  323. package/dist/traits/webcam-gaze.d.ts +17 -0
  324. package/dist/traits/webcam-gaze.js +4 -0
  325. package/dist/type-checker.cjs +6 -5
  326. package/dist/type-checker.js +4 -3
  327. package/dist/world/index.cjs +947 -0
  328. package/dist/world/index.d.ts +147 -0
  329. package/dist/world/index.js +939 -0
  330. package/dist/world-model/index.cjs +1446 -0
  331. package/dist/world-model/index.d.ts +119 -0
  332. package/dist/world-model/index.js +1414 -0
  333. package/dist/wot/index.cjs +29 -0
  334. package/dist/wot/index.js +4 -0
  335. package/package.json +153 -61
  336. package/dist/GLTFPipeline-DEN36VNK.js +0 -12
  337. package/dist/GLTFPipeline-YPCAK236.cjs +0 -33
  338. package/dist/chunk-4XSNJCLC.cjs +0 -1859
  339. package/dist/chunk-A7PIMZGU.js +0 -263
  340. package/dist/chunk-BWFJEM5A.js +0 -5419
  341. package/dist/chunk-CBJSLA2E.cjs +0 -5423
  342. package/dist/chunk-K3JDKWGI.cjs +0 -270
  343. package/dist/chunk-LSW7P7ML.js +0 -3675
  344. package/dist/chunk-MEASWI2Y.js +0 -126
  345. package/dist/chunk-NCUKG4SK.cjs +0 -3075
  346. package/dist/chunk-Q5JT3YML.cjs +0 -129
  347. package/dist/chunk-QGKNANZ3.js +0 -3071
  348. package/dist/chunk-S2N5TNMA.js +0 -1855
  349. package/dist/chunk-TSH3MSQU.cjs +0 -129
  350. package/dist/chunk-WGMEAYBG.js +0 -126
  351. package/dist/chunk-X6SEAXAX.cjs +0 -3681
@@ -1,19 +1,26 @@
1
1
  'use strict';
2
2
 
3
- var chunkBF2235SI_cjs = require('./chunk-BF2235SI.cjs');
4
- var platform = require('@holoscript/platform');
3
+ var chunkRMHC2VG7_cjs = require('./chunk-RMHC2VG7.cjs');
4
+ var ans = require('@holoscript/core-types/ans');
5
5
 
6
6
  // src/compiler/AgentInferenceExportTarget.ts
7
- chunkBF2235SI_cjs.init_CompilerBase();
7
+ chunkRMHC2VG7_cjs.init_CompilerBase();
8
8
  var DEFAULT_MODEL_CONFIG = {
9
9
  provider: "anthropic",
10
- name: "claude-sonnet-4-20250514",
10
+ // Default to Opus 4.7 — most capable Claude. Users override per-agent via
11
+ // the `@model` trait. NEVER silently downgrade for cost (per API skill rule).
12
+ name: "claude-opus-4-7",
11
13
  temperature: 0.7,
12
- maxTokens: 4096,
14
+ maxTokens: 16e3,
15
+ // bumped from 4096 — current API default guidance
13
16
  topP: 0.9,
14
17
  topK: 40,
15
18
  systemPrompt: "You are a helpful AI agent."
16
19
  };
20
+ var ANTHROPIC_MODELS_NO_SAMPLING_PARAMS = /* @__PURE__ */ new Set(["claude-opus-4-7"]);
21
+ function modelAcceptsSamplingParams(modelName) {
22
+ return !ANTHROPIC_MODELS_NO_SAMPLING_PARAMS.has(modelName);
23
+ }
17
24
  var AGENT_TRAIT_NAMES = /* @__PURE__ */ new Set([
18
25
  "agent",
19
26
  "model",
@@ -30,7 +37,7 @@ var AGENT_TRAIT_NAMES = /* @__PURE__ */ new Set([
30
37
  "memory",
31
38
  "persona"
32
39
  ]);
33
- var AgentInferenceCompiler = class extends chunkBF2235SI_cjs.CompilerBase {
40
+ var AgentInferenceCompiler = class extends chunkRMHC2VG7_cjs.CompilerBase {
34
41
  constructor(options = {}) {
35
42
  super();
36
43
  this.compilerName = "AgentInferenceCompiler";
@@ -39,7 +46,7 @@ var AgentInferenceCompiler = class extends chunkBF2235SI_cjs.CompilerBase {
39
46
  this.options = {
40
47
  language: options.language ?? "typescript",
41
48
  defaultProvider: options.defaultProvider ?? "anthropic",
42
- defaultModel: options.defaultModel ?? "claude-sonnet-4-20250514",
49
+ defaultModel: options.defaultModel ?? "claude-sonnet-4-6",
43
50
  defaultTemperature: options.defaultTemperature ?? 0.7,
44
51
  defaultMaxTokens: options.defaultMaxTokens ?? 4096,
45
52
  includeTypes: options.includeTypes ?? true,
@@ -48,7 +55,7 @@ var AgentInferenceCompiler = class extends chunkBF2235SI_cjs.CompilerBase {
48
55
  };
49
56
  }
50
57
  getRequiredCapability() {
51
- return platform.ANSCapabilityPath.AGENT_INFERENCE;
58
+ return ans.ANSCapabilityPath.AGENT_INFERENCE;
52
59
  }
53
60
  /**
54
61
  * Compile a HoloScript composition to runnable agent inference scripts.
@@ -402,8 +409,10 @@ var AgentInferenceCompiler = class extends chunkBF2235SI_cjs.CompilerBase {
402
409
  lines.push(" const response = await this.client.messages.create({");
403
410
  lines.push(` model: ${JSON.stringify(agent.modelConfig.name)},`);
404
411
  lines.push(` max_tokens: ${agent.modelConfig.maxTokens},`);
405
- lines.push(` temperature: ${agent.modelConfig.temperature},`);
406
- lines.push(` top_p: ${agent.modelConfig.topP},`);
412
+ if (modelAcceptsSamplingParams(agent.modelConfig.name)) {
413
+ lines.push(` temperature: ${agent.modelConfig.temperature},`);
414
+ lines.push(` top_p: ${agent.modelConfig.topP},`);
415
+ }
407
416
  lines.push(" system: this.systemPrompt,");
408
417
  lines.push(" messages: this.messages,");
409
418
  if (agent.tools.length > 0) {
@@ -442,7 +451,9 @@ var AgentInferenceCompiler = class extends chunkBF2235SI_cjs.CompilerBase {
442
451
  lines.push(" currentResponse = await this.client.messages.create({");
443
452
  lines.push(` model: ${JSON.stringify(agent.modelConfig.name)},`);
444
453
  lines.push(` max_tokens: ${agent.modelConfig.maxTokens},`);
445
- lines.push(` temperature: ${agent.modelConfig.temperature},`);
454
+ if (modelAcceptsSamplingParams(agent.modelConfig.name)) {
455
+ lines.push(` temperature: ${agent.modelConfig.temperature},`);
456
+ }
446
457
  lines.push(" system: this.systemPrompt,");
447
458
  lines.push(" messages: this.messages,");
448
459
  lines.push(" tools,");
@@ -544,7 +555,9 @@ var AgentInferenceCompiler = class extends chunkBF2235SI_cjs.CompilerBase {
544
555
  lines.push(" response = self.client.messages.create(");
545
556
  lines.push(` model=${JSON.stringify(agent.modelConfig.name)},`);
546
557
  lines.push(` max_tokens=${agent.modelConfig.maxTokens},`);
547
- lines.push(` temperature=${agent.modelConfig.temperature},`);
558
+ if (modelAcceptsSamplingParams(agent.modelConfig.name)) {
559
+ lines.push(` temperature=${agent.modelConfig.temperature},`);
560
+ }
548
561
  lines.push(" system=self.system_prompt,");
549
562
  lines.push(" messages=self.messages,");
550
563
  if (agent.tools.length > 0) {
@@ -572,7 +585,9 @@ var AgentInferenceCompiler = class extends chunkBF2235SI_cjs.CompilerBase {
572
585
  lines.push(" response = self.client.messages.create(");
573
586
  lines.push(` model=${JSON.stringify(agent.modelConfig.name)},`);
574
587
  lines.push(` max_tokens=${agent.modelConfig.maxTokens},`);
575
- lines.push(` temperature=${agent.modelConfig.temperature},`);
588
+ if (modelAcceptsSamplingParams(agent.modelConfig.name)) {
589
+ lines.push(` temperature=${agent.modelConfig.temperature},`);
590
+ }
576
591
  lines.push(" system=self.system_prompt,");
577
592
  lines.push(" messages=self.messages,");
578
593
  lines.push(" tools=TOOLS,");
@@ -608,46 +623,100 @@ var AgentInferenceCompiler = class extends chunkBF2235SI_cjs.CompilerBase {
608
623
  }
609
624
  // ─── Tool Definitions ───────────────────────────────────────────────
610
625
  emitToolDefinitions(allTools) {
626
+ const provider = this.options.defaultProvider ?? DEFAULT_MODEL_CONFIG.provider;
611
627
  if (this.options.language === "python") {
612
- return this.emitToolDefinitionsPython(allTools);
628
+ return this.emitToolDefinitionsPython(allTools, provider);
613
629
  }
614
- return this.emitToolDefinitionsTypeScript(allTools);
630
+ return this.emitToolDefinitionsTypeScript(allTools, provider);
615
631
  }
616
- emitToolDefinitionsTypeScript(allTools) {
632
+ emitToolDefinitionsTypeScript(allTools, provider) {
617
633
  const lines = [];
618
634
  lines.push("/**");
619
635
  lines.push(" * Tool definitions for agent inference");
620
- lines.push(" * Generated by HoloScript AgentInferenceCompiler");
636
+ lines.push(` * Generated by HoloScript AgentInferenceCompiler (target: ${provider})`);
621
637
  lines.push(" */");
622
638
  lines.push("");
623
- lines.push("import Anthropic from '@anthropic-ai/sdk';");
639
+ if (provider === "anthropic") {
640
+ lines.push("import Anthropic from '@anthropic-ai/sdk';");
641
+ }
624
642
  lines.push("");
625
643
  const toolNames = allTools.map((t) => `'${t.name}'`);
626
644
  lines.push(`export type ToolName = ${toolNames.join(" | ")};`);
627
645
  lines.push("");
628
- lines.push("export const tools: Anthropic.Tool[] = [");
629
- for (const tool of allTools) {
630
- lines.push(" {");
631
- lines.push(` name: ${JSON.stringify(tool.name)},`);
632
- lines.push(` description: ${JSON.stringify(tool.description)},`);
633
- lines.push(" input_schema: {");
634
- lines.push(" type: 'object' as const,");
635
- lines.push(" properties: {");
636
- for (const param of tool.parameters) {
637
- lines.push(` ${param.name}: {`);
638
- lines.push(` type: ${JSON.stringify(this.toJsonSchemaType(param.type))},`);
639
- lines.push(` description: ${JSON.stringify(param.description)},`);
640
- lines.push(" },");
646
+ if (provider === "anthropic") {
647
+ lines.push("export const tools: Anthropic.Tool[] = [");
648
+ for (const tool of allTools) {
649
+ lines.push(" {");
650
+ lines.push(` name: ${JSON.stringify(tool.name)},`);
651
+ lines.push(` description: ${JSON.stringify(tool.description)},`);
652
+ lines.push(" input_schema: {");
653
+ lines.push(" type: 'object' as const,");
654
+ lines.push(" properties: {");
655
+ for (const param of tool.parameters) {
656
+ lines.push(` ${param.name}: {`);
657
+ lines.push(` type: ${JSON.stringify(this.toJsonSchemaType(param.type))},`);
658
+ lines.push(` description: ${JSON.stringify(param.description)},`);
659
+ lines.push(" },");
660
+ }
661
+ lines.push(" },");
662
+ const required = tool.parameters.filter((p) => p.required).map((p) => `'${p.name}'`);
663
+ if (required.length > 0) {
664
+ lines.push(` required: [${required.join(", ")}],`);
665
+ }
666
+ lines.push(" },");
667
+ lines.push(" },");
641
668
  }
642
- lines.push(" },");
643
- const required = tool.parameters.filter((p) => p.required).map((p) => `'${p.name}'`);
644
- if (required.length > 0) {
645
- lines.push(` required: [${required.join(", ")}],`);
669
+ lines.push("];");
670
+ } else if (provider === "custom") {
671
+ lines.push("export const tools = [");
672
+ for (const tool of allTools) {
673
+ lines.push(" {");
674
+ lines.push(` name: ${JSON.stringify(tool.name)},`);
675
+ lines.push(` description: ${JSON.stringify(tool.description)},`);
676
+ lines.push(" parameters: {");
677
+ lines.push(" type: 'object' as const,");
678
+ lines.push(" properties: {");
679
+ for (const param of tool.parameters) {
680
+ lines.push(` ${param.name}: {`);
681
+ lines.push(` type: ${JSON.stringify(this.toJsonSchemaType(param.type))},`);
682
+ lines.push(` description: ${JSON.stringify(param.description)},`);
683
+ lines.push(" },");
684
+ }
685
+ lines.push(" },");
686
+ const required = tool.parameters.filter((p) => p.required).map((p) => `'${p.name}'`);
687
+ if (required.length > 0) {
688
+ lines.push(` required: [${required.join(", ")}] as const,`);
689
+ }
690
+ lines.push(" },");
691
+ lines.push(" },");
646
692
  }
647
- lines.push(" },");
648
- lines.push(" },");
693
+ lines.push("] as const;");
694
+ } else {
695
+ lines.push("export const tools = [");
696
+ for (const tool of allTools) {
697
+ lines.push(" {");
698
+ lines.push(" type: 'function' as const,");
699
+ lines.push(` name: ${JSON.stringify(tool.name)},`);
700
+ lines.push(` description: ${JSON.stringify(tool.description)},`);
701
+ lines.push(" parameters: {");
702
+ lines.push(" type: 'object' as const,");
703
+ lines.push(" properties: {");
704
+ for (const param of tool.parameters) {
705
+ lines.push(` ${param.name}: {`);
706
+ lines.push(` type: ${JSON.stringify(this.toJsonSchemaType(param.type))},`);
707
+ lines.push(` description: ${JSON.stringify(param.description)},`);
708
+ lines.push(" },");
709
+ }
710
+ lines.push(" },");
711
+ const required = tool.parameters.filter((p) => p.required).map((p) => `'${p.name}'`);
712
+ if (required.length > 0) {
713
+ lines.push(` required: [${required.join(", ")}] as const,`);
714
+ }
715
+ lines.push(" },");
716
+ lines.push(" },");
717
+ }
718
+ lines.push("] as const;");
649
719
  }
650
- lines.push("];");
651
720
  lines.push("");
652
721
  lines.push("export async function executeToolCall(");
653
722
  lines.push(" name: ToolName,");
@@ -656,7 +725,7 @@ var AgentInferenceCompiler = class extends chunkBF2235SI_cjs.CompilerBase {
656
725
  lines.push(" switch (name) {");
657
726
  for (const tool of allTools) {
658
727
  lines.push(` case ${JSON.stringify(tool.name)}:`);
659
- lines.push(` // TODO: Implement ${tool.name}`);
728
+ lines.push(` // Stub: ${tool.name} (generated dispatcher)`);
660
729
  lines.push(` return \`[${tool.name}] called with: \${JSON.stringify(input)}\`;`);
661
730
  }
662
731
  lines.push(" default:");
@@ -665,20 +734,24 @@ var AgentInferenceCompiler = class extends chunkBF2235SI_cjs.CompilerBase {
665
734
  lines.push("}");
666
735
  return lines.join("\n");
667
736
  }
668
- emitToolDefinitionsPython(allTools) {
737
+ emitToolDefinitionsPython(allTools, provider) {
669
738
  const lines = [];
670
739
  lines.push('"""');
671
740
  lines.push("Tool definitions for agent inference");
672
- lines.push("Generated by HoloScript AgentInferenceCompiler");
741
+ lines.push(`Generated by HoloScript AgentInferenceCompiler (target: ${provider})`);
673
742
  lines.push('"""');
674
743
  lines.push("");
675
744
  lines.push("");
676
745
  lines.push("TOOLS = [");
677
746
  for (const tool of allTools) {
678
747
  lines.push(" {");
748
+ if (provider !== "anthropic" && provider !== "custom") {
749
+ lines.push(' "type": "function",');
750
+ }
679
751
  lines.push(` "name": ${JSON.stringify(tool.name)},`);
680
752
  lines.push(` "description": ${JSON.stringify(tool.description)},`);
681
- lines.push(' "input_schema": {');
753
+ const paramKey = provider === "anthropic" ? "input_schema" : "parameters";
754
+ lines.push(` ${JSON.stringify(paramKey)}: {`);
682
755
  lines.push(' "type": "object",');
683
756
  lines.push(' "properties": {');
684
757
  for (const param of tool.parameters) {
@@ -703,7 +776,7 @@ var AgentInferenceCompiler = class extends chunkBF2235SI_cjs.CompilerBase {
703
776
  lines.push("def execute_tool_call(name: str, tool_input: dict) -> str:");
704
777
  for (const tool of allTools) {
705
778
  lines.push(` if name == ${JSON.stringify(tool.name)}:`);
706
- lines.push(` # TODO: Implement ${tool.name}`);
779
+ lines.push(` # Stub: ${tool.name} (generated dispatcher)`);
707
780
  lines.push(` return f"[${tool.name}] called with: {tool_input}"`);
708
781
  }
709
782
  lines.push(` return f"Unknown tool: {name}"`);
@@ -738,7 +811,10 @@ var AgentInferenceCompiler = class extends chunkBF2235SI_cjs.CompilerBase {
738
811
  build: "tsc"
739
812
  },
740
813
  dependencies: {
741
- "@anthropic-ai/sdk": "^0.39.0"
814
+ // Floor bumped to support adaptive thinking, output_config.effort,
815
+ // and Opus 4.7 sampling-param removal. Keep in sync with
816
+ // packages/llm-provider/package.json to avoid split versions.
817
+ "@anthropic-ai/sdk": "^0.88.0"
742
818
  },
743
819
  devDependencies: {
744
820
  tsx: "^4.0.0",
@@ -904,5 +980,5 @@ exports.AgentInferenceCompiler = AgentInferenceCompiler;
904
980
  exports.AgentInferenceExportTarget_default = AgentInferenceExportTarget_default;
905
981
  exports.createAgentInferenceCompiler = createAgentInferenceCompiler;
906
982
  exports.createPythonAgentInferenceCompiler = createPythonAgentInferenceCompiler;
907
- //# sourceMappingURL=chunk-72EQECGT.cjs.map
908
- //# sourceMappingURL=chunk-72EQECGT.cjs.map
983
+ //# sourceMappingURL=chunk-6KMK2UXT.cjs.map
984
+ //# sourceMappingURL=chunk-6KMK2UXT.cjs.map
@@ -1,13 +1,19 @@
1
- import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileMaterialBlock, materialToWebGPU } from './chunk-YQK5JNFK.js';
2
- import { init_CompilerBase, CompilerBase } from './chunk-6XSERL6L.js';
3
- import { __export, __esm } from './chunk-2CWOLHTE.js';
4
- import { ANSCapabilityPath } from '@holoscript/platform';
1
+ import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileMaterialBlock, materialToWebGPU } from './chunk-W55Z7QIX.js';
2
+ import { init_CompilerBase, CompilerBase } from './chunk-QTPMJRGS.js';
3
+ import { __export, __esm } from './chunk-OL46QLBJ.js';
4
+ import { ANSCapabilityPath } from '@holoscript/core-types/ans';
5
5
 
6
6
  // src/compiler/WebGPUCompiler.ts
7
7
  var WebGPUCompiler_exports = {};
8
8
  __export(WebGPUCompiler_exports, {
9
9
  WebGPUCompiler: () => WebGPUCompiler
10
10
  });
11
+ function isGpuParticleTraitName(name) {
12
+ return typeof name === "string" && (name === "gpu_particle" || name.startsWith("vfx_particle_"));
13
+ }
14
+ function findGpuParticleTrait(traits) {
15
+ return traits?.find((t) => isGpuParticleTraitName(t.name));
16
+ }
11
17
  var WebGPUCompiler;
12
18
  var init_WebGPUCompiler = __esm({
13
19
  "src/compiler/WebGPUCompiler.ts"() {
@@ -24,7 +30,8 @@ var init_WebGPUCompiler = __esm({
24
30
  entryPoint: options.entryPoint || "main",
25
31
  enableCompute: options.enableCompute ?? true,
26
32
  msaa: options.msaa || 4,
27
- indent: options.indent || " "
33
+ indent: options.indent || " ",
34
+ provenanceHash: options.provenanceHash ?? ""
28
35
  };
29
36
  }
30
37
  getRequiredCapability() {
@@ -40,6 +47,9 @@ var init_WebGPUCompiler = __esm({
40
47
  `// Source: composition "${this.escapeStringValue(composition.name, "TypeScript")}"`
41
48
  );
42
49
  this.emit("// Do not edit manually \u2014 regenerate from .holo source");
50
+ if (this.options.provenanceHash) {
51
+ this.emit(`// Provenance Hash: ${this.options.provenanceHash}`);
52
+ }
43
53
  this.emit("");
44
54
  this.emitDeviceInit();
45
55
  if (composition.environment) this.emitEnvironment(composition.environment);
@@ -153,7 +163,7 @@ var init_WebGPUCompiler = __esm({
153
163
  this.emit(`// Object: ${this.escapeStringValue(obj.name, "TypeScript")}`);
154
164
  const isGaussianSplat = traits.some((t) => t.name === "gaussian_splat");
155
165
  const isPointCloud = traits.some((t) => t.name === "point_cloud");
156
- const isGpuParticle = traits.some((t) => t.name === "gpu_particle");
166
+ const isGpuParticle = traits.some((t) => isGpuParticleTraitName(t.name));
157
167
  if (isModel && modelSrc) {
158
168
  this.emit(`const ${v}Model = await assetLoader.load("${modelSrc}");`);
159
169
  const pos = this.findObjProp(obj, "position");
@@ -299,9 +309,9 @@ var init_WebGPUCompiler = __esm({
299
309
  this.emit("});");
300
310
  }
301
311
  emitGpuParticleObject(v, obj) {
302
- const trait = obj.traits?.find((t) => t.name === "gpu_particle");
312
+ const trait = findGpuParticleTrait(obj.traits);
303
313
  const count = trait?.config?.count || 1e4;
304
- this.emit(`// GPU Particles (${count})`);
314
+ this.emit(`// GPU Particles (${count}) from @${trait?.name ?? "gpu_particle"}`);
305
315
  this.emit(`const ${v}ParticleCount = ${count};`);
306
316
  this.emit(`const ${v}ParticleBufA = createStorageBuffer(device, ${v}ParticleCount * 32);`);
307
317
  this.emit(`const ${v}ParticleBufB = createStorageBuffer(device, ${v}ParticleCount * 32);`);
@@ -394,7 +404,7 @@ var init_WebGPUCompiler = __esm({
394
404
  emitComputeShaders(composition) {
395
405
  const gpuObjs = (composition.objects || []).filter(
396
406
  (o) => o.traits?.some(
397
- (t) => t.name === "gpu_particle" || t.name === "gpu_physics" || t.name === "compute"
407
+ (t) => isGpuParticleTraitName(t.name) || t.name === "gpu_physics" || t.name === "compute"
398
408
  )
399
409
  );
400
410
  if (gpuObjs.length === 0) return;
@@ -402,8 +412,8 @@ var init_WebGPUCompiler = __esm({
402
412
  for (const obj of gpuObjs) {
403
413
  const v = this.sanitizeName(obj.name);
404
414
  const traits = obj.traits || [];
405
- if (traits.some((t) => t.name === "gpu_particle")) {
406
- const count = traits.find((t) => t.name === "gpu_particle")?.config?.count || 1e4;
415
+ if (traits.some((t) => isGpuParticleTraitName(t.name))) {
416
+ const count = findGpuParticleTrait(traits)?.config?.count || 1e4;
407
417
  this.emit(
408
418
  `const ${v}ParticleCompute = device.createComputePipeline({ layout: "auto", compute: { module: device.createShaderModule({ code: WGSL_PARTICLE_COMPUTE }), entryPoint: "cs_particle_update" } });`
409
419
  );
@@ -448,7 +458,7 @@ var init_WebGPUCompiler = __esm({
448
458
  this.emit("struct FIn { @location(0) wNorm: vec3<f32>, @location(1) wPos: vec3<f32> };");
449
459
  this.emit("@fragment fn fs_main(i: FIn) -> @location(0) vec4<f32> {");
450
460
  this.emit(" let N = normalize(i.wNorm); let L = normalize(vec3<f32>(1.0, 2.0, 1.5));");
451
- this.emit(" let d = max(dot(N, L), 0.0) * (1.0 - mat.rm.x * 0.5);");
461
+ this.emit(" let d = max(dot(N, L), 0.0) * (1.0 - mat.rm[0] * 0.5);");
452
462
  this.emit(" return vec4<f32>(mat.color.rgb * (0.15 + d), mat.color.a); }`;");
453
463
  this.emit("");
454
464
  this.emit("const WGSL_SPLAT = /* wgsl */`");
@@ -464,7 +474,7 @@ var init_WebGPUCompiler = __esm({
464
474
  );
465
475
  this.emit(" var q = array<vec2<f32>,4>(vec2(-1,-1),vec2(1,-1),vec2(-1,1),vec2(1,1));");
466
476
  this.emit(
467
- " var o: SO; let s = splats[ii]; o.p = vec4<f32>(s.center.xy + q[vi]*0.01, s.center.z, 1.0);"
477
+ " var o: SO; let s = splats[ii]; o.p = vec4<f32>(s.center.xy + q[vi]*0.01, s.center[2], 1.0);"
468
478
  );
469
479
  this.emit(" o.c = vec4<f32>(s.sh, s.opacity); o.uv = q[vi]; return o; }");
470
480
  this.emit("@fragment fn fs_splat(i: SO) -> @location(0) vec4<f32> {");
@@ -496,8 +506,8 @@ var init_WebGPUCompiler = __esm({
496
506
  this.emit(
497
507
  "@compute @workgroup_size(64) fn cs_particle_update(@builtin(global_invocation_id) gid: vec3<u32>) {"
498
508
  );
499
- this.emit(" let i = gid.x; if (i >= arrayLength(&pin)) { return; } var p = pin[i];");
500
- this.emit(" p.vel.y -= 9.81 * dt; p.pos += p.vel * dt; p.life -= dt;");
509
+ this.emit(" let i = gid[0]; if (i >= arrayLength(&pin)) { return; } var p = pin[i];");
510
+ this.emit(" p.vel[1] -= 9.81 * dt; p.pos += p.vel * dt; p.life -= dt;");
501
511
  this.emit(
502
512
  " if (p.life <= 0.0) { p.pos = vec3(0.0); p.vel = vec3(0.0, 5.0, 0.0); p.life = 2.0; }"
503
513
  );
@@ -510,10 +520,10 @@ var init_WebGPUCompiler = __esm({
510
520
  this.emit(
511
521
  "@compute @workgroup_size(64) fn cs_physics_step(@builtin(global_invocation_id) gid: vec3<u32>) {"
512
522
  );
513
- this.emit(" let i = gid.x; if (i >= arrayLength(&bodies)) { return; } var b = bodies[i];");
514
- this.emit(" b.vel.y -= 9.81 * dt; b.pos += b.vel * dt;");
523
+ this.emit(" let i = gid[0]; if (i >= arrayLength(&bodies)) { return; } var b = bodies[i];");
524
+ this.emit(" b.vel[1] -= 9.81 * dt; b.pos += b.vel * dt;");
515
525
  this.emit(
516
- " if (b.pos.y < 0.0) { b.pos.y = 0.0; b.vel.y = -b.vel.y * 0.6; } bodies[i] = b; }`;"
526
+ " if (b.pos[1] < 0.0) { b.pos[1] = 0.0; b.vel[1] = -b.vel[1] * 0.6; } bodies[i] = b; }`;"
517
527
  );
518
528
  this.emit("");
519
529
  }
@@ -529,14 +539,14 @@ var init_WebGPUCompiler = __esm({
529
539
  this.emit("const enc = device.createCommandEncoder();");
530
540
  const gpuObjs = (composition.objects || []).filter(
531
541
  (o) => o.traits?.some(
532
- (t) => t.name === "gpu_particle" || t.name === "gpu_physics" || t.name === "compute"
542
+ (t) => isGpuParticleTraitName(t.name) || t.name === "gpu_physics" || t.name === "compute"
533
543
  )
534
544
  );
535
545
  if (gpuObjs.length > 0 && this.options.enableCompute) {
536
546
  this.emit("const cp = enc.beginComputePass();");
537
547
  for (const obj of gpuObjs) {
538
548
  const v = this.sanitizeName(obj.name);
539
- if (obj.traits?.some((t) => t.name === "gpu_particle")) {
549
+ if (obj.traits?.some((t) => isGpuParticleTraitName(t.name))) {
540
550
  this.emit(
541
551
  `cp.setPipeline(${v}ParticleCompute); cp.dispatchWorkgroups(${v}ComputeDispatches);`
542
552
  );
@@ -582,7 +592,7 @@ var init_WebGPUCompiler = __esm({
582
592
  this.emit(`rp.setPipeline(${v}SplatPipeline); rp.draw(4, ${v}SplatCount.value);`);
583
593
  } else if (traits.some((t) => t.name === "point_cloud")) {
584
594
  this.emit(`rp.setPipeline(${v}PointPipeline); rp.draw(${v}PointCount.value);`);
585
- } else if (traits.some((t) => t.name === "gpu_particle")) {
595
+ } else if (traits.some((t) => isGpuParticleTraitName(t.name))) {
586
596
  this.emit(
587
597
  `rp.setPipeline(${v}ParticlePipeline); rp.setVertexBuffer(0, ${v}ParticleBufA); rp.draw(${v}ParticleCount);`
588
598
  );
@@ -655,5 +665,5 @@ var init_WebGPUCompiler = __esm({
655
665
  });
656
666
 
657
667
  export { WebGPUCompiler, WebGPUCompiler_exports, init_WebGPUCompiler };
658
- //# sourceMappingURL=chunk-G4VZTCIB.js.map
659
- //# sourceMappingURL=chunk-G4VZTCIB.js.map
668
+ //# sourceMappingURL=chunk-6L4VE27M.js.map
669
+ //# sourceMappingURL=chunk-6L4VE27M.js.map