@holoscript/core 6.0.4 → 6.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) 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-4R6SBXDB.js +45 -0
  29. package/dist/chunk-4SY77NA4.cjs +413 -0
  30. package/dist/{chunk-YCXFCXDS.js → chunk-4UUKPCY4.js} +668 -110
  31. package/dist/{chunk-LGGRPKTV.cjs → chunk-52ULD552.cjs} +114 -35
  32. package/dist/{chunk-L4G4RLXX.js → chunk-5CKA5SXU.js} +438 -22
  33. package/dist/chunk-5FSKKMR7.cjs +2092 -0
  34. package/dist/{chunk-FF3Q7ADR.js → chunk-5JEU52DW.js} +5 -3
  35. package/dist/chunk-5N54COB6.cjs +327 -0
  36. package/dist/chunk-5S7RKFGR.cjs +446 -0
  37. package/dist/{chunk-KED34ILP.js → chunk-6ASWLXXN.js} +21 -9
  38. package/dist/chunk-6CTRH7HT.cjs +1985 -0
  39. package/dist/{chunk-CAUCGUEA.cjs → chunk-6EX3I5P4.cjs} +6 -6
  40. package/dist/chunk-6FGQNDR4.js +5731 -0
  41. package/dist/{chunk-72EQECGT.cjs → chunk-6KMK2UXT.cjs} +122 -46
  42. package/dist/{chunk-G4VZTCIB.js → chunk-6L4VE27M.js} +33 -23
  43. package/dist/{chunk-ATSKSYVE.cjs → chunk-6S6TKNEA.cjs} +6478 -1738
  44. package/dist/chunk-77V4GTCA.js +596 -0
  45. package/dist/{chunk-ZP4D3CSX.cjs → chunk-7AD52FRS.cjs} +16 -16
  46. package/dist/chunk-7OPW2KO7.cjs +639 -0
  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-GCMWDSBZ.cjs +729 -0
  75. package/dist/chunk-GJNCFRJU.cjs +125 -0
  76. package/dist/{chunk-Q4QX3AET.cjs → chunk-GMP623FG.cjs} +16 -13
  77. package/dist/{chunk-XD6IYDUX.js → chunk-GN3KDX4W.js} +119 -43
  78. package/dist/{chunk-QLEAOI3Q.cjs → chunk-GQYKQSTC.cjs} +10 -10
  79. package/dist/chunk-GTU2Z2WW.cjs +262 -0
  80. package/dist/chunk-GZG4KA4E.js +529 -0
  81. package/dist/{chunk-BND3ST2K.cjs → chunk-H3MGK7TX.cjs} +42 -32
  82. package/dist/{chunk-XRKWN5PL.cjs → chunk-H5DZIHJP.cjs} +14 -18
  83. package/dist/{chunk-Z34RLXRA.cjs → chunk-HANL7K2Q.cjs} +65 -50
  84. package/dist/{chunk-3SAK5KFL.cjs → chunk-HCCQLAA4.cjs} +2 -11
  85. package/dist/{chunk-LXJ4667L.cjs → chunk-HGVXZDSK.cjs} +108 -20
  86. package/dist/{chunk-3FJCK5XA.js → chunk-HRODTEEO.js} +30 -10
  87. package/dist/{chunk-HQUEA5R6.cjs → chunk-HZCQO4JM.cjs} +6 -6
  88. package/dist/{chunk-S565K7NK.js → chunk-I2O7TW6B.js} +12 -8
  89. package/dist/chunk-IHESJZSW.js +4490 -0
  90. package/dist/{chunk-FSF7EQVA.cjs → chunk-IRWWS72C.cjs} +63 -22
  91. package/dist/{chunk-5O6TQC6M.cjs → chunk-IVIA7K75.cjs} +689 -127
  92. package/dist/chunk-IVY74O6C.js +247 -0
  93. package/dist/chunk-J32ZJZJH.js +554 -0
  94. package/dist/chunk-JD7CIZ33.js +1949 -0
  95. package/dist/{chunk-T7LEXZUZ.cjs → chunk-JIYN45TV.cjs} +14 -15
  96. package/dist/{chunk-FFKU7BTK.cjs → chunk-KHPCJRI3.cjs} +24 -21
  97. package/dist/chunk-KKFZ3B6J.cjs +557 -0
  98. package/dist/chunk-KPJL34Y7.cjs +186 -0
  99. package/dist/{chunk-HE7ULERA.cjs → chunk-KQTPCYTG.cjs} +128 -44
  100. package/dist/{chunk-OFKWH2IP.js → chunk-KX76JUQY.js} +3 -3
  101. package/dist/chunk-L4LFINPO.js +623 -0
  102. package/dist/{chunk-33LSUQDD.cjs → chunk-L63H3SQ4.cjs} +43 -31
  103. package/dist/{chunk-K6EKD26I.js → chunk-LAOCQJ2M.js} +64 -8
  104. package/dist/chunk-LM2VU56C.cjs +37 -0
  105. package/dist/chunk-M56JSP4A.js +400 -0
  106. package/dist/chunk-MBOOR7X4.js +18 -0
  107. package/dist/{chunk-XWPNTWDN.cjs → chunk-MJVIRCUV.cjs} +31 -27
  108. package/dist/{chunk-SDAMZIRE.js → chunk-MSMIFMBL.js} +135 -18
  109. package/dist/{chunk-56IF4NTA.js → chunk-MXFUTKCO.js} +18 -18
  110. package/dist/{chunk-6UEHYZ7V.cjs → chunk-MXJ5SS53.cjs} +447 -31
  111. package/dist/chunk-MXWNGCRS.js +2176 -0
  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-BF2235SI.cjs → chunk-RMHC2VG7.cjs} +2876 -2592
  132. package/dist/chunk-RUXGBKPS.cjs +4517 -0
  133. package/dist/{chunk-UERJ3YJV.js → chunk-S5IFXW6E.js} +113 -9
  134. package/dist/{chunk-27LWW5FU.cjs → chunk-S6YWHCKV.cjs} +5 -5
  135. package/dist/{chunk-WB4Z63GG.js → chunk-SIEXCILW.js} +3 -3
  136. package/dist/{chunk-CLYEIWA5.cjs → chunk-SLU6UPJI.cjs} +5 -3
  137. package/dist/{chunk-LZ266PCM.cjs → chunk-T5J7ZKP3.cjs} +446 -60
  138. package/dist/chunk-TDCNJHWO.js +341 -0
  139. package/dist/{chunk-IHOUYQIA.js → chunk-TG7O4WBC.js} +5 -5
  140. package/dist/chunk-THCK6ECW.js +2085 -0
  141. package/dist/chunk-TJHVSBP2.js +439 -0
  142. package/dist/chunk-TK74TR4H.js +5541 -0
  143. package/dist/{chunk-CDPGV4DN.js → chunk-U4NBQJBY.js} +14 -15
  144. package/dist/{chunk-NOZZ46QU.js → chunk-UD3DSHZM.js} +10 -14
  145. package/dist/chunk-UDMYRFDZ.js +3038 -0
  146. package/dist/{chunk-WDW67DZB.cjs → chunk-UOIGFQXC.cjs} +90 -68
  147. package/dist/{chunk-BU7VWW2K.js → chunk-URG2SJLK.js} +14 -15
  148. package/dist/{chunk-EQV4R3EV.cjs → chunk-V73NPPTM.cjs} +152 -35
  149. package/dist/chunk-VECQYRXL.js +474 -0
  150. package/dist/chunk-VEXPG4WN.js +1989 -0
  151. package/dist/{chunk-LDP5OK6G.js → chunk-VMLKSV26.js} +5 -5
  152. package/dist/{chunk-5BGSECRJ.cjs → chunk-VSK7W3O5.cjs} +47 -27
  153. package/dist/chunk-VVKVQZI6.js +55 -0
  154. package/dist/{chunk-YQK5JNFK.js → chunk-W55Z7QIX.js} +103 -15
  155. package/dist/{chunk-KSGXLT74.cjs → chunk-W6P2GBHH.cjs} +3 -3
  156. package/dist/{chunk-IBDG74G2.cjs → chunk-W6RW64BB.cjs} +7 -7
  157. package/dist/chunk-WDT3JTGM.cjs +483 -0
  158. package/dist/{chunk-HPS76H7Q.js → chunk-WKX5AMOY.js} +3 -3
  159. package/dist/chunk-WNNE3PO3.js +34 -0
  160. package/dist/{chunk-XG23EUQX.cjs → chunk-WRLUBRKS.cjs} +538 -312
  161. package/dist/{chunk-IFNQFCTM.js → chunk-WRNEH5MO.js} +79 -8
  162. package/dist/{chunk-54FHG2MX.js → chunk-WRWEX5ZF.js} +7 -4
  163. package/dist/{chunk-KCQ5NDYC.cjs → chunk-X3GJPRVK.cjs} +154 -80
  164. package/dist/{chunk-7AGYRWKW.cjs → chunk-XFXGA5IW.cjs} +126 -22
  165. package/dist/{chunk-TQSZUOW5.cjs → chunk-XHIV6326.cjs} +4 -4
  166. package/dist/chunk-XJAN7CZG.cjs +432 -0
  167. package/dist/chunk-XL6INWKT.js +121 -0
  168. package/dist/{chunk-E3UALNFA.js → chunk-XMWZG36H.js} +4 -4
  169. package/dist/{chunk-BKIGPPVM.js → chunk-XSFNHP2E.js} +6 -3
  170. package/dist/{chunk-H5Z7NASB.js → chunk-XT6JY5W5.js} +25 -3
  171. package/dist/chunk-XXZJEFKW.cjs +490 -0
  172. package/dist/chunk-Y3MWXQSB.cjs +5737 -0
  173. package/dist/chunk-YF2I3MV3.js +46 -0
  174. package/dist/{chunk-V3NN3HPP.js → chunk-YIMN575O.js} +437 -52
  175. package/dist/chunk-YIVFJNYV.js +176 -0
  176. package/dist/{chunk-MD6KDHVE.cjs → chunk-YKGPCZEE.cjs} +10 -10
  177. package/dist/chunk-YQELFNJV.js +39 -0
  178. package/dist/chunk-YSCKYJOB.cjs +2196 -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.d.ts +111 -0
  316. package/dist/traits/engines/index.js +380 -0
  317. package/dist/traits/index.cjs +17630 -7881
  318. package/dist/traits/index.d.ts +197 -0
  319. package/dist/traits/index.js +16573 -7193
  320. package/dist/traits/simulation-solver-factory.cjs +13 -0
  321. package/dist/traits/simulation-solver-factory.d.ts +23 -0
  322. package/dist/traits/simulation-solver-factory.js +4 -0
  323. package/dist/traits/webcam-gaze.cjs +35 -0
  324. package/dist/traits/webcam-gaze.d.ts +17 -0
  325. package/dist/traits/webcam-gaze.js +4 -0
  326. package/dist/type-checker.cjs +6 -5
  327. package/dist/type-checker.js +4 -3
  328. package/dist/world/index.cjs +947 -0
  329. package/dist/world/index.d.ts +147 -0
  330. package/dist/world/index.js +939 -0
  331. package/dist/world-model/index.cjs +1446 -0
  332. package/dist/world-model/index.d.ts +119 -0
  333. package/dist/world-model/index.js +1414 -0
  334. package/dist/wot/index.cjs +29 -0
  335. package/dist/wot/index.js +4 -0
  336. package/package.json +153 -61
  337. package/dist/GLTFPipeline-DEN36VNK.js +0 -12
  338. package/dist/GLTFPipeline-YPCAK236.cjs +0 -33
  339. package/dist/chunk-4XSNJCLC.cjs +0 -1859
  340. package/dist/chunk-A7PIMZGU.js +0 -263
  341. package/dist/chunk-BWFJEM5A.js +0 -5419
  342. package/dist/chunk-CBJSLA2E.cjs +0 -5423
  343. package/dist/chunk-K3JDKWGI.cjs +0 -270
  344. package/dist/chunk-LSW7P7ML.js +0 -3675
  345. package/dist/chunk-MEASWI2Y.js +0 -126
  346. package/dist/chunk-NCUKG4SK.cjs +0 -3075
  347. package/dist/chunk-Q5JT3YML.cjs +0 -129
  348. package/dist/chunk-QGKNANZ3.js +0 -3071
  349. package/dist/chunk-S2N5TNMA.js +0 -1855
  350. package/dist/chunk-TSH3MSQU.cjs +0 -129
  351. package/dist/chunk-WGMEAYBG.js +0 -126
  352. package/dist/chunk-X6SEAXAX.cjs +0 -3681
