@holoscript/core 8.0.7 → 8.0.9

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 (462) hide show
  1. package/bin/holoscript.cjs +5 -1
  2. package/dist/GLTFPipeline-L76YTXKA.js +15 -0
  3. package/dist/GLTFPipeline-ZWJN7GI6.cjs +36 -0
  4. package/dist/HoloCompositionParser-K76KTEEE.js +12 -0
  5. package/dist/HoloCompositionParser-UZH6Y4HO.cjs +45 -0
  6. package/dist/HoloScriptCodeParser-2D4ERFUZ.js +6 -0
  7. package/dist/HoloScriptCodeParser-UDRLDA7I.cjs +23 -0
  8. package/dist/HoloScriptPlusParser-FTMCGWXD.js +13 -0
  9. package/dist/HoloScriptPlusParser-LQR5GIKF.cjs +30 -0
  10. package/dist/HoloScriptRuntime-UTRLJI5L.js +12 -0
  11. package/dist/HoloScriptRuntime-YBYXJHJN.cjs +21 -0
  12. package/dist/SceneIRCompiler-63KA3M2F.js +17 -0
  13. package/dist/SceneIRCompiler-KWUFHZ4O.cjs +42 -0
  14. package/dist/{USDZExporter-AUHZODOF.cjs → USDZExporter-ML4UMIGC.cjs} +3 -3
  15. package/dist/{USDZExporter-GXB4AUSG.js → USDZExporter-ZFKLQ76G.js} +3 -3
  16. package/dist/agents/index.cjs +1 -1
  17. package/dist/agents/index.js +1 -1
  18. package/dist/audit/AuditLogger.d.ts +106 -0
  19. package/dist/audit/AuditQueryBuilder.d.ts +79 -0
  20. package/dist/audit/ComplianceReporter.d.ts +90 -0
  21. package/dist/audit/index.d.ts +13 -0
  22. package/dist/{chunk-FGMDMJM7.js → chunk-2BYAUHBO.js} +3 -3
  23. package/dist/{chunk-EDPYCLRC.cjs → chunk-2E6PP5UE.cjs} +83 -59
  24. package/dist/{chunk-GASCWJK5.js → chunk-2EGGAZT3.js} +65 -287
  25. package/dist/{chunk-SIEXCILW.js → chunk-2I3XAGMF.js} +3 -3
  26. package/dist/{chunk-OS533P33.cjs → chunk-2KKOYZYI.cjs} +1074 -1655
  27. package/dist/chunk-2MQKNDNH.js +51 -0
  28. package/dist/{chunk-7DMMMBCY.cjs → chunk-2X3IPCBK.cjs} +10 -10
  29. package/dist/chunk-2ZOTBO25.cjs +202 -0
  30. package/dist/chunk-356N4NPM.cjs +152 -0
  31. package/dist/{chunk-X3GJPRVK.cjs → chunk-36NPLOI4.cjs} +92 -81
  32. package/dist/{chunk-SLU6UPJI.cjs → chunk-37HHY7RH.cjs} +5 -5
  33. package/dist/{chunk-YDPEHCCI.cjs → chunk-3CDDRUER.cjs} +3 -118
  34. package/dist/chunk-3F7ZZWIN.js +1651 -0
  35. package/dist/chunk-3ILD7TKP.cjs +187 -0
  36. package/dist/{chunk-X27QRG4C.cjs → chunk-3IUHTGDD.cjs} +153 -41
  37. package/dist/{chunk-PXNZ6TME.js → chunk-4376VHNJ.js} +60 -36
  38. package/dist/{chunk-YKGPCZEE.cjs → chunk-4FIBOJW6.cjs} +10 -10
  39. package/dist/chunk-4Q7RKQQI.cjs +14195 -0
  40. package/dist/{chunk-YCM6QQRT.cjs → chunk-566ZB4LZ.cjs} +180 -8
  41. package/dist/{chunk-2Y3V22SG.js → chunk-5CURIYGT.js} +3 -3
  42. package/dist/{chunk-QBWNJXNR.js → chunk-5FYMCVBY.js} +5 -5
  43. package/dist/{chunk-ZA34AN3R.js → chunk-5LVFTGKH.js} +841 -12
  44. package/dist/chunk-63AUAIL6.js +48 -0
  45. package/dist/chunk-655FATJU.js +110 -0
  46. package/dist/{chunk-TQ377OLB.cjs → chunk-65S62L4D.cjs} +28 -22
  47. package/dist/chunk-6NTAZN5Z.cjs +502 -0
  48. package/dist/chunk-6TRX6AR2.js +9376 -0
  49. package/dist/chunk-6ZCCLKS2.cjs +51 -0
  50. package/dist/{chunk-MDR235RZ.js → chunk-734OB5SK.js} +721 -8
  51. package/dist/{chunk-Q2Q34NF3.js → chunk-77QI552M.js} +6 -6
  52. package/dist/{chunk-WKX5AMOY.js → chunk-7I74JWPW.js} +3 -3
  53. package/dist/{chunk-5FSKKMR7.cjs → chunk-7IDJDMPU.cjs} +232 -4
  54. package/dist/chunk-7VBKRGIZ.cjs +847 -0
  55. package/dist/{chunk-KCPHASCO.js → chunk-AATYYLYK.js} +5 -5
  56. package/dist/{chunk-WFKVS2K4.cjs → chunk-AUZRKIHQ.cjs} +1101 -55
  57. package/dist/{chunk-DTGBOSEM.cjs → chunk-AWXFEAQL.cjs} +12 -12
  58. package/dist/{chunk-THCK6ECW.js → chunk-B3CWTCK2.js} +231 -3
  59. package/dist/chunk-BCP4E7MD.cjs +997 -0
  60. package/dist/chunk-BG7RPYJP.js +91 -0
  61. package/dist/{chunk-VF257YKO.js → chunk-BP4KTMLY.js} +117 -5
  62. package/dist/{chunk-YN6IETRZ.js → chunk-BQJ3YBF3.js} +6424 -987
  63. package/dist/{chunk-KOUAQL2B.cjs → chunk-CANAL6CT.cjs} +1569 -168
  64. package/dist/{chunk-FDSGHPAK.js → chunk-CBSDJF3B.js} +3 -3
  65. package/dist/{chunk-FEWUHQNM.cjs → chunk-CFVK26P4.cjs} +4 -4
  66. package/dist/{chunk-M7K4LE66.cjs → chunk-CI33NINL.cjs} +4 -4
  67. package/dist/{chunk-2OWDB4FB.js → chunk-CKV5NYAE.js} +6 -6
  68. package/dist/{chunk-LPS5AMQD.cjs → chunk-CM4NHXVO.cjs} +24 -24
  69. package/dist/chunk-D3HSRXYB.js +115 -0
  70. package/dist/{chunk-FNHJRI32.js → chunk-DBH3D2MU.js} +1561 -160
  71. package/dist/{chunk-GW3LKD5C.js → chunk-DJNH4HFW.js} +3 -3
  72. package/dist/{chunk-2GCNOI2U.cjs → chunk-DN6F4DHH.cjs} +9 -3
  73. package/dist/chunk-DQRJ5RJG.js +432 -0
  74. package/dist/{chunk-C7ZBSV2Q.js → chunk-DUG3OQAS.js} +106 -43
  75. package/dist/chunk-ECUYJOJ2.cjs +199 -0
  76. package/dist/chunk-EEMTCAK7.js +182 -0
  77. package/dist/{chunk-3SKLAUDD.cjs → chunk-EI3J6LTW.cjs} +359 -581
  78. package/dist/{chunk-SSSN7VAM.js → chunk-EM2OGPYE.js} +4 -4
  79. package/dist/{chunk-56VOWURB.cjs → chunk-ENZCIQZC.cjs} +522 -453
  80. package/dist/chunk-ESBXUYOC.cjs +836 -0
  81. package/dist/{chunk-L5U4W6JC.js → chunk-ESSEF6U2.js} +4 -4
  82. package/dist/chunk-ET3AN4W3.js +824 -0
  83. package/dist/chunk-EXKSFGSX.cjs +14 -14
  84. package/dist/{chunk-I76GIKN7.cjs → chunk-F3YT6GUF.cjs} +17 -17
  85. package/dist/{chunk-WRWEX5ZF.js → chunk-F75DZBBI.js} +3 -3
  86. package/dist/{chunk-4JGRWHZJ.js → chunk-FG6PYGIZ.js} +12 -6
  87. package/dist/chunk-FGGJQRLZ.js +14 -14
  88. package/dist/{chunk-SXOSDZD6.js → chunk-FWCHPCD4.js} +128 -10
  89. package/dist/{chunk-XW6IXEQH.cjs → chunk-G35CAQ7I.cjs} +5 -5
  90. package/dist/{chunk-7VMGP2FW.js → chunk-G6KACNMO.js} +132 -188
  91. package/dist/{chunk-FJPADH77.cjs → chunk-GAWJJAGT.cjs} +6 -6
  92. package/dist/chunk-GGR7QUKK.cjs +4724 -0
  93. package/dist/chunk-GIBF4BHH.js +14098 -0
  94. package/dist/{chunk-AWB7QYY6.cjs → chunk-GILYQ5VH.cjs} +6 -6
  95. package/dist/{chunk-FWVYAMNW.cjs → chunk-GKFCHGCM.cjs} +4 -4
  96. package/dist/{chunk-Y3ZFVUUU.js → chunk-GLEJ2TLS.js} +3 -3
  97. package/dist/{chunk-3GWWJT7L.js → chunk-GP3OKSKT.js} +13 -13
  98. package/dist/chunk-GTIPOEHN.js +196 -0
  99. package/dist/{chunk-LMJ5EBV7.cjs → chunk-GZPUA2TL.cjs} +16 -15
  100. package/dist/{chunk-IELX2OKI.js → chunk-H4LJ4HEA.js} +3 -115
  101. package/dist/{chunk-ACVWFGBI.cjs → chunk-HCX4SMFK.cjs} +3 -3
  102. package/dist/{chunk-HYNTS5CP.js → chunk-HHRZ6STP.js} +24 -2
  103. package/dist/chunk-HIDEIEFG.js +48 -0
  104. package/dist/{chunk-W6RW64BB.cjs → chunk-HSWBIDZM.cjs} +228 -5
  105. package/dist/{chunk-GSOUNWEL.js → chunk-HVX7QQYK.js} +1035 -1616
  106. package/dist/{chunk-TRCGG42I.cjs → chunk-IFW5IW4L.cjs} +6502 -1019
  107. package/dist/{chunk-F5LKJ6F5.cjs → chunk-IJU6AS67.cjs} +32 -28
  108. package/dist/{chunk-TVANHNJ7.js → chunk-IK6Z2HNC.js} +173 -3
  109. package/dist/{chunk-QGMUTVVH.cjs → chunk-IS7NTKY5.cjs} +20 -20
  110. package/dist/{chunk-YFVQWSNJ.js → chunk-IXWGYWH6.js} +3 -3
  111. package/dist/chunk-J2DAS2PL.js +148 -0
  112. package/dist/chunk-JBQXZIWB.js +148 -0
  113. package/dist/chunk-JBYBMBMW.js +261 -0
  114. package/dist/{chunk-LWUOUCYL.js → chunk-JEJ7TT54.js} +5 -5
  115. package/dist/{chunk-DUCB6LGL.js → chunk-JOTCTHN5.js} +211 -5
  116. package/dist/{chunk-47RUFYKR.js → chunk-K56UVEXV.js} +3 -3
  117. package/dist/{chunk-XSFNHP2E.js → chunk-KB26H447.js} +3 -3
  118. package/dist/{chunk-3NGDZZR4.js → chunk-KEYG7HGY.js} +430 -37
  119. package/dist/{chunk-DY72BMU5.js → chunk-KFVNCW4Q.js} +4 -4
  120. package/dist/chunk-KPGC7SK2.js +192 -0
  121. package/dist/chunk-KROXXBK5.cjs +53 -0
  122. package/dist/{chunk-ZPZAVHXL.cjs → chunk-LB3ZZMKT.cjs} +137 -19
  123. package/dist/chunk-LDYZWNJW.cjs +1654 -0
  124. package/dist/{chunk-ULMSSHCJ.cjs → chunk-LMB555QB.cjs} +405 -38
  125. package/dist/{chunk-CBJY23VL.js → chunk-MD4IVS42.js} +3 -3
  126. package/dist/{chunk-VMLKSV26.js → chunk-MDDWEBCX.js} +226 -3
  127. package/dist/chunk-MUWH4QK5.cjs +94 -0
  128. package/dist/{chunk-T6W3Z3SH.cjs → chunk-N2ILK7BF.cjs} +4 -4
  129. package/dist/{chunk-6EX3I5P4.cjs → chunk-N74QRJGP.cjs} +6 -6
  130. package/dist/chunk-NFFHLX37.cjs +132 -0
  131. package/dist/chunk-NJSYWX7H.js +190 -0
  132. package/dist/{chunk-SH5PPVK7.cjs → chunk-NQN5LFN4.cjs} +165 -221
  133. package/dist/chunk-NTQRFOPP.cjs +56 -0
  134. package/dist/{chunk-YFWRJW4B.js → chunk-NWMJPTVL.js} +51 -55
  135. package/dist/{chunk-63ZGNR2T.cjs → chunk-OC6GV5QH.cjs} +42 -42
  136. package/dist/{chunk-7E7GCQCK.js → chunk-OG3MBHM3.js} +9 -3
  137. package/dist/chunk-OMNHTCS4.cjs +264 -0
  138. package/dist/chunk-OQXB6NNC.cjs +117 -0
  139. package/dist/{chunk-Y57W2CT5.cjs → chunk-OV46CCA2.cjs} +51 -55
  140. package/dist/{chunk-6PRZIHGL.cjs → chunk-OV6HHKLE.cjs} +21 -266
  141. package/dist/{chunk-C37BHB7N.cjs → chunk-P26YYPOO.cjs} +5 -5
  142. package/dist/{chunk-2BZHWUSR.cjs → chunk-P7JEKJTZ.cjs} +16 -16
  143. package/dist/{chunk-NGBXXZLL.cjs → chunk-PDXX5UI4.cjs} +45 -45
  144. package/dist/{chunk-FHQFPYV4.js → chunk-PJFTTSKE.js} +8 -7
  145. package/dist/{chunk-GVFJ6T4S.cjs → chunk-PVODJEJ7.cjs} +721 -8
  146. package/dist/{chunk-ZZ7RO2UQ.js → chunk-Q265VZJ4.js} +3 -3
  147. package/dist/{chunk-E7JP3BS3.cjs → chunk-Q47JEE2C.cjs} +4 -4
  148. package/dist/chunk-QBY7LRN2.js +281 -0
  149. package/dist/{chunk-Z6PMDS4G.js → chunk-QDQWKSU3.js} +1090 -53
  150. package/dist/{chunk-GH6C2QGW.cjs → chunk-QEDMOGF3.cjs} +857 -16
  151. package/dist/{chunk-5WUNN6ZN.cjs → chunk-QHSAVOOL.cjs} +24 -2
  152. package/dist/chunk-QJNCDVYM.cjs +137 -0
  153. package/dist/chunk-QM7FJB5W.js +4717 -0
  154. package/dist/chunk-QQFB4RT2.cjs +448 -0
  155. package/dist/chunk-QSYBHQAD.cjs +196 -0
  156. package/dist/{chunk-UGXHYIWT.cjs → chunk-QUJ3ZB55.cjs} +28 -28
  157. package/dist/{chunk-2YSNA2F2.cjs → chunk-QVJMDVYZ.cjs} +5 -5
  158. package/dist/chunk-RAJMAX6D.js +131 -0
  159. package/dist/{chunk-VVKVQZI6.js → chunk-RAN3ECAS.js} +3 -3
  160. package/dist/chunk-RKGUZBOC.js +79 -0
  161. package/dist/{chunk-HLFDZ35S.cjs → chunk-RRQIAJLQ.cjs} +8 -8
  162. package/dist/{chunk-PABONWKI.js → chunk-RXQNRZ5F.js} +3 -3
  163. package/dist/{chunk-7ZHYEITD.cjs → chunk-S4O7CFHQ.cjs} +10 -11
  164. package/dist/chunk-SE7ANBGN.js +128 -0
  165. package/dist/{chunk-X2AVEAZM.cjs → chunk-SJIRCTIS.cjs} +176 -2
  166. package/dist/{chunk-WXQ57LAO.js → chunk-SQXAZHDG.js} +4 -4
  167. package/dist/chunk-SR73L5ZP.cjs +84 -0
  168. package/dist/{chunk-OABEO6HH.js → chunk-SZOLTWWD.js} +2349 -214
  169. package/dist/{chunk-5JEU52DW.js → chunk-TPZ3BN2D.js} +3 -3
  170. package/dist/{chunk-QFU53KRH.js → chunk-TSTFYGGX.js} +4 -5
  171. package/dist/{chunk-EBS32AJI.cjs → chunk-TZCFKZ6Z.cjs} +5 -5
  172. package/dist/chunk-UCVZXQ63.js +724 -0
  173. package/dist/chunk-UGQ3QNV6.js +992 -0
  174. package/dist/chunk-UNMVGZVW.js +142 -0
  175. package/dist/{chunk-TEVX443G.js → chunk-UTUD6GJI.js} +178 -6
  176. package/dist/chunk-UXBYA7DV.cjs +155 -0
  177. package/dist/chunk-V6GXFSK7.cjs +443 -0
  178. package/dist/chunk-VHORVGCG.cjs +761 -0
  179. package/dist/{chunk-B4EKV6HQ.js → chunk-VKCTYLDN.js} +500 -442
  180. package/dist/{chunk-O3MGZDCT.cjs → chunk-VTEXJOSD.cjs} +63 -63
  181. package/dist/chunk-VVAAZITA.cjs +287 -0
  182. package/dist/{chunk-V7AKE5VT.cjs → chunk-W2GA3EQB.cjs} +435 -42
  183. package/dist/chunk-W4GABFCR.js +37 -0
  184. package/dist/chunk-WKEK4NCA.js +490 -0
  185. package/dist/{chunk-5A4TCHOC.cjs → chunk-WNYXT4TE.cjs} +4 -4
  186. package/dist/{chunk-S762UEV5.js → chunk-WTH23ISI.js} +6 -6
  187. package/dist/{chunk-BTKZGHAV.js → chunk-WWNCM473.js} +10 -6
  188. package/dist/{chunk-7X5PNIQJ.js → chunk-X3YFRH6K.js} +27 -25
  189. package/dist/{chunk-4YNYPHH3.cjs → chunk-X75H75UY.cjs} +2351 -213
  190. package/dist/{chunk-LYJJI7ZK.cjs → chunk-XCUDDFKC.cjs} +216 -9
  191. package/dist/chunk-YAO4HPJL.cjs +120 -0
  192. package/dist/chunk-YKY2JBER.cjs +9443 -0
  193. package/dist/chunk-YP5CHEYU.cjs +154 -0
  194. package/dist/{chunk-WRNEH5MO.js → chunk-YW3I2FQL.js} +18 -7
  195. package/dist/{chunk-BRNUPDHJ.js → chunk-Z557DVYN.js} +386 -19
  196. package/dist/{chunk-VSACG2AR.js → chunk-Z6LZUYZF.js} +21 -264
  197. package/dist/chunk-ZHPMP447.cjs +43 -0
  198. package/dist/{chunk-LODTHGST.cjs → chunk-ZK7KX5CD.cjs} +133 -70
  199. package/dist/{chunk-CCPSNT6B.cjs → chunk-ZRPALBQB.cjs} +5 -5
  200. package/dist/chunk-ZVFHPMC5.js +824 -0
  201. package/dist/chunk-ZVQMKUGJ.js +443 -0
  202. package/dist/cli/holoscript-runner.cjs +86 -48
  203. package/dist/cli/holoscript-runner.js +54 -16
  204. package/dist/codebase/index.cjs +1 -1
  205. package/dist/codebase/index.js +1 -1
  206. package/dist/compiler/agent-inference.cjs +11 -11
  207. package/dist/compiler/agent-inference.js +9 -6
  208. package/dist/compiler/android-xr.cjs +13 -12
  209. package/dist/compiler/android-xr.js +11 -10
  210. package/dist/compiler/android.cjs +12 -12
  211. package/dist/compiler/android.js +10 -10
  212. package/dist/compiler/business-quest.cjs +10 -10
  213. package/dist/compiler/business-quest.js +2 -2
  214. package/dist/compiler/coco.cjs +1 -1
  215. package/dist/compiler/coco.js +1 -1
  216. package/dist/compiler/context.cjs +9 -9
  217. package/dist/compiler/context.js +6 -6
  218. package/dist/compiler/daimon-seed.cjs +36 -0
  219. package/dist/compiler/daimon-seed.js +12 -0
  220. package/dist/compiler/domain-block-utils.cjs +205 -156
  221. package/dist/compiler/domain-block-utils.js +8 -7
  222. package/dist/compiler/dtdl.cjs +10 -10
  223. package/dist/compiler/dtdl.js +7 -7
  224. package/dist/compiler/gltf-pipeline.cjs +9 -9
  225. package/dist/compiler/gltf-pipeline.js +2 -2
  226. package/dist/compiler/godot.cjs +10 -9
  227. package/dist/compiler/godot.js +9 -8
  228. package/dist/compiler/incremental.cjs +11 -11
  229. package/dist/compiler/incremental.js +6 -6
  230. package/dist/compiler/index.cjs +2585 -3273
  231. package/dist/compiler/index.d.ts +149 -35
  232. package/dist/compiler/index.js +2197 -3102
  233. package/dist/compiler/ios.cjs +11 -11
  234. package/dist/compiler/ios.js +9 -9
  235. package/dist/compiler/llm-provider-capabilities.cjs +9 -9
  236. package/dist/compiler/llm-provider-capabilities.js +6 -6
  237. package/dist/compiler/nodetoy.cjs +1 -1
  238. package/dist/compiler/nodetoy.js +1 -1
  239. package/dist/compiler/openxr.cjs +11 -10
  240. package/dist/compiler/openxr.js +10 -9
  241. package/dist/compiler/remotion.cjs +1 -1
  242. package/dist/compiler/remotion.js +1 -1
  243. package/dist/compiler/reproducibility.cjs +1 -1
  244. package/dist/compiler/reproducibility.js +1 -1
  245. package/dist/compiler/sdf.cjs +11 -10
  246. package/dist/compiler/sdf.js +9 -8
  247. package/dist/compiler/semantic-scene.cjs +7 -7
  248. package/dist/compiler/semantic-scene.js +2 -2
  249. package/dist/compiler/state.cjs +9 -9
  250. package/dist/compiler/state.js +7 -7
  251. package/dist/compiler/trait-composition.cjs +11 -11
  252. package/dist/compiler/trait-composition.js +7 -7
  253. package/dist/compiler/traits/ProvenanceSemiring.d.ts +167 -0
  254. package/dist/compiler/traits/Semiring.d.ts +26 -0
  255. package/dist/compiler/unity.cjs +11 -10
  256. package/dist/compiler/unity.js +10 -9
  257. package/dist/compiler/unreal.cjs +12 -11
  258. package/dist/compiler/unreal.js +10 -9
  259. package/dist/compiler/urdf.cjs +18 -17
  260. package/dist/compiler/urdf.js +9 -8
  261. package/dist/compiler/usd-physics.cjs +11 -10
  262. package/dist/compiler/usd-physics.js +8 -7
  263. package/dist/compiler/visionos.cjs +11 -10
  264. package/dist/compiler/visionos.js +10 -9
  265. package/dist/compiler/vrchat.cjs +11 -10
  266. package/dist/compiler/vrchat.js +9 -8
  267. package/dist/compiler/wasm.cjs +14 -13
  268. package/dist/compiler/wasm.js +9 -8
  269. package/dist/compiler/webgpu.cjs +10 -9
  270. package/dist/compiler/webgpu.js +9 -8
  271. package/dist/constants.cjs +398 -0
  272. package/dist/constants.js +9 -0
  273. package/dist/coordinators/index.cjs +4 -1
  274. package/dist/coordinators/index.js +4 -1
  275. package/dist/debugger.cjs +11 -9
  276. package/dist/debugger.js +9 -7
  277. package/dist/{dist-ACXG6IH5.cjs → dist-GRMOP2UL.cjs} +341 -65
  278. package/dist/{dist-VD4L6V7Q.js → dist-ZBUKU2JG.js} +333 -63
  279. package/dist/entries/interop.cjs +23 -23
  280. package/dist/entries/interop.js +3 -3
  281. package/dist/entries/scripting.cjs +12 -11
  282. package/dist/entries/scripting.js +8 -7
  283. package/dist/evolution/index.cjs +66 -0
  284. package/dist/evolution/index.d.ts +162 -0
  285. package/dist/evolution/index.js +17 -0
  286. package/dist/hololand/index.cjs +41 -37
  287. package/dist/hololand/index.js +3 -3
  288. package/dist/index.cjs +12394 -3224
  289. package/dist/index.d.ts +260 -18
  290. package/dist/index.js +10755 -2182
  291. package/dist/keyword-registry/PluginKeywordRegistry.d.ts +138 -0
  292. package/dist/keyword-registry/index.cjs +29 -0
  293. package/dist/keyword-registry/index.d.ts +1 -0
  294. package/dist/keyword-registry/index.js +4 -0
  295. package/dist/math/tropical-spmv.cjs +11 -11
  296. package/dist/math/tropical-spmv.d.ts +1 -0
  297. package/dist/math/tropical-spmv.js +2 -2
  298. package/dist/math/tropicalSpmv.d.ts +43 -0
  299. package/dist/math/vec3.cjs +1 -1
  300. package/dist/math/vec3.js +1 -1
  301. package/dist/matter/StagedMatter.d.ts +82 -0
  302. package/dist/matter/index.cjs +17 -0
  303. package/dist/matter/index.d.ts +1 -0
  304. package/dist/matter/index.js +4 -0
  305. package/dist/{ml-dsa-Z7JDKW4L.js → ml-dsa-J6VKVT4K.js} +3 -3
  306. package/dist/{ml-dsa-FSKBTE3W.cjs → ml-dsa-MTIK4ZUQ.cjs} +23 -23
  307. package/dist/paper-0c-spike/index.cjs +1 -1
  308. package/dist/paper-0c-spike/index.js +1 -1
  309. package/dist/parameter-envelope/ParameterEnvelope.d.ts +128 -0
  310. package/dist/parameter-envelope/index.cjs +17 -0
  311. package/dist/parameter-envelope/index.d.ts +2 -0
  312. package/dist/parameter-envelope/index.js +4 -0
  313. package/dist/parser/HoloCompositionTypes.d.ts +2013 -0
  314. package/dist/parser/PipelineParser.d.ts +162 -0
  315. package/dist/parser.cjs +36 -20
  316. package/dist/parser.js +13 -9
  317. package/dist/plugin-manifest/ManifestAutoLoader.d.ts +35 -0
  318. package/dist/plugin-manifest/PluginManifest.d.ts +156 -0
  319. package/dist/plugin-manifest/index.cjs +25 -0
  320. package/dist/plugin-manifest/index.d.ts +2 -0
  321. package/dist/plugin-manifest/index.js +4 -0
  322. package/dist/plugin-solver-contract/PluginSolverContract.d.ts +288 -0
  323. package/dist/plugin-solver-contract/index.cjs +41 -0
  324. package/dist/plugin-solver-contract/index.d.ts +1 -0
  325. package/dist/plugin-solver-contract/index.js +4 -0
  326. package/dist/policy/ContentPolicyGate.d.ts +51 -0
  327. package/dist/policy/PolicyPack.d.ts +120 -0
  328. package/dist/policy/blocklist.d.ts +32 -0
  329. package/dist/policy/defaults.d.ts +44 -0
  330. package/dist/policy/index.cjs +106 -0
  331. package/dist/policy/index.d.ts +17 -0
  332. package/dist/policy/index.js +5 -0
  333. package/dist/policy/jsonLogic.d.ts +31 -0
  334. package/dist/policy/types.d.ts +174 -0
  335. package/dist/proof-composition/ProofCompositionLaw.d.ts +93 -0
  336. package/dist/proof-composition/index.cjs +25 -0
  337. package/dist/proof-composition/index.d.ts +1 -0
  338. package/dist/proof-composition/index.js +4 -0
  339. package/dist/receipts/hash-policy.d.ts +85 -0
  340. package/dist/reconstruction/index.cjs +75 -47
  341. package/dist/reconstruction/index.js +5 -5
  342. package/dist/runtime/plugin-trait-registrar.d.ts +36 -0
  343. package/dist/runtime.cjs +81 -79
  344. package/dist/runtime.js +9 -7
  345. package/dist/scene-presets-EDKYZ5GW.js +4 -0
  346. package/dist/scene-presets-NCW2CFRS.cjs +17 -0
  347. package/dist/self-improvement/index.cjs +1 -1
  348. package/dist/self-improvement/index.js +1 -1
  349. package/dist/{src-PT2FERDV.cjs → src-G3D7ZATQ.cjs} +545 -21
  350. package/dist/{src-J6CM4AUR.js → src-UXYA7HM6.js} +539 -16
  351. package/dist/storage/index.cjs +10 -10
  352. package/dist/storage/index.js +3 -3
  353. package/dist/testing.cjs +1 -1
  354. package/dist/testing.js +1 -1
  355. package/dist/tools/index.cjs +3631 -0
  356. package/dist/tools/index.js +3581 -0
  357. package/dist/traitDocs/traitDocs.cjs +9 -9
  358. package/dist/traitDocs/traitDocs.d.ts +1 -0
  359. package/dist/traitDocs/traitDocs.js +3 -3
  360. package/dist/traits/ControlLoopTrait.d.ts +154 -0
  361. package/dist/traits/KinematicChainTrait.d.ts +116 -0
  362. package/dist/traits/SensorSamplingTrait.d.ts +154 -0
  363. package/dist/traits/TraitTypes.d.ts +270 -0
  364. package/dist/traits/TransactionTrait.d.ts +121 -0
  365. package/dist/traits/botanical-lotus.cjs +54 -50
  366. package/dist/traits/botanical-lotus.js +2 -5
  367. package/dist/traits/control-loop.cjs +21 -0
  368. package/dist/traits/control-loop.d.ts +1 -0
  369. package/dist/traits/control-loop.js +4 -0
  370. package/dist/traits/engines/cloth-verlet.d.ts +65 -0
  371. package/dist/traits/engines/index.cjs +19 -19
  372. package/dist/traits/engines/index.d.ts +15 -275
  373. package/dist/traits/engines/index.js +3 -3
  374. package/dist/traits/engines/motion-data-schema.d.ts +119 -0
  375. package/dist/traits/engines/motion-matching.d.ts +102 -0
  376. package/dist/traits/engines/noise.d.ts +25 -0
  377. package/dist/traits/engines/onnx-adapter.d.ts +173 -0
  378. package/dist/traits/engines/onnx-motion-matching.d.ts +163 -0
  379. package/dist/traits/engines/pfnn-network.d.ts +92 -0
  380. package/dist/traits/engines/synthetic-walk-cycle.d.ts +38 -0
  381. package/dist/traits/engines/tensor-ops.d.ts +15 -0
  382. package/dist/traits/index.cjs +2789 -1259
  383. package/dist/traits/index.d.ts +35 -0
  384. package/dist/traits/index.js +1692 -411
  385. package/dist/traits/kinematic-chain.cjs +25 -0
  386. package/dist/traits/kinematic-chain.d.ts +1 -0
  387. package/dist/traits/kinematic-chain.js +4 -0
  388. package/dist/traits/sensor-sampling.cjs +33 -0
  389. package/dist/traits/sensor-sampling.d.ts +1 -0
  390. package/dist/traits/sensor-sampling.js +4 -0
  391. package/dist/traits/simulation-solver-factory.cjs +1 -1
  392. package/dist/traits/simulation-solver-factory.js +1 -1
  393. package/dist/traits/transaction.cjs +29 -0
  394. package/dist/traits/transaction.d.ts +1 -0
  395. package/dist/traits/transaction.js +4 -0
  396. package/dist/traits/webcam-gaze.cjs +1 -1
  397. package/dist/traits/webcam-gaze.js +1 -1
  398. package/dist/type-checker.cjs +7 -6
  399. package/dist/type-checker.js +5 -4
  400. package/dist/types/AdvancedTypeSystem.d.ts +489 -0
  401. package/dist/types/HoloScriptPlus.d.ts +810 -0
  402. package/dist/types/base.d.ts +248 -0
  403. package/dist/types.d.ts +799 -0
  404. package/dist/world/index.cjs +3 -4
  405. package/dist/world/index.js +3 -4
  406. package/dist/world-model/index.cjs +1 -1
  407. package/dist/world-model/index.js +1 -1
  408. package/dist/wot/index.cjs +1 -1
  409. package/dist/wot/index.js +1 -1
  410. package/package.json +80 -13
  411. package/dist/GLTFPipeline-3EJLL3TS.cjs +0 -38
  412. package/dist/GLTFPipeline-3OWJV2VK.js +0 -17
  413. package/dist/HoloScriptPlusParser-ADWRY5OS.cjs +0 -698
  414. package/dist/HoloScriptPlusParser-JLJDXHSC.js +0 -693
  415. package/dist/HoloScriptPlusParser-QCGFPWIL.cjs +0 -27
  416. package/dist/HoloScriptPlusParser-WENAFEFV.js +0 -10
  417. package/dist/HoloScriptRuntime-GGRVEU4T.cjs +0 -19
  418. package/dist/HoloScriptRuntime-GJK6VJPH.js +0 -10
  419. package/dist/chunk-22Q5A6RV.js +0 -979
  420. package/dist/chunk-4C57PR42.js +0 -468
  421. package/dist/chunk-4W5G5QVL.cjs +0 -847
  422. package/dist/chunk-5ET6L4NS.js +0 -487
  423. package/dist/chunk-C4GSLCHE.cjs +0 -7153
  424. package/dist/chunk-F2G6CWFT.js +0 -7089
  425. package/dist/chunk-G6PNEASF.cjs +0 -814
  426. package/dist/chunk-GTA4Q3A3.js +0 -1491
  427. package/dist/chunk-HCCQLAA4.cjs +0 -74
  428. package/dist/chunk-HFSVMKM3.cjs +0 -72
  429. package/dist/chunk-KAIVDEIG.cjs +0 -4539
  430. package/dist/chunk-KQU64CIX.cjs +0 -1508
  431. package/dist/chunk-MSYSQ2AJ.js +0 -4533
  432. package/dist/chunk-NHJLP37F.js +0 -70
  433. package/dist/chunk-NHYRRAGI.cjs +0 -490
  434. package/dist/chunk-OIQYIIO3.cjs +0 -473
  435. package/dist/chunk-OL46QLBJ.js +0 -61
  436. package/dist/chunk-SKZPC5AG.cjs +0 -984
  437. package/dist/chunk-SLHLXUMO.js +0 -445
  438. package/dist/chunk-UOIGFQXC.cjs +0 -9750
  439. package/dist/chunk-UOL6Y5TD.cjs +0 -759
  440. package/dist/chunk-UVFI7XIR.cjs +0 -452
  441. package/dist/chunk-VEPGBETF.js +0 -844
  442. package/dist/chunk-XQ5MWMP2.js +0 -756
  443. package/dist/chunk-XT6JY5W5.js +0 -9684
  444. package/dist/chunk-YRRAUB35.js +0 -811
  445. package/dist/compiler/GasOptimizationAnalyzer.d.ts +0 -73
  446. package/dist/compiler/NFTMarketplaceCompiler.d.ts +0 -23
  447. package/dist/compiler/ar.cjs +0 -23
  448. package/dist/compiler/ar.js +0 -11
  449. package/dist/compiler/babylon.cjs +0 -21
  450. package/dist/compiler/babylon.js +0 -15
  451. package/dist/compiler/multi-layer.cjs +0 -24
  452. package/dist/compiler/multi-layer.js +0 -15
  453. package/dist/compiler/playcanvas.cjs +0 -19
  454. package/dist/compiler/playcanvas.js +0 -13
  455. package/dist/compiler/r3f.cjs +0 -39
  456. package/dist/compiler/r3f.d.ts +0 -22
  457. package/dist/compiler/r3f.js +0 -17
  458. package/dist/compiler/vrr.cjs +0 -24
  459. package/dist/compiler/vrr.js +0 -12
  460. package/dist/parser/NFTMarketplaceTypes.d.ts +0 -191
  461. package/dist/playwright-3AT3AKTV.cjs +0 -98673
  462. package/dist/playwright-VZPDVUEQ.js +0 -98660
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkEBS32AJI_cjs = require('./chunk-EBS32AJI.cjs');
4
- var chunkGH6C2QGW_cjs = require('./chunk-GH6C2QGW.cjs');
5
- var chunkLODTHGST_cjs = require('./chunk-LODTHGST.cjs');
6
- var chunkHCCQLAA4_cjs = require('./chunk-HCCQLAA4.cjs');
3
+ var chunkTZCFKZ6Z_cjs = require('./chunk-TZCFKZ6Z.cjs');
4
+ var chunkQEDMOGF3_cjs = require('./chunk-QEDMOGF3.cjs');
5
+ var chunkZK7KX5CD_cjs = require('./chunk-ZK7KX5CD.cjs');
6
+ var chunkZHPMP447_cjs = require('./chunk-ZHPMP447.cjs');
7
7
  var ans = require('@holoscript/core-types/ans');