@@ -0,0 +1,18 @@
1
+ import { HOLOMAP_SIMULATION_CONTRACT_KIND } from './chunk-YF2I3MV3.js';
2
+
3
+ // src/reconstruction/simulationContractBinding.ts
4
+ function assertHoloMapManifestContract(m) {
5
+ if (m.version !== "1.0.0") {
6
+ throw new Error(`HoloMap manifest version ${m.version} is not v1.0 contract`);
7
+ }
8
+ if (m.simulationContract.kind !== HOLOMAP_SIMULATION_CONTRACT_KIND) {
9
+ throw new Error(`Unexpected SimulationContract kind: ${m.simulationContract.kind}`);
10
+ }
11
+ if (!m.simulationContract.replayFingerprint || m.simulationContract.replayFingerprint.length < 8) {
12
+ throw new Error("HoloMap manifest missing replayFingerprint");
13
+ }
14
+ }
15
+
16
+ export { assertHoloMapManifestContract };
17
+ //# sourceMappingURL=chunk-MBOOR7X4.js.map
18
+ //# sourceMappingURL=chunk-MBOOR7X4.js.map
@@ -1,22 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var chunkX4ZF6CNE_cjs = require('./chunk-X4ZF6CNE.cjs');
4
- var chunkLXJ4667L_cjs = require('./chunk-LXJ4667L.cjs');
5
- var chunkBF2235SI_cjs = require('./chunk-BF2235SI.cjs');
6
- var chunk3SAK5KFL_cjs = require('./chunk-3SAK5KFL.cjs');
7
- var platform = require('@holoscript/platform');
3
+ var chunkOIQYIIO3_cjs = require('./chunk-OIQYIIO3.cjs');
4
+ var chunkHGVXZDSK_cjs = require('./chunk-HGVXZDSK.cjs');
5
+ var chunkRMHC2VG7_cjs = require('./chunk-RMHC2VG7.cjs');
6
+ var chunkHCCQLAA4_cjs = require('./chunk-HCCQLAA4.cjs');
7
+ var ans = require('@holoscript/core-types/ans');
8
8
 