8
8
 
9
9
  // src/compiler/VisionOSTraitMap.ts
@@ -43,7 +43,7 @@ function listAllTraits() {
43
43
  return Object.keys(VISIONOS_TRAIT_MAP);
44
44
  }
45
45
  var PHYSICS_TRAIT_MAP, INTERACTION_TRAIT_MAP, AUDIO_TRAIT_MAP, AR_TRAIT_MAP, VISUAL_TRAIT_MAP, ACCESSIBILITY_TRAIT_MAP, UI_TRAIT_MAP, PORTAL_TRAIT_MAP, V43_TRAIT_MAP, VISIONOS_TRAIT_MAP;
46
- var init_VisionOSTraitMap = chunkHCCQLAA4_cjs.__esm({
46
+ var init_VisionOSTraitMap = chunkZHPMP447_cjs.__esm({
47
47
  "src/compiler/VisionOSTraitMap.ts"() {
48
48
  PHYSICS_TRAIT_MAP = {
49
49
  collidable: {
@@ -1692,17 +1692,17 @@ var init_VisionOSTraitMap = chunkHCCQLAA4_cjs.__esm({
1692
1692
 
1693
1693
  // src/compiler/VisionOSCompiler.ts
1694
1694
  var VisionOSCompiler_exports = {};
1695
- chunkHCCQLAA4_cjs.__export(VisionOSCompiler_exports, {
1695
+ chunkZHPMP447_cjs.__export(VisionOSCompiler_exports, {
1696
1696
  VisionOSCompiler: () => exports.VisionOSCompiler
1697
1697
  });
1698
1698
  exports.VisionOSCompiler = void 0;
1699
- var init_VisionOSCompiler = chunkHCCQLAA4_cjs.__esm({
1699
+ var init_VisionOSCompiler = chunkZHPMP447_cjs.__esm({
1700
1700
  "src/compiler/VisionOSCompiler.ts"() {
1701
1701
  init_VisionOSTraitMap();
1702
- chunkLODTHGST_cjs.init_CompilerBase();
1703
- chunkEBS32AJI_cjs.init_PlatformConditionalCompilerMixin();
1704
- chunkGH6C2QGW_cjs.init_DomainBlockCompilerMixin();
1705
- exports.VisionOSCompiler = class extends chunkLODTHGST_cjs.CompilerBase {
1702
+ chunkZK7KX5CD_cjs.init_CompilerBase();
1703
+ chunkTZCFKZ6Z_cjs.init_PlatformConditionalCompilerMixin();
1704
+ chunkQEDMOGF3_cjs.init_DomainBlockCompilerMixin();
1705
+ exports.VisionOSCompiler = class extends chunkZK7KX5CD_cjs.CompilerBase {
1706
1706
  constructor(options = {}) {
1707
1707
  super();
1708
1708
  this.compilerName = "VisionOSCompiler";
@@ -1719,7 +1719,7 @@ var init_VisionOSCompiler = chunkHCCQLAA4_cjs.__esm({
1719
1719
  }
1720
1720
  compile(composition, agentToken, outputPath) {
1721
1721
  this.validateCompilerAccess(agentToken, outputPath);
1722
- composition = chunkEBS32AJI_cjs.filterCompositionForPlatform(composition, "visionos");
1722
+ composition = chunkTZCFKZ6Z_cjs.filterCompositionForPlatform(composition, "visionos");
1723
1723
  this.lines = [];
1724
1724
  this.indentLevel = 0;
1725
1725
  this.emit("// Auto-generated by HoloScript VisionOSCompiler");
@@ -1732,10 +1732,14 @@ var init_VisionOSCompiler = chunkHCCQLAA4_cjs.__esm({
1732
1732
  this.emit("import RealityKit");
1733
1733
  this.emit("import RealityKitContent");
1734
1734
  const allTraits = this.collectAllTraits(composition);
1735
+ const sharePlayConfig = this.getSharePlayConfig(composition);
1735
1736
  const requiredImports = getRequiredImports(allTraits);
1736
1737
  for (const imp of requiredImports) {
1737
1738
  this.emit(`import ${imp}`);
1738
1739
  }
1740
+ if (sharePlayConfig && !requiredImports.includes("GroupActivities")) {
1741
+ this.emit("import GroupActivities");
1742
+ }
1739
1743
  if (composition.audio?.length && !requiredImports.includes("AVFoundation")) {
1740
1744
  this.emit("import AVFoundation");
1741
1745
  }
@@ -1744,6 +1748,12 @@ var init_VisionOSCompiler = chunkHCCQLAA4_cjs.__esm({
1744
1748
  this.emit(`// Requires visionOS ${minVersion}+`);
1745
1749
  }
1746
1750
  this.emit("");
1751
+ const volumetricWindows = this.collectVolumetricWindows(composition);
1752
+ const ornaments = this.collectOrnaments(composition);
1753
+ if (volumetricWindows.length > 0) {
1754
+ this.compileVolumetricWindowDescriptorType();
1755
+ this.emit("");
1756
+ }
1747
1757
  if (composition.state) {
1748
1758
  this.emit("@Observable");
1749
1759
  this.emit(`class ${this.options.structName}State {`);
@@ -1825,6 +1835,12 @@ var init_VisionOSCompiler = chunkHCCQLAA4_cjs.__esm({
1825
1835
  this.compileTransition(tr);
1826
1836
  }
1827
1837
  }
1838
+ if (volumetricWindows.length > 0) {
1839
+ this.compileVolumetricWindowScenes(volumetricWindows, ornaments);
1840
+ }
1841
+ if (sharePlayConfig) {
1842
+ this.compileSharePlaySupport(sharePlayConfig);
1843
+ }
1828
1844
  this.indentLevel--;
1829
1845
  this.emit("}");
1830
1846
  if (composition.effects) {
@@ -1840,31 +1856,31 @@ var init_VisionOSCompiler = chunkHCCQLAA4_cjs.__esm({
1840
1856
  this.emit("");
1841
1857
  this.emit("// === v4.2 Domain Blocks ===");
1842
1858
  let blockIdx = 0;
1843
- const compiled = chunkGH6C2QGW_cjs.compileDomainBlocks(
1859
+ const compiled = chunkQEDMOGF3_cjs.compileDomainBlocks(
1844
1860
  domainBlocks,
1845
1861
  {
1846
1862
  material: (block) => {
1847
- const mat = chunkGH6C2QGW_cjs.compileMaterialBlock(block);
1848
- return chunkGH6C2QGW_cjs.materialToVisionOS(mat, `db${blockIdx++}`);
1863
+ const mat = chunkQEDMOGF3_cjs.compileMaterialBlock(block);
1864
+ return chunkQEDMOGF3_cjs.materialToVisionOS(mat, `db${blockIdx++}`);
1849
1865
  },
1850
1866
  physics: (block) => {
1851
- const phys = chunkGH6C2QGW_cjs.compilePhysicsBlock(block);
1852
- return chunkGH6C2QGW_cjs.physicsToVisionOS(phys, `db${blockIdx++}`);
1867
+ const phys = chunkQEDMOGF3_cjs.compilePhysicsBlock(block);
1868
+ return chunkQEDMOGF3_cjs.physicsToVisionOS(phys, `db${blockIdx++}`);
1853
1869
  },
1854
1870
  vfx: (block) => {
1855
- const ps = chunkGH6C2QGW_cjs.compileParticleBlock(block);
1856
- return chunkGH6C2QGW_cjs.particlesToVisionOS(ps, `db${blockIdx++}`);
1871
+ const ps = chunkQEDMOGF3_cjs.compileParticleBlock(block);
1872
+ return chunkQEDMOGF3_cjs.particlesToVisionOS(ps, `db${blockIdx++}`);
1857
1873
  },
1858
1874
  postfx: (block) => {
1859
- const pp = chunkGH6C2QGW_cjs.compilePostProcessingBlock(block);
1875
+ const pp = chunkQEDMOGF3_cjs.compilePostProcessingBlock(block);
1860
1876
  return `// Post-Processing: ${pp.keyword} \u2014 configure via RealityKit RenderCallbacks`;
1861
1877
  },
1862
1878
  audio: (block) => {
1863
- const audio = chunkGH6C2QGW_cjs.compileAudioSourceBlock(block);
1864
- return chunkGH6C2QGW_cjs.audioSourceToVisionOS(audio, `db${blockIdx++}`);
1879
+ const audio = chunkQEDMOGF3_cjs.compileAudioSourceBlock(block);
1880
+ return chunkQEDMOGF3_cjs.audioSourceToVisionOS(audio, `db${blockIdx++}`);
1865
1881
  },
1866
1882
  weather: (block) => {
1867
- const weather = chunkGH6C2QGW_cjs.compileWeatherBlock(block);
1883
+ const weather = chunkQEDMOGF3_cjs.compileWeatherBlock(block);
1868
1884
  const w = weather;
1869
1885
  const layers = w.layers.map((l) => `// Layer: ${l.type} \u2014 ${JSON.stringify(l.properties)}`).join("\n");
1870
1886
  return `// Weather: ${w.keyword} "${w.name || ""}" \u2014 implement via custom RealityKit particles
@@ -1962,9 +1978,11 @@ ${layers}`;
1962
1978
  return;
1963
1979
  }
1964
1980
  const varName = this.sanitizeName(obj.name);
1965
- const meshType = this.findObjProp(obj, "mesh") || this.findObjProp(obj, "type") || "cube";
1981
+ const geometry = this.findObjProp(obj, "geometry");
1982
+ const modelSource = this.getModelSource(obj, geometry);
1983
+ const meshType = this.findObjProp(obj, "mesh") || this.findObjProp(obj, "type") || geometry || "cube";
1966
1984
  const isText = meshType === "text";
1967
- const isModel = !!this.findObjProp(obj, "model") || !!this.findObjProp(obj, "src");
1985
+ const isModel = !!modelSource || meshType === "model";
1968
1986
  const isLight = ["directional", "point", "spot", "hemisphere", "ambient", "area"].includes(
1969
1987
  meshType
1970
1988
  );
@@ -1994,11 +2012,15 @@ ${layers}`;
1994
2012
  );
1995
2013
  }
1996
2014
  } else if (isModel) {
1997
- const src = this.findObjProp(obj, "model") || this.findObjProp(obj, "src");
1998
- this.emit(`let ${varName} = try! await Entity(named: "${src}", in: realityKitContentBundle)`);
2015
+ const src = modelSource ?? "MissingModel";
2016
+ this.emit(`let ${varName}Mesh = MeshResource.generateBox(size: 0.1) // collision proxy`);
2017
+ this.emit(
2018
+ `let ${varName} = try! await ModelEntity(named: "${this.escapeStringValue(String(src), "Swift")}", in: realityKitContentBundle)`
2019
+ );
1999
2020
  this.emit(`${varName}.name = "${this.escapeStringValue(obj.name, "Swift")}"`);
2000
2021
  } else if (isSparkles) {
2001
2022
  this.emit(`// Sparkles: use ParticleEmitterComponent in visionOS 2.0+`);
2023
+ this.emit(`let ${varName}Mesh = MeshResource.generateBox(size: 0.1) // interaction proxy`);
2002
2024
  this.emit(`let ${varName} = Entity()`);
2003
2025
  this.emit(`${varName}.name = "${this.escapeStringValue(obj.name, "Swift")}"`);
2004
2026
  } else {
@@ -2053,16 +2075,11 @@ ${layers}`;
2053
2075
  );
2054
2076
  }
2055
2077
  this.emit(`${varName}.name = "${this.escapeStringValue(obj.name, "Swift")}"`);
2056
- if (obj.traits) {
2057
- for (const trait of obj.traits) {
2058
- const config = trait.config || {};
2059
- const traitCode = generateTraitCode(trait.name, varName, config);
2060
- for (const line of traitCode) {
2061
- if (line) this.emit(line);
2062
- }
2063
- }
2064
- }
2065
2078
  }
2079
+ this.compileObjectTraits(obj, varName);
2080
+ this.compileVolumetricWindowMetadata(obj, varName);
2081
+ this.compileObjectAnimations(obj, varName);
2082
+ this.compileObjectEventHandlers(obj, varName);
2066
2083
  const pos = this.findObjProp(obj, "position");
2067
2084
  if (pos) this.emit(`${varName}.position = ${this.toSIMD3(pos)}`);
2068
2085
  const rot = this.findObjProp(obj, "rotation");
@@ -2196,6 +2213,212 @@ ${layers}`;
2196
2213
  this.indentLevel--;
2197
2214
  this.emit("}");
2198
2215
  }
2216
+ compileObjectTraits(obj, varName) {
2217
+ if (!obj.traits) return;
2218
+ for (const trait of obj.traits) {
2219
+ const config = trait.config || {};
2220
+ const traitCode = generateTraitCode(trait.name, varName, config);
2221
+ for (const line of traitCode) {
2222
+ if (line) this.emit(line);
2223
+ }
2224
+ }
2225
+ }
2226
+ compileVolumetricWindowDescriptorType() {
2227
+ this.emit("struct VolumetricWindowDescriptor {");
2228
+ this.indentLevel++;
2229
+ this.emit("let id: String");
2230
+ this.emit("let type: String");
2231
+ this.emit("let minSize: CGSize?");
2232
+ this.emit("let maxSize: CGSize?");
2233
+ this.emit("let cornerRadius: CGFloat?");
2234
+ this.emit("let glassBackground: Bool");
2235
+ this.emit("let opacity: Double");
2236
+ this.indentLevel--;
2237
+ this.emit("}");
2238
+ }
2239
+ compileVolumetricWindowMetadata(obj, varName) {
2240
+ const descriptor = this.getVolumetricWindowDescriptor(obj);
2241
+ if (!descriptor) return;
2242
+ this.emit(`let ${varName}VolumetricWindow = VolumetricWindowDescriptor(`);
2243
+ this.indentLevel++;
2244
+ this.emit(`id: "${this.escapeStringValue(descriptor.objectName, "Swift")}",`);
2245
+ this.emit(`type: "${this.escapeStringValue(descriptor.type, "Swift")}",`);
2246
+ this.emit(`minSize: ${this.toCGSizeValue(descriptor.minSize)}, // min_size`);
2247
+ this.emit(`maxSize: ${this.toCGSizeValue(descriptor.maxSize)}, // max_size`);
2248
+ this.emit(`cornerRadius: ${this.toOptionalNumber(descriptor.cornerRadius)}, // corner_radius`);
2249
+ this.emit(
2250
+ `glassBackground: ${descriptor.glassBackground ? "true" : "false"}, // glass_background`
2251
+ );
2252
+ this.emit(`opacity: ${descriptor.opacity} // opacity`);
2253
+ this.indentLevel--;
2254
+ this.emit(")");
2255
+ this.emit(`_ = ${varName}VolumetricWindow`);
2256
+ this.emit(`${varName}.components.set(OpacityComponent(opacity: ${descriptor.opacity}))`);
2257
+ }
2258
+ compileVolumetricWindowScenes(windows, ornaments) {
2259
+ this.emit("");
2260
+ this.emit("@SceneBuilder");
2261
+ this.emit("static func windowScenes() -> some Scene {");
2262
+ this.indentLevel++;
2263
+ for (const window of windows) {
2264
+ const windowOrnaments = ornaments.filter(
2265
+ (ornament) => ornament.attachTo === window.objectName
2266
+ );
2267
+ this.emit(`WindowGroup(id: "${this.escapeStringValue(window.objectName, "Swift")}") {`);
2268
+ this.indentLevel++;
2269
+ this.emit("Self()");
2270
+ if (window.minSize || window.maxSize) {
2271
+ this.emit(`.frame(${this.toFrameArguments(window)})`);
2272
+ }
2273
+ if (window.cornerRadius !== void 0) {
2274
+ this.emit(`.clipShape(RoundedRectangle(cornerRadius: ${window.cornerRadius}))`);
2275
+ }
2276
+ if (window.glassBackground) {
2277
+ this.emit(".glassBackgroundEffect()");
2278
+ }
2279
+ if (window.opacity !== 1) {
2280
+ this.emit(`.opacity(${window.opacity})`);
2281
+ }
2282
+ for (const ornament of windowOrnaments) {
2283
+ this.compileOrnamentModifier(ornament);
2284
+ }
2285
+ this.indentLevel--;
2286
+ this.emit("}");
2287
+ this.emit(".windowStyle(.volumetric)");
2288
+ this.emit(
2289
+ `.defaultSize(width: ${window.scale[0]}, height: ${window.scale[1]}, depth: ${window.scale[2]}, in: .meters)`
2290
+ );
2291
+ }
2292
+ this.indentLevel--;
2293
+ this.emit("}");
2294
+ }
2295
+ compileOrnamentModifier(ornament) {
2296
+ const anchor = this.toAttachmentAnchor(ornament.position);
2297
+ const alignment = this.toContentAlignment(ornament.position);
2298
+ this.emit(
2299
+ `.ornament(visibility: .visible, attachmentAnchor: ${anchor}, contentAlignment: ${alignment}) {`
2300
+ );
2301
+ this.indentLevel++;
2302
+ this.compileOrnamentContent(ornament);
2303
+ this.emit(`.offset(x: ${ornament.offset[0]}, y: ${ornament.offset[1]})`);
2304
+ this.indentLevel--;
2305
+ this.emit("}");
2306
+ }
2307
+ compileOrnamentContent(ornament) {
2308
+ const uiType = String(ornament.ui.type ?? "button");
2309
+ if (uiType === "toolbar") {
2310
+ const items = Array.isArray(ornament.ui.items) ? ornament.ui.items : [];
2311
+ this.emit("HStack {");
2312
+ this.indentLevel++;
2313
+ for (const item of items) {
2314
+ this.emit(
2315
+ `Button { } label: { Image(systemName: "${this.escapeStringValue(String(item), "Swift")}") }`
2316
+ );
2317
+ }
2318
+ this.indentLevel--;
2319
+ this.emit("}");
2320
+ if (ornament.ui.style === "glass") {
2321
+ this.emit(".glassBackgroundEffect()");
2322
+ }
2323
+ return;
2324
+ }
2325
+ const icon = String(ornament.ui.icon ?? "circle");
2326
+ this.emit(
2327
+ `Button { } label: { Image(systemName: "${this.escapeStringValue(icon, "Swift")}") }`
2328
+ );
2329
+ this.emit(".glassBackgroundEffect()");
2330
+ }
2331
+ compileObjectAnimations(obj, varName) {
2332
+ const animations = this.getObjectDirectives(obj, "animation");
2333
+ for (const animation of animations) {
2334
+ const body = this.asRecord(animation.body);
2335
+ const name = this.sanitizeName(String(animation.name ?? "Animation"));
2336
+ const property = String(body?.property ?? "transform");
2337
+ const from = this.toOptionalNumeric(body?.from) ?? 0;
2338
+ const to = this.toOptionalNumeric(body?.to) ?? 0;
2339
+ const durationMs = this.toOptionalNumeric(body?.duration) ?? 1e3;
2340
+ const durationSeconds = durationMs / 1e3;
2341
+ const axis = property.endsWith(".x") ? "1, 0, 0" : property.endsWith(".z") ? "0, 0, 1" : "0, 1, 0";
2342
+ const animationVar = `${varName}${name}Animation`;
2343
+ this.emit(
2344
+ `// animation "${this.escapeStringValue(String(animation.name ?? name), "Swift")}" -> RealityKit AnimationResource`
2345
+ );
2346
+ this.emit(`let ${animationVar} = FromToByAnimation<Transform>(`);
2347
+ this.indentLevel++;
2348
+ this.emit(`name: "${this.escapeStringValue(String(animation.name ?? name), "Swift")}",`);
2349
+ this.emit(
2350
+ `from: Transform(rotation: simd_quatf(angle: Float(${from}) * .pi / 180, axis: SIMD3<Float>(${axis}))), // ${property} from: ${from}`
2351
+ );
2352
+ this.emit(
2353
+ `to: Transform(rotation: simd_quatf(angle: Float(${to}) * .pi / 180, axis: SIMD3<Float>(${axis}))), // to: ${to}`
2354
+ );
2355
+ this.emit(`duration: ${durationSeconds},`);
2356
+ this.emit("bindTarget: .transform");
2357
+ this.indentLevel--;
2358
+ this.emit(")");
2359
+ this.emit(
2360
+ `if let ${animationVar}Resource = try? AnimationResource.generate(with: ${animationVar}) {`
2361
+ );
2362
+ this.indentLevel++;
2363
+ this.emit(`${varName}.playAnimation(${animationVar}Resource.repeat())`);
2364
+ this.indentLevel--;
2365
+ this.emit("}");
2366
+ }
2367
+ }
2368
+ compileObjectEventHandlers(obj, varName) {
2369
+ const eventNames = (obj.properties ?? []).map((property) => property.key).filter((key) => key.startsWith("on_"));
2370
+ if (eventNames.length === 0) return;
2371
+ this.emit(
2372
+ `let ${varName}EventHandlers = [${eventNames.map((name) => `"${name}"`).join(", ")}]`
2373
+ );
2374
+ this.emit(`_ = ${varName}EventHandlers`);
2375
+ this.emit(`${varName}.components.set(InputTargetComponent())`);
2376
+ for (const eventName of eventNames) {
2377
+ this.emit(`// ${eventName} wired through targeted SwiftUI/RealityView gestures`);
2378
+ if (eventName === "on_gaze_tap") {
2379
+ const target = this.findObjProp(obj, "attach_to");
2380
+ if (typeof target === "string") {
2381
+ this.emit(`// close_window("${this.escapeStringValue(target, "Swift")}")`);
2382
+ this.emit(`// dismissWindow(id: "${this.escapeStringValue(target, "Swift")}")`);
2383
+ }
2384
+ }
2385
+ }
2386
+ }
2387
+ compileSharePlaySupport(config) {
2388
+ const activityType = String(config.activity_type ?? "holoscript_activity");
2389
+ const sync = this.asRecord(config.sync);
2390
+ const syncKeys = sync ? Object.keys(sync).filter((key) => sync[key] === true) : [];
2391
+ const syncKeyList = syncKeys.map((key) => `"${this.escapeStringValue(key, "Swift")}"`).join(", ");
2392
+ this.emit("");
2393
+ this.emit(`struct ${this.options.structName}GroupActivity: GroupActivity {`);
2394
+ this.indentLevel++;
2395
+ this.emit("var metadata: GroupActivityMetadata {");
2396
+ this.indentLevel++;
2397
+ this.emit("var metadata = GroupActivityMetadata()");
2398
+ this.emit(`metadata.title = "${this.escapeStringValue(activityType, "Swift")}"`);
2399
+ this.emit("metadata.type = .generic");
2400
+ this.emit("return metadata");
2401
+ this.indentLevel--;
2402
+ this.emit("}");
2403
+ this.indentLevel--;
2404
+ this.emit("}");
2405
+ this.emit(`static let sharePlaySyncKeys = [${syncKeyList}] // sync`);
2406
+ this.emit("static func activateSharePlay() {");
2407
+ this.indentLevel++;
2408
+ this.emit("Task {");
2409
+ this.indentLevel++;
2410
+ this.emit(`for await session in ${this.options.structName}GroupActivity.sessions() {`);
2411
+ this.indentLevel++;
2412
+ this.emit("await session.join()");
2413
+ this.emit("let messenger = GroupSessionMessenger(session: session)");
2414
+ this.emit("_ = messenger");
2415
+ this.indentLevel--;
2416
+ this.emit("}");
2417
+ this.indentLevel--;
2418
+ this.emit("}");
2419
+ this.indentLevel--;
2420
+ this.emit("}");
2421
+ }
2199
2422
  compileEffects(effects) {
2200
2423
  this.emit("// === Post-Processing Notes ===");
2201
2424
  this.emit("// visionOS uses system-level rendering; post-processing is limited.");
@@ -2379,6 +2602,36 @@ ${layers}`;
2379
2602
  });
2380
2603
  return traits;
2381
2604
  }
2605
+ collectVolumetricWindows(composition) {
2606
+ const windows = [];
2607
+ const collectFromObject = (obj) => {
2608
+ const descriptor = this.getVolumetricWindowDescriptor(obj);
2609
+ if (descriptor) {
2610
+ windows.push(descriptor);
2611
+ }
2612
+ obj.children?.forEach(collectFromObject);
2613
+ };
2614
+ composition.objects?.forEach(collectFromObject);
2615
+ composition.spatialGroups?.forEach((group) => {
2616
+ group.objects.forEach(collectFromObject);
2617
+ });
2618
+ return windows;
2619
+ }
2620
+ collectOrnaments(composition) {
2621
+ const ornaments = [];
2622
+ const collectFromObject = (obj) => {
2623
+ const descriptor = this.getOrnamentDescriptor(obj);
2624
+ if (descriptor) {
2625
+ ornaments.push(descriptor);
2626
+ }
2627
+ obj.children?.forEach(collectFromObject);
2628
+ };
2629
+ composition.objects?.forEach(collectFromObject);
2630
+ composition.spatialGroups?.forEach((group) => {
2631
+ group.objects.forEach(collectFromObject);
2632
+ });
2633
+ return ornaments;
2634
+ }
2382
2635
  // ─── Helpers ───────────────────────────────────────────────────────────
2383
2636
  emit(line) {
2384
2637
  this.lines.push(this.options.indent.repeat(this.indentLevel) + line);
@@ -2419,6 +2672,120 @@ ${layers}`;
2419
2672
  findObjProp(obj, key) {
2420
2673
  return obj.properties?.find((p) => p.key === key)?.value;
2421
2674
  }
2675
+ getVolumetricWindowDescriptor(obj) {
2676
+ const windowConfig = this.findObjProp(obj, "window");
2677
+ const hasWindowTrait = obj.traits?.some(
2678
+ (trait) => trait.name === "window" || trait.name === "volumetric_window"
2679
+ );
2680
+ if (!hasWindowTrait && !windowConfig) return void 0;
2681
+ const config = this.asRecord(windowConfig);
2682
+ const type = String(config?.type ?? "volumetric");
2683
+ if (type !== "volumetric") return void 0;
2684
+ const scale = this.toNumberTuple3(this.findObjProp(obj, "scale"), [0.6, 0.4, 0.12]);
2685
+ return {
2686
+ objectName: obj.name,
2687
+ type,
2688
+ scale,
2689
+ minSize: this.toNumberTuple2(config?.min_size),
2690
+ maxSize: this.toNumberTuple2(config?.max_size),
2691
+ cornerRadius: this.toOptionalNumeric(config?.corner_radius),
2692
+ glassBackground: Boolean(config?.glass_background ?? false),
2693
+ opacity: this.toOptionalNumeric(config?.opacity) ?? 1
2694
+ };
2695
+ }
2696
+ getOrnamentDescriptor(obj) {
2697
+ const hasOrnamentTrait = obj.traits?.some((trait) => trait.name === "ornament");
2698
+ const attachTo = this.findObjProp(obj, "attach_to");
2699
+ if (!hasOrnamentTrait || typeof attachTo !== "string") return void 0;
2700
+ return {
2701
+ objectName: obj.name,
2702
+ attachTo,
2703
+ position: String(this.findObjProp(obj, "position") ?? "bottom"),
2704
+ offset: this.toNumberTuple3(this.findObjProp(obj, "offset"), [0, 0, 0]),
2705
+ ui: this.asRecord(this.findObjProp(obj, "ui")) ?? {}
2706
+ };
2707
+ }
2708
+ getSharePlayConfig(composition) {
2709
+ return this.asRecord(composition.metadata?.shareplay);
2710
+ }
2711
+ getModelSource(obj, geometry) {
2712
+ const explicit = this.findObjProp(obj, "model") || this.findObjProp(obj, "src");
2713
+ if (explicit) return explicit;
2714
+ if (typeof geometry === "string" && /\.(usd|usdz|reality)$/i.test(geometry)) {
2715
+ return geometry;
2716
+ }
2717
+ return void 0;
2718
+ }
2719
+ getObjectDirectives(obj, type) {
2720
+ if (!Array.isArray(obj.directives)) return [];
2721
+ return obj.directives.filter(
2722
+ (directive) => Boolean(directive && typeof directive === "object" && "type" in directive)
2723
+ ).filter((directive) => directive.type === type);
2724
+ }
2725
+ asRecord(value) {
2726
+ if (!value || typeof value !== "object" || Array.isArray(value) || "__bind" in value) {
2727
+ return void 0;
2728
+ }
2729
+ return value;
2730
+ }
2731
+ toOptionalNumeric(value) {
2732
+ return typeof value === "number" ? value : void 0;
2733
+ }
2734
+ toNumberTuple2(value) {
2735
+ if (Array.isArray(value) && value.length >= 2 && typeof value[0] === "number" && typeof value[1] === "number") {
2736
+ return [value[0], value[1]];
2737
+ }
2738
+ return void 0;
2739
+ }
2740
+ toNumberTuple3(value, fallback) {
2741
+ if (Array.isArray(value) && value.length >= 3 && typeof value[0] === "number" && typeof value[1] === "number" && typeof value[2] === "number") {
2742
+ return [value[0], value[1], value[2]];
2743
+ }
2744
+ return fallback;
2745
+ }
2746
+ toCGSizeValue(size) {
2747
+ if (!size) return "nil";
2748
+ return `CGSize(width: ${size[0]}, height: ${size[1]})`;
2749
+ }
2750
+ toOptionalNumber(value) {
2751
+ return value === void 0 ? "nil" : String(value);
2752
+ }
2753
+ toFrameArguments(window) {
2754
+ const args = [];
2755
+ if (window.minSize) {
2756
+ args.push(`minWidth: ${window.minSize[0]}`, `minHeight: ${window.minSize[1]}`);
2757
+ }
2758
+ if (window.maxSize) {
2759
+ args.push(`maxWidth: ${window.maxSize[0]}`, `maxHeight: ${window.maxSize[1]}`);
2760
+ }
2761
+ return args.join(", ");
2762
+ }
2763
+ toAttachmentAnchor(position) {
2764
+ const anchors = {
2765
+ top: ".scene(.top)",
2766
+ bottom: ".scene(.bottom)",
2767
+ leading: ".scene(.leading)",
2768
+ trailing: ".scene(.trailing)",
2769
+ "top-left": ".scene(.topLeading)",
2770
+ "top-right": ".scene(.topTrailing)",
2771
+ "bottom-left": ".scene(.bottomLeading)",
2772
+ "bottom-right": ".scene(.bottomTrailing)"
2773
+ };
2774
+ return anchors[position] ?? ".scene(.bottom)";
2775
+ }
2776
+ toContentAlignment(position) {
2777
+ const alignments = {
2778
+ top: ".top",
2779
+ bottom: ".bottom",
2780
+ leading: ".leading",
2781
+ trailing: ".trailing",
2782
+ "top-left": ".topLeading",
2783
+ "top-right": ".topTrailing",
2784
+ "bottom-left": ".bottomLeading",
2785
+ "bottom-right": ".bottomTrailing"
2786
+ };
2787
+ return alignments[position] ?? ".bottom";
2788
+ }
2422
2789
  };
2423
2790
  }
2424
2791
  });
@@ -2429,5 +2796,5 @@ exports.getTraitMapping = getTraitMapping;
2429
2796
  exports.init_VisionOSCompiler = init_VisionOSCompiler;
2430
2797
  exports.init_VisionOSTraitMap = init_VisionOSTraitMap;
2431
2798
  exports.listAllTraits = listAllTraits;
2432
- //# sourceMappingURL=chunk-ULMSSHCJ.cjs.map
2433
- //# sourceMappingURL=chunk-ULMSSHCJ.cjs.map
2799
+ //# sourceMappingURL=chunk-LMB555QB.cjs.map
2800
+ //# sourceMappingURL=chunk-LMB555QB.cjs.map
@@ -1,4 +1,4 @@
1
- import { __esm } from './chunk-OL46QLBJ.js';
1
+ import { __esm } from './chunk-W4GABFCR.js';
2
2
 
3
3
  // src/traits/constants/mobile/npu-scene.ts
4
4
  var NPU_SCENE_TRAITS, NPU_SCENE_DEFAULTS;
@@ -122,5 +122,5 @@ var init_portal_ar = __esm({
122
122
  });
123
123
 
124
124
  export { CAMERA_HAND_TRACKING_TRAITS, NPU_SCENE_DEFAULTS, NPU_SCENE_TRAITS, PORTAL_AR_TRAITS, init_camera_hand_tracking, init_npu_scene, init_portal_ar };
125
- //# sourceMappingURL=chunk-CBJY23VL.js.map
126
- //# sourceMappingURL=chunk-CBJY23VL.js.map
125
+ //# sourceMappingURL=chunk-MD4IVS42.js.map
126
+ //# sourceMappingURL=chunk-MD4IVS42.js.map