9
9
  // src/compiler/PlayCanvasCompiler.ts
10
10
  var PlayCanvasCompiler_exports = {};
11
- chunk3SAK5KFL_cjs.__export(PlayCanvasCompiler_exports, {
11
+ chunkHCCQLAA4_cjs.__export(PlayCanvasCompiler_exports, {
12
12
  PlayCanvasCompiler: () => exports.PlayCanvasCompiler
13
13
  });
14
14
  var SHAPE_TO_PRIMITIVE; exports.PlayCanvasCompiler = void 0;
15
- var init_PlayCanvasCompiler = chunk3SAK5KFL_cjs.__esm({
15
+ var init_PlayCanvasCompiler = chunkHCCQLAA4_cjs.__esm({
16
16
  "src/compiler/PlayCanvasCompiler.ts"() {
17
- chunkX4ZF6CNE_cjs.init_TraitCompositor();
18
- chunkBF2235SI_cjs.init_CompilerBase();
19
- chunkLXJ4667L_cjs.init_DomainBlockCompilerMixin();
17
+ chunkOIQYIIO3_cjs.init_TraitCompositor();
18
+ chunkRMHC2VG7_cjs.init_CompilerBase();
19
+ chunkHGVXZDSK_cjs.init_DomainBlockCompilerMixin();
20
20
  SHAPE_TO_PRIMITIVE = {
21
21
  sphere: "sphere",
22
22
  orb: "sphere",
@@ -32,7 +32,7 @@ var init_PlayCanvasCompiler = chunk3SAK5KFL_cjs.__esm({
32
32
  capsule: "capsule",
33
33
  disc: "plane"
34
34
  };
35
- exports.PlayCanvasCompiler = class extends chunkBF2235SI_cjs.CompilerBase {
35
+ exports.PlayCanvasCompiler = class extends chunkRMHC2VG7_cjs.CompilerBase {
36
36
  constructor(options = {}) {
37
37
  super();
38
38
  this.compilerName = "PlayCanvasCompiler";
@@ -42,11 +42,12 @@ var init_PlayCanvasCompiler = chunk3SAK5KFL_cjs.__esm({
42
42
  className: options.className || "GeneratedScene",
43
43
  enablePhysics: options.enablePhysics ?? true,
44
44
  enableXR: options.enableXR ?? false,
45
- indent: options.indent || " "
45
+ indent: options.indent || " ",
46
+ provenanceHash: options.provenanceHash ?? ""
46
47
  };
47
48
  }
48
49
  getRequiredCapability() {
49
- return platform.ANSCapabilityPath.PLAYCANVAS;
50
+ return ans.ANSCapabilityPath.PLAYCANVAS;
50
51
  }
51
52
  compile(composition, agentToken, outputPath) {
52
53
  this.validateCompilerAccess(agentToken, outputPath);
@@ -56,6 +57,9 @@ var init_PlayCanvasCompiler = chunk3SAK5KFL_cjs.__esm({
56
57
  this.emit(
57
58
  `// Source: composition "${this.escapeStringValue(composition.name, "TypeScript")}"`
58
59
  );
60
+ if (this.options.provenanceHash) {
61
+ this.emit(`// Provenance Hash: ${this.options.provenanceHash}`);
62
+ }
59
63
  this.emit("");
60
64
  this.emitImports(composition);
61
65
  this.emit("");
@@ -142,33 +146,33 @@ var init_PlayCanvasCompiler = chunk3SAK5KFL_cjs.__esm({
142
146
  this.emit("");
143
147
  this.emit("// === v4.2 Domain Blocks ===");
144
148
  let blockIdx = 0;
145
- const compiled = chunkLXJ4667L_cjs.compileDomainBlocks(
149
+ const compiled = chunkHGVXZDSK_cjs.compileDomainBlocks(
146
150
  // @ts-expect-error During migration
147
151
  domainBlocks,
148
152
  {
149
153
  material: (block) => {
150
- const mat = chunkLXJ4667L_cjs.compileMaterialBlock(block);
151
- return chunkLXJ4667L_cjs.materialToPlayCanvas(mat, `db${blockIdx++}`);
154
+ const mat = chunkHGVXZDSK_cjs.compileMaterialBlock(block);
155
+ return chunkHGVXZDSK_cjs.materialToPlayCanvas(mat, `db${blockIdx++}`);
152
156
  },
153
157
  physics: (block) => {
154
- const phys = chunkLXJ4667L_cjs.compilePhysicsBlock(block);
155
- return chunkLXJ4667L_cjs.physicsToPlayCanvas(phys, `db${blockIdx++}`);
158
+ const phys = chunkHGVXZDSK_cjs.compilePhysicsBlock(block);
159
+ return chunkHGVXZDSK_cjs.physicsToPlayCanvas(phys, `db${blockIdx++}`);
156
160
  },
157
161
  vfx: (block) => {
158
- const ps = chunkLXJ4667L_cjs.compileParticleBlock(block);
159
- return chunkLXJ4667L_cjs.particlesToPlayCanvas(ps, `db${blockIdx++}`);
162
+ const ps = chunkHGVXZDSK_cjs.compileParticleBlock(block);
163
+ return chunkHGVXZDSK_cjs.particlesToPlayCanvas(ps, `db${blockIdx++}`);
160
164
  },
161
165
  postfx: (block) => {
162
- const pp = chunkLXJ4667L_cjs.compilePostProcessingBlock(block);
166
+ const pp = chunkHGVXZDSK_cjs.compilePostProcessingBlock(block);
163
167
  return `// Post-Processing: ${pp.keyword} \u2014 configure via PlayCanvas PostEffects
164
168
  ` + pp.effects.map((e) => `// Effect: ${e.type} \u2014 ${JSON.stringify(e.properties)}`).join("\n");
165
169
  },
166
170
  audio: (block) => {
167
- const audio = chunkLXJ4667L_cjs.compileAudioSourceBlock(block);
168
- return chunkLXJ4667L_cjs.audioSourceToPlayCanvas(audio, `db${blockIdx++}`);
171
+ const audio = chunkHGVXZDSK_cjs.compileAudioSourceBlock(block);
172
+ return chunkHGVXZDSK_cjs.audioSourceToPlayCanvas(audio, `db${blockIdx++}`);
169
173
  },
170
174
  weather: (block) => {
171
- const weather = chunkLXJ4667L_cjs.compileWeatherBlock(block);
175
+ const weather = chunkHGVXZDSK_cjs.compileWeatherBlock(block);
172
176
  return `// Weather: ${weather.keyword} "${weather.name || ""}" \u2014 implement via PlayCanvas particle system
173
177
  ` + weather.layers.map((l) => `// Layer: ${l.type} \u2014 ${JSON.stringify(l.properties)}`).join("\n");
174
178
  }
@@ -369,7 +373,7 @@ var init_PlayCanvasCompiler = chunk3SAK5KFL_cjs.__esm({
369
373
  }
370
374
  if (obj.traits && Array.isArray(obj.traits) && obj.traits.length > 0) {
371
375
  const traitNames = obj.traits.map((t) => t.name);
372
- const compositor = new chunkX4ZF6CNE_cjs.TraitCompositor();
376
+ const compositor = new chunkOIQYIIO3_cjs.TraitCompositor();
373
377
  const composed = compositor.compose(traitNames);
374
378
  if (Object.keys(composed).length > 0) {
375
379
  const matVar = `${v}ComposedMat`;
@@ -751,5 +755,5 @@ var init_PlayCanvasCompiler = chunk3SAK5KFL_cjs.__esm({
751
755
 
752
756
  exports.PlayCanvasCompiler_exports = PlayCanvasCompiler_exports;
753
757
  exports.init_PlayCanvasCompiler = init_PlayCanvasCompiler;
754
- //# sourceMappingURL=chunk-XWPNTWDN.cjs.map
755
- //# sourceMappingURL=chunk-XWPNTWDN.cjs.map
758
+ //# sourceMappingURL=chunk-MJVIRCUV.cjs.map
759
+ //# sourceMappingURL=chunk-MJVIRCUV.cjs.map
@@ -1,6 +1,6 @@
1
- import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileWeatherBlock, weatherToUSD, compileAudioSourceBlock, audioSourceToUSD, compilePostProcessingBlock, postProcessingToUSD, compileParticleBlock, particlesToUSD, compilePhysicsBlock, physicsToURDF, compileMaterialBlock, materialToUSD } from './chunk-YQK5JNFK.js';
2
- import { init_CompilerBase, CompilerBase } from './chunk-6XSERL6L.js';
3
- import { ANSCapabilityPath } from '@holoscript/platform';
1
+ import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileWeatherBlock, weatherToUSD, compileAudioSourceBlock, audioSourceToUSD, compilePostProcessingBlock, postProcessingToUSD, compileParticleBlock, particlesToUSD, compilePhysicsBlock, physicsToURDF, compileMaterialBlock, materialToUSD } from './chunk-W55Z7QIX.js';
2
+ import { init_CompilerBase, CompilerBase } from './chunk-QTPMJRGS.js';
3
+ import { ANSCapabilityPath } from '@holoscript/core-types/ans';
4
4
 
5
5
  // src/compiler/USDPhysicsCompiler.ts
6
6
  init_CompilerBase();
@@ -10,6 +10,8 @@ var USDPhysicsCompiler = class extends CompilerBase {
10
10
  super();
11
11
  this.compilerName = "USDPhysicsCompiler";
12
12
  this.lines = [];
13
+ /** Root composition name, set during compile() for USD path resolution. */
14
+ this.compositionName = "World";
13
15
  this.indentLevel = 0;
14
16
  this.prims = [];
15
17
  this.joints = [];
@@ -30,7 +32,10 @@ var USDPhysicsCompiler = class extends CompilerBase {
30
32
  defaultStaticFriction: options.defaultStaticFriction ?? 0.5,
31
33
  defaultDynamicFriction: options.defaultDynamicFriction ?? 0.5,
32
34
  defaultRestitution: options.defaultRestitution ?? 0.1,
33
- enableArticulation: options.enableArticulation ?? true
35
+ enableArticulation: options.enableArticulation ?? true,
36
+ targetContext: options.targetContext ?? "isaac_sim",
37
+ embedSemanticAST: options.embedSemanticAST ?? true,
38
+ provenanceHash: options.provenanceHash ?? ""
34
39
  };
35
40
  }
36
41
  getRequiredCapability() {
@@ -206,6 +211,7 @@ var USDPhysicsCompiler = class extends CompilerBase {
206
211
  */
207
212
  compile(composition, agentToken, outputPath) {
208
213
  this.validateCompilerAccess(agentToken, outputPath);
214
+ this.compositionName = this.sanitizeName(composition.name);
209
215
  this.lines = [];
210
216
  this.prims = [];
211
217
  this.joints = [];
@@ -221,6 +227,10 @@ var USDPhysicsCompiler = class extends CompilerBase {
221
227
  this.emit(`)
222
228
  {`);
223
229
  this.indentLevel++;
230
+ if (this.options.embedSemanticAST) {
231
+ this.emitSemanticCustomData(composition);
232
+ this.emitBlank();
233
+ }
224
234
  if (this.options.includePhysicsScene) {
225
235
  this.emitPhysicsScene();
226
236
  this.emitBlank();
@@ -295,22 +305,27 @@ var USDPhysicsCompiler = class extends CompilerBase {
295
305
  // HEADER EMISSION
296
306
  // ===========================================================================
297
307
  emitHeader(name) {
308
+ const runtimeLabel = this.options.targetContext === "isaac_sim" ? "NVIDIA Isaac Sim / Isaac Lab" : this.options.targetContext === "omniverse" ? "NVIDIA Omniverse" : "Generic USD Runtime";
298
309
  this.emit(`#usda 1.0`);
299
310
  this.emit(`(`);
300
311
  this.indentLevel++;
301
312
  this.emit(`defaultPrim = "${this.sanitizeName(name)}"`);
302
- this.emit(`doc = "Generated by HoloScript USDPhysicsCompiler for NVIDIA Isaac Sim"`);
313
+ this.emit(`doc = "Generated by HoloScript USDPhysicsCompiler for ${runtimeLabel}"`);
303
314
  this.emit(`metersPerUnit = ${this.options.metersPerUnit}`);
304
315
  this.emit(`upAxis = "${this.options.upAxis}"`);
305
316
  this.emit(`timeCodesPerSecond = ${this.options.timeCodesPerSecond}`);
306
317
  this.emit(`customLayerData = {`);
307
318
  this.indentLevel++;
308
- this.emit(`string generator = "HoloScript v3.0"`);
309
- this.emit(`string targetRuntime = "Isaac Sim / Omniverse"`);
319
+ this.emit(`string generator = "HoloScript v6.0"`);
320
+ this.emit(`string targetRuntime = "${runtimeLabel}"`);
321
+ this.emit(`string holoscript:targetContext = "${this.options.targetContext}"`);
310
322
  this.indentLevel--;
311
323
  this.emit(`}`);
312
324
  this.indentLevel--;
313
325
  this.emit(`)`);
326
+ if (this.options.provenanceHash) {
327
+ this.emit(`# Provenance Hash: ${this.options.provenanceHash}`);
328
+ }
314
329
  }
315
330
  // ===========================================================================
316
331
  // PHYSICS SCENE
@@ -428,10 +443,18 @@ var USDPhysicsCompiler = class extends CompilerBase {
428
443
  `double3 xformOp:translate = (${prim.translation[0]}, ${prim.translation[1]}, ${prim.translation[2]})`
429
444
  );
430
445
  }
446
+ const useEulerRotation = this.options.targetContext === "isaac_sim";
431
447
  if (prim.rotation && !this.isIdentityQuaternion(prim.rotation)) {
432
- this.emit(
433
- `quatd xformOp:orient = (${prim.rotation[3]}, ${prim.rotation[0]}, ${prim.rotation[1]}, ${prim.rotation[2]})`
434
- );
448
+ if (useEulerRotation) {
449
+ const euler = this.quaternionToEulerDegrees(prim.rotation);
450
+ this.emit(
451
+ `float3 xformOp:rotateXYZ = (${euler[0].toFixed(4)}, ${euler[1].toFixed(4)}, ${euler[2].toFixed(4)})`
452
+ );
453
+ } else {
454
+ this.emit(
455
+ `quatd xformOp:orient = (${prim.rotation[3]}, ${prim.rotation[0]}, ${prim.rotation[1]}, ${prim.rotation[2]})`
456
+ );
457
+ }
435
458
  }
436
459
  if (prim.scale && !this.isUniformScale(prim.scale)) {
437
460
  this.emit(`double3 xformOp:scale = (${prim.scale[0]}, ${prim.scale[1]}, ${prim.scale[2]})`);
@@ -440,7 +463,9 @@ var USDPhysicsCompiler = class extends CompilerBase {
440
463
  if (hasTransform) {
441
464
  const ops = [];
442
465
  if (prim.translation) ops.push('"xformOp:translate"');
443
- if (prim.rotation && !this.isIdentityQuaternion(prim.rotation)) ops.push('"xformOp:orient"');
466
+ if (prim.rotation && !this.isIdentityQuaternion(prim.rotation)) {
467
+ ops.push(useEulerRotation ? '"xformOp:rotateXYZ"' : '"xformOp:orient"');
468
+ }
444
469
  if (prim.scale && !this.isUniformScale(prim.scale)) ops.push('"xformOp:scale"');
445
470
  this.emit(`uniform token[] xformOpOrder = [${ops.join(", ")}]`);
446
471
  }
@@ -487,6 +512,20 @@ var USDPhysicsCompiler = class extends CompilerBase {
487
512
  this.emitBlank();
488
513
  this.emit(`# PhysicsCollisionAPI`);
489
514
  this.emit(`bool physics:collisionEnabled = ${api.collisionEnabled}`);
515
+ if (api.collisionShape) {
516
+ this.emit(`token physics:collisionShape = "${api.collisionShape}"`);
517
+ }
518
+ if (api.collisionSize) {
519
+ this.emit(
520
+ `float3 physics:collisionSize = (${api.collisionSize[0]}, ${api.collisionSize[1]}, ${api.collisionSize[2]})`
521
+ );
522
+ }
523
+ if (api.collisionRadius !== void 0) {
524
+ this.emit(`float physics:collisionRadius = ${api.collisionRadius}`);
525
+ }
526
+ if (api.collisionHeight !== void 0) {
527
+ this.emit(`float physics:collisionHeight = ${api.collisionHeight}`);
528
+ }
490
529
  break;
491
530
  case "PhysicsMassAPI":
492
531
  this.emitBlank();
@@ -655,10 +694,23 @@ var USDPhysicsCompiler = class extends CompilerBase {
655
694
  });
656
695
  }
657
696
  if (hasCollider || hasPhysics) {
658
- apis.push({
697
+ const collisionApi = {
659
698
  type: "PhysicsCollisionAPI",
660
699
  collisionEnabled: true
661
- });
700
+ };
701
+ if (geometry && geometry.type !== "Reference") {
702
+ collisionApi.collisionShape = geometry.type;
703
+ if (geometry.size) {
704
+ collisionApi.collisionSize = geometry.size;
705
+ }
706
+ if (geometry.radius !== void 0) {
707
+ collisionApi.collisionRadius = geometry.radius;
708
+ }
709
+ if (geometry.type === "Cylinder" || geometry.type === "Capsule" || geometry.type === "Cone") {
710
+ collisionApi.collisionHeight = scale[1];
711
+ }
712
+ }
713
+ apis.push(collisionApi);
662
714
  }
663
715
  if (hasPhysics) {
664
716
  const mass = physicsConfig.mass ?? this.options.defaultMass;
@@ -675,13 +727,16 @@ var USDPhysicsCompiler = class extends CompilerBase {
675
727
  }
676
728
  if (jointConfig) {
677
729
  const jointType = this.mapJointType(String(jointConfig.type || "fixed"));
678
- const parentBody = String(jointConfig.connectedBody || "base_link");
730
+ const rawParentBody = String(jointConfig.connectedBody || "");
731
+ const articulationRoot = `/${this.compositionName}`;
732
+ const body0Path = rawParentBody ? rawParentBody.startsWith("/") ? rawParentBody : `${articulationRoot}/${this.sanitizeName(rawParentBody)}` : articulationRoot;
733
+ const body1Path = `/${this.compositionName}/${this.sanitizeName(name)}`;
679
734
  const axis = this.mapAxis(jointConfig.axis);
680
735
  const joint = {
681
736
  type: "PhysicsJoint",
682
737
  jointType,
683
- body0: parentBody,
684
- body1: `RobotArticulation/${name}`,
738
+ body0: body0Path,
739
+ body1: body1Path,
685
740
  axis
686
741
  };
687
742
  if (jointConfig.lowerLimit !== void 0 || jointConfig.upperLimit !== void 0) {
@@ -742,6 +797,68 @@ var USDPhysicsCompiler = class extends CompilerBase {
742
797
  prims.push(groupPrim);
743
798
  return prims;
744
799
  }
800
+ // ===========================================================================
801
+ // SEMANTIC AST EMBEDDING (Metaverse Standards Forum interoperability)
802
+ // ===========================================================================
803
+ /**
804
+ * Emit a `customData` block on the root Xform carrying a compact
805
+ * representation of the HoloScript semantic AST.
806
+ *
807
+ * This enables downstream consumers (Omniverse extensions, Isaac Lab
808
+ * pipelines, or any USD-aware tool) to read the original behavioral
809
+ * intent without needing a HoloScript parser.
810
+ *
811
+ * The payload follows the MSF 3D Asset Interoperability WG recommendation
812
+ * of placing behavioral metadata in `customData` (USD) or `extras` (glTF).
813
+ */
814
+ emitSemanticCustomData(composition) {
815
+ this.emit(`# HoloScript Semantic AST (MSF Interoperability)`);
816
+ this.emit(`customData = {`);
817
+ this.indentLevel++;
818
+ this.emit(`string holoscript:version = "6.0"`);
819
+ this.emit(`string holoscript:compositionName = "${this.escapeStringValue(composition.name, "USD")}"`);
820
+ const objectNames = (composition.objects || []).map((o) => o.name);
821
+ if (objectNames.length > 0) {
822
+ const namesStr = objectNames.map((n) => `"${this.escapeStringValue(n, "USD")}"`).join(", ");
823
+ this.emit(`string[] holoscript:objects = [${namesStr}]`);
824
+ }
825
+ const allTraits = /* @__PURE__ */ new Set();
826
+ for (const obj of composition.objects || []) {
827
+ for (const trait of obj.traits || []) {
828
+ const tName = typeof trait === "string" ? trait : trait.name;
829
+ allTraits.add(tName);
830
+ }
831
+ }
832
+ if (allTraits.size > 0) {
833
+ const traitsStr = [...allTraits].map((t) => `"${this.escapeStringValue(t, "USD")}"`).join(", ");
834
+ this.emit(`string[] holoscript:traits = [${traitsStr}]`);
835
+ }
836
+ const groupNames = (composition.spatialGroups || []).map((g) => g.name);
837
+ if (groupNames.length > 0) {
838
+ const groupsStr = groupNames.map((n) => `"${this.escapeStringValue(n, "USD")}"`).join(", ");
839
+ this.emit(`string[] holoscript:spatialGroups = [${groupsStr}]`);
840
+ }
841
+ this.emit(`string holoscript:targetContext = "${this.options.targetContext}"`);
842
+ this.indentLevel--;
843
+ this.emit(`}`);
844
+ }
845
+ /**
846
+ * Convert a quaternion (x, y, z, w) back to Euler angles in degrees.
847
+ * Used when targetContext === 'isaac_sim' requires rotateXYZ ops.
848
+ */
849
+ quaternionToEulerDegrees(q) {
850
+ const [x, y, z, w] = q;
851
+ const RAD2DEG = 180 / Math.PI;
852
+ const sinr_cosp = 2 * (w * x + y * z);
853
+ const cosr_cosp = 1 - 2 * (x * x + y * y);
854
+ const roll = Math.atan2(sinr_cosp, cosr_cosp) * RAD2DEG;
855
+ const sinp = 2 * (w * y - z * x);
856
+ const pitch = Math.abs(sinp) >= 1 ? Math.sign(sinp) * 90 : Math.asin(sinp) * RAD2DEG;
857
+ const siny_cosp = 2 * (w * z + x * y);
858
+ const cosy_cosp = 1 - 2 * (y * y + z * z);
859
+ const yaw = Math.atan2(siny_cosp, cosy_cosp) * RAD2DEG;
860
+ return [roll, pitch, yaw];
861
+ }
745
862
  };
746
863
  function compileToUSDPhysics(composition, options) {
747
864
  const compiler = new USDPhysicsCompiler(options);
@@ -761,5 +878,5 @@ function compileForIsaacSim(composition, options) {
761
878
  }
762
879
 
763
880
  export { USDPhysicsCompiler, compileForIsaacSim, compileToUSDPhysics };
764
- //# sourceMappingURL=chunk-SDAMZIRE.js.map
765
- //# sourceMappingURL=chunk-SDAMZIRE.js.map
881
+ //# sourceMappingURL=chunk-MSMIFMBL.js.map
882
+ //# sourceMappingURL=chunk-MSMIFMBL.js.map
@@ -9,48 +9,48 @@ function vec3NormalizeInPlace(v) {
9
9
  return len;
10
10
  }
11
11
  function vec3Normalize(v) {
12
- const len = Math.sqrt(v.x * v.x + v.y * v.y + v.z * v.z);
13
- if (len === 0) return { x: 0, y: 0, z: 0 };
14
- return { x: v.x / len, y: v.y / len, z: v.z / len };
12
+ const len = Math.sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);
13
+ if (len === 0) return [0, 0, 0];
14
+ return [v[0] / len, v[1] / len, v[2] / len];
15
15
  }
16
16
  function vec3Length(v) {
17
- return Math.sqrt(v.x * v.x + v.y * v.y + v.z * v.z);
17
+ return Math.sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);
18
18
  }
19
19
  function vec3Cross(a, b) {
20
- return {
21
- x: a.y * b.z - a.z * b.y,
22
- y: a.z * b.x - a.x * b.z,
23
- z: a.x * b.y - a.y * b.x
24
- };
20
+ return [
21
+ a[1] * b[2] - a[2] * b[1],
22
+ a[2] * b[0] - a[0] * b[2],
23
+ a[0] * b[1] - a[1] * b[0]
24
+ ];
25
25
  }
26
26
  function vec3CrossArray(a, b) {
27
27
  return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];
28
28
  }
29
29
  function vec3Sub(a, b) {
30
- return { x: a.x - b.x, y: a.y - b.y, z: a.z - b.z };
30
+ return [a[0] - b[0], a[1] - b[1], a[2] - b[2]];
31
31
  }
32
32
  function vec3SubArray(a, b) {
33
33
  return [a[0] - b[0], a[1] - b[1], a[2] - b[2]];
34
34
  }
35
35
  function vec3Add(a, b) {
36
- return { x: a.x + b.x, y: a.y + b.y, z: a.z + b.z };
36
+ return [a[0] + b[0], a[1] + b[1], a[2] + b[2]];
37
37
  }
38
38
  function vec3Scale(v, s) {
39
- return { x: v.x * s, y: v.y * s, z: v.z * s };
39
+ return [v[0] * s, v[1] * s, v[2] * s];
40
40
  }
41
41
  function vec3ScaleArray(v, s) {
42
42
  return [v[0] * s, v[1] * s, v[2] * s];
43
43
  }
44
44
  function vec3Distance(a, b) {
45
- const dx = b.x - a.x;
46
- const dy = b.y - a.y;
47
- const dz = b.z - a.z;
45
+ const dx = b[0] - a[0];
46
+ const dy = b[1] - a[1];
47
+ const dz = b[2] - a[2];
48
48
  return Math.sqrt(dx * dx + dy * dy + dz * dz);
49
49
  }
50
50
  function vec3Dot(a, b) {
51
- return a.x * b.x + a.y * b.y + a.z * b.z;
51
+ return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
52
52
  }
53
53
 
54
54
  export { vec3Add, vec3Cross, vec3CrossArray, vec3Distance, vec3Dot, vec3Length, vec3Normalize, vec3NormalizeInPlace, vec3Scale, vec3ScaleArray, vec3Sub, vec3SubArray };
55
- //# sourceMappingURL=chunk-56IF4NTA.js.map
56
- //# sourceMappingURL=chunk-56IF4NTA.js.map
55
+ //# sourceMappingURL=chunk-MXFUTKCO.js.map
56
+ //# sourceMappingURL=chunk-MXFUTKCO.js.map