@holoscript/core 8.0.8 → 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 +113 -46
  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
@@ -0,0 +1,799 @@
1
+ /**
2
+ * @holoscript/core Types
3
+ *
4
+ * Core type definitions for HoloScript AST and runtime
5
+ */
6
+ import type { HSPlusDirective, HSPlusAST, ASTProgram, HSPlusCompileResult } from './types/AdvancedTypeSystem';
7
+ import type { HSPlusNode, Vector3, Transform } from './types/HoloScriptPlus';
8
+ import type { VRTraitName, ASTNode, SpatialPosition, HologramShape, HologramProperties, TraitBehavior, GameAbilityNode, DamageFormula, AbilityEventBlock, GameLootTableNode, LootTableEntry, GameSpawnNode, GameAuthorityNode, GameEventBlockNode, ReactionCategory, MovementStatementNode, ActionDeclNode, ActionClause } from './types/base';
9
+ export type { HSPlusDirective, HSPlusAST, ASTProgram, HSPlusCompileResult, HSPlusNode };
10
+ export type { VRTraitName, ASTNode, SpatialPosition, HologramShape, HologramProperties, TraitBehavior, GameAbilityNode, DamageFormula, AbilityEventBlock, GameLootTableNode, LootTableEntry, GameSpawnNode, GameAuthorityNode, GameEventBlockNode, ReactionCategory, MovementStatementNode, ActionDeclNode, ActionClause, };
11
+ export type { Vector3, Transform };
12
+ export interface Position2D {
13
+ x: number;
14
+ y: number;
15
+ }
16
+ export interface Size2D {
17
+ width: number;
18
+ height: number;
19
+ }
20
+ export interface VoiceCommand {
21
+ command: string;
22
+ confidence: number;
23
+ timestamp: number;
24
+ spatialContext?: SpatialPosition;
25
+ }
26
+ export type GestureType = 'pinch' | 'swipe' | 'rotate' | 'grab' | 'release';
27
+ export type HandType = 'left' | 'right';
28
+ export interface GestureData {
29
+ type: GestureType;
30
+ position: SpatialPosition;
31
+ direction?: SpatialPosition;
32
+ magnitude: number;
33
+ hand: HandType;
34
+ }
35
+ export interface Animation {
36
+ target: string;
37
+ property: string;
38
+ from: number;
39
+ to: number;
40
+ duration: number;
41
+ startTime: number;
42
+ easing: string;
43
+ loop?: boolean;
44
+ yoyo?: boolean;
45
+ }
46
+ export type HoloScriptValue = string | number | boolean | null | undefined | HoloScriptValue[] | {
47
+ [key: string]: HoloScriptValue;
48
+ } | ASTNode | SpreadExpression | NullCoalescingAssignment | MatchExpression | Function | SpatialPosition | HologramProperties | Animation;
49
+ export interface MatchExpression extends ASTNode {
50
+ type: 'match';
51
+ subject: string | HoloScriptValue;
52
+ cases: MatchCase[];
53
+ hasWildcard?: boolean;
54
+ sourceLocation?: {
55
+ line: number;
56
+ column: number;
57
+ };
58
+ }
59
+ export interface MatchCase extends ASTNode {
60
+ type: 'match-case';
61
+ pattern: MatchPattern;
62
+ body: ASTNode[] | HoloScriptValue;
63
+ guard?: string;
64
+ }
65
+ export type MatchPattern = LiteralPattern | WildcardPattern | BindingPattern | DestructuringPattern;
66
+ export interface LiteralPattern {
67
+ type: 'literal-pattern';
68
+ value: string | number | boolean;
69
+ }
70
+ export interface WildcardPattern {
71
+ type: 'wildcard-pattern';
72
+ symbol: '_';
73
+ }
74
+ export interface BindingPattern {
75
+ type: 'binding-pattern';
76
+ name: string;
77
+ }
78
+ export interface DestructuringPattern {
79
+ type: 'destructuring-pattern';
80
+ kind: 'object' | 'array';
81
+ properties: Array<{
82
+ key: string;
83
+ pattern: MatchPattern;
84
+ }>;
85
+ }
86
+ export type { VRHand } from './types/HoloScriptPlus';
87
+ export interface TraitConstraint {
88
+ type: 'requires' | 'conflicts' | 'oneof';
89
+ source: string;
90
+ targets: string[];
91
+ message?: string;
92
+ suggestion?: string;
93
+ }
94
+ /**
95
+ * Describes a match expression for exhaustiveness checking (HSP021).
96
+ * Used with HoloScriptTypeChecker.checkExhaustiveMatch().
97
+ */
98
+ export interface ExhaustiveMatchCheck {
99
+ /** The type alias name being matched (e.g. 'State') */
100
+ typeName: string;
101
+ /** The patterns covered in this match expression */
102
+ coveredPatterns: string[];
103
+ /** Line number for error reporting */
104
+ line?: number;
105
+ /** Column for error reporting */
106
+ column?: number;
107
+ }
108
+ export type TypeAliasKind = 'simple' | 'union' | 'generic';
109
+ export interface TypeAliasDeclaration {
110
+ name: string;
111
+ kind: TypeAliasKind;
112
+ /** Expanded type string (e.g. "string | number") */
113
+ definition: string;
114
+ /** Generic type parameters, e.g. ["T"] for List<T> */
115
+ typeParams?: string[];
116
+ line?: number;
117
+ }
118
+ export type LifecycleHook = 'on_mount' | 'on_unmount' | 'on_update' | 'on_data_update';
119
+ export type VRLifecycleHook = 'on_grab' | 'on_release' | 'on_hover_enter' | 'on_hover_exit' | 'on_point_enter' | 'on_point_exit' | 'on_collision' | 'on_trigger_enter' | 'on_trigger_exit' | 'on_click' | 'on_double_click';
120
+ export type ControllerHook = 'on_controller_button' | 'on_trigger_hold' | 'on_trigger_release' | 'on_grip_hold' | 'on_grip_release';
121
+ export type EnvironmentHook = 'on_plane_detected' | 'on_plane_lost' | 'on_plane_updated' | 'on_mesh_detected' | 'on_mesh_updated' | 'on_anchor_created' | 'on_anchor_resolved' | 'on_anchor_lost' | 'on_anchor_shared' | 'on_light_estimated' | 'on_occlusion_updated';
122
+ export type InputModalityHook = 'on_gaze_enter' | 'on_gaze_exit' | 'on_gaze_dwell' | 'on_hand_gesture' | 'on_hand_pinch' | 'on_hand_lost' | 'on_body_pose_update' | 'on_face_expression' | 'on_controller_vibrate' | 'on_accessory_input';
123
+ export type AccessibilityHook = 'on_accessibility_announce' | 'on_subtitle_display' | 'on_magnify' | 'on_contrast_change' | 'on_motion_reduce' | 'on_screen_reader_focus' | 'on_sonification_update';
124
+ export type VolumetricHook = 'on_splat_loaded' | 'on_nerf_ready' | 'on_volume_frame' | 'on_point_cloud_loaded' | 'on_capture_complete';
125
+ export type ComputeHook = 'on_compute_complete' | 'on_buffer_ready' | 'on_gpu_error';
126
+ export type DigitalTwinHook = 'on_sensor_update' | 'on_data_change' | 'on_alert_triggered' | 'on_twin_sync' | 'on_heatmap_update';
127
+ export type AgentHook = 'on_goal_completed' | 'on_goal_failed' | 'on_perception_change' | 'on_emotion_shift' | 'on_faction_change' | 'on_patrol_waypoint' | 'on_llm_response' | 'on_memory_recalled' | 'on_dialogue_start' | 'on_dialogue_end';
128
+ export type SpatialAudioHook = 'on_reverb_enter' | 'on_reverb_exit' | 'on_audio_occluded' | 'on_audio_portal_enter';
129
+ export type InteropHook = 'on_asset_loaded' | 'on_format_converted' | 'on_scene_composed';
130
+ export type CoPresenceHook = 'on_co_presence_joined' | 'on_co_presence_left' | 'on_voice_proximity_change' | 'on_role_change' | 'on_spectator_join' | 'on_avatar_sync';
131
+ export type GeospatialHook = 'on_vps_localized' | 'on_poi_proximity' | 'on_terrain_resolved' | 'on_rooftop_resolved';
132
+ export type Web3Hook = 'on_wallet_connected' | 'on_token_verified' | 'on_nft_transferred' | 'on_purchase_complete' | 'on_asset_ported';
133
+ export type PhysicsExpansionHook = 'on_cloth_tear' | 'on_fluid_splash' | 'on_soft_body_deform' | 'on_rope_snap' | 'on_wind_change' | 'on_submerge' | 'on_destruction_complete';
134
+ export type AllExpandedHooks = LifecycleHook | VRLifecycleHook | ControllerHook | EnvironmentHook | InputModalityHook | AccessibilityHook | VolumetricHook | ComputeHook | DigitalTwinHook | AgentHook | SpatialAudioHook | InteropHook | CoPresenceHook | GeospatialHook | Web3Hook | PhysicsExpansionHook;
135
+ export interface OrbNode extends ASTNode {
136
+ type: 'orb';
137
+ name: string;
138
+ template?: string;
139
+ properties: Record<string, HoloScriptValue>;
140
+ methods?: MethodNode[];
141
+ children?: ASTNode[];
142
+ }
143
+ export interface MethodNode extends ASTNode {
144
+ type: 'method';
145
+ name: string;
146
+ parameters: ParameterNode[];
147
+ body: ASTNode[];
148
+ returnType?: string;
149
+ }
150
+ export interface ParameterNode extends ASTNode {
151
+ type: 'parameter';
152
+ name: string;
153
+ dataType: string;
154
+ defaultValue?: HoloScriptValue;
155
+ }
156
+ export interface ConnectionNode extends ASTNode {
157
+ type: 'connection';
158
+ from: string;
159
+ to: string;
160
+ dataType: string;
161
+ bidirectional: boolean;
162
+ }
163
+ export interface GateNode extends ASTNode {
164
+ type: 'gate';
165
+ condition: string | TypeGuardExpression;
166
+ truePath: ASTNode[];
167
+ falsePath: ASTNode[];
168
+ }
169
+ export interface StreamNode extends ASTNode {
170
+ type: 'stream';
171
+ name: string;
172
+ source: string;
173
+ transformations: TransformationNode[];
174
+ }
175
+ export interface TransformationNode extends ASTNode {
176
+ type: 'transformation';
177
+ operation: string;
178
+ parameters: Record<string, HoloScriptValue>;
179
+ }
180
+ export interface GenericASTNode extends ASTNode {
181
+ [key: string]: HoloScriptValue | unknown;
182
+ }
183
+ export interface ServerNode extends ASTNode {
184
+ type: 'server';
185
+ port: number;
186
+ routes: string[];
187
+ }
188
+ export interface DatabaseNode extends ASTNode {
189
+ type: 'database';
190
+ query: string;
191
+ }
192
+ export interface FetchNode extends ASTNode {
193
+ type: 'fetch';
194
+ url: string;
195
+ method: string;
196
+ }
197
+ export interface ExecuteNode extends ASTNode {
198
+ type: 'execute';
199
+ target: string;
200
+ }
201
+ export interface DebugNode extends ASTNode {
202
+ type: 'debug';
203
+ target: string;
204
+ }
205
+ export interface VisualizeNode extends ASTNode {
206
+ type: 'visualize';
207
+ target: string;
208
+ }
209
+ export interface ZoneNode extends ASTNode {
210
+ type: 'zone';
211
+ name: string;
212
+ id?: string;
213
+ position?: SpatialPosition;
214
+ bounds?: {
215
+ type: string;
216
+ size: HoloScriptValue;
217
+ };
218
+ events: Record<string, string>;
219
+ properties: Record<string, HoloScriptValue>;
220
+ }
221
+ export interface ForLoopNode extends ASTNode {
222
+ type: 'for-loop';
223
+ init: string;
224
+ condition: string | TypeGuardExpression;
225
+ update: string;
226
+ body: ASTNode[];
227
+ }
228
+ export interface WhileLoopNode extends ASTNode {
229
+ type: 'while-loop';
230
+ condition: string | TypeGuardExpression;
231
+ body: ASTNode[];
232
+ }
233
+ export interface ForEachLoopNode extends ASTNode {
234
+ type: 'foreach-loop';
235
+ variable: string;
236
+ collection: string;
237
+ body: ASTNode[];
238
+ }
239
+ export interface ScaleNode extends ASTNode {
240
+ type: 'scale';
241
+ magnitude: string;
242
+ multiplier: number;
243
+ body: ASTNode[];
244
+ }
245
+ export interface FocusNode extends ASTNode {
246
+ type: 'focus';
247
+ target: string;
248
+ body: ASTNode[];
249
+ }
250
+ export interface CompositionNode extends ASTNode {
251
+ type: 'composition';
252
+ name: string;
253
+ children: ASTNode[];
254
+ body?: {
255
+ systems: ASTNode[];
256
+ configs: ASTNode[];
257
+ children: ASTNode[];
258
+ };
259
+ }
260
+ export interface SystemNode extends ASTNode {
261
+ type: 'system';
262
+ id: string;
263
+ properties: Record<string, HoloScriptValue>;
264
+ /** System state declarations */
265
+ state?: Record<string, HoloScriptValue>;
266
+ /** Named actions that can be invoked */
267
+ actions?: Array<{
268
+ name: string;
269
+ params: string[];
270
+ body: string;
271
+ }>;
272
+ /** Lifecycle hooks: on_start, on_update, on_destroy, etc. */
273
+ hooks?: Array<{
274
+ name: string;
275
+ body: string;
276
+ }>;
277
+ /** Nested UI block declarations */
278
+ ui?: ASTNode[];
279
+ /** Nested children (objects, templates, etc.) */
280
+ children?: ASTNode[];
281
+ /** Trait directives on the system */
282
+ directives?: HSPlusDirective[];
283
+ }
284
+ export interface ComponentNode extends ASTNode {
285
+ type: 'component';
286
+ name: string;
287
+ /** Component props declarations (with defaults) */
288
+ props?: Record<string, HoloScriptValue>;
289
+ /** Component internal state */
290
+ state?: Record<string, HoloScriptValue>;
291
+ /** Named actions */
292
+ actions?: Array<{
293
+ name: string;
294
+ params: string[];
295
+ body: string;
296
+ }>;
297
+ /** UI block for rendering */
298
+ ui?: ASTNode[];
299
+ /** Lifecycle hooks */
300
+ hooks?: Array<{
301
+ name: string;
302
+ body: string;
303
+ }>;
304
+ /** Nested children */
305
+ children?: ASTNode[];
306
+ /** Trait directives */
307
+ directives?: HSPlusDirective[];
308
+ /** Component properties (non-special) */
309
+ properties?: Record<string, HoloScriptValue>;
310
+ }
311
+ export interface CoreConfigNode extends ASTNode {
312
+ type: 'core_config';
313
+ properties: Record<string, HoloScriptValue>;
314
+ }
315
+ export interface EnvironmentNode extends ASTNode {
316
+ type: 'environment';
317
+ settings: Record<string, HoloScriptValue>;
318
+ }
319
+ export interface TemplateNode extends ASTNode {
320
+ type: 'template';
321
+ name: string;
322
+ parameters: string[];
323
+ children: ASTNode[];
324
+ properties?: Record<string, HoloScriptValue>;
325
+ directives?: HSPlusDirective[];
326
+ version?: string | number;
327
+ migrations?: MigrationNode[];
328
+ }
329
+ export interface MigrationNode extends ASTNode {
330
+ type: 'migration';
331
+ fromVersion: number;
332
+ body: string;
333
+ }
334
+ export interface NarrativeNode extends ASTNode {
335
+ type: 'narrative';
336
+ id: string;
337
+ startNode?: string;
338
+ quests: QuestNode[];
339
+ dialogueNodes?: DialogueNode[];
340
+ }
341
+ export interface QuestNode extends ASTNode {
342
+ type: 'quest';
343
+ id: string;
344
+ title: string;
345
+ description: string;
346
+ objectives: ObjectiveNode[];
347
+ onComplete?: string;
348
+ }
349
+ export interface ObjectiveNode extends ASTNode {
350
+ type: 'objective';
351
+ id: string;
352
+ description: string;
353
+ targetCount?: number;
354
+ currentCount?: number;
355
+ }
356
+ export interface DialogueNode extends ASTNode {
357
+ type: 'dialogue';
358
+ id: string;
359
+ speaker: string;
360
+ text: string;
361
+ choices?: DialogueChoice[];
362
+ }
363
+ export interface DialogueChoice extends ASTNode {
364
+ type: 'dialogue-choice';
365
+ text: string;
366
+ nextNode?: string;
367
+ action?: string;
368
+ }
369
+ export interface VisualMetadataNode extends ASTNode {
370
+ type: 'visual_metadata';
371
+ properties: Record<string, HoloScriptValue>;
372
+ }
373
+ export interface GlobalHandlerNode extends ASTNode {
374
+ type: 'global_handler';
375
+ handlerType: 'every' | 'on_gesture';
376
+ config: Record<string, HoloScriptValue>;
377
+ action: string;
378
+ }
379
+ export interface MemoryNode extends ASTNode {
380
+ type: 'memory';
381
+ name: string;
382
+ semantic?: SemanticMemoryNode;
383
+ episodic?: EpisodicMemoryNode;
384
+ procedural?: ProceduralMemoryNode;
385
+ }
386
+ export interface SemanticMemoryNode extends ASTNode {
387
+ type: 'semantic-memory';
388
+ properties: Record<string, HoloScriptValue>;
389
+ }
390
+ export interface EpisodicMemoryNode extends ASTNode {
391
+ type: 'episodic-memory';
392
+ properties: Record<string, HoloScriptValue>;
393
+ }
394
+ export interface ProceduralMemoryNode extends ASTNode {
395
+ type: 'procedural-memory';
396
+ properties: Record<string, HoloScriptValue>;
397
+ }
398
+ export interface ProceduralSkill {
399
+ id: string;
400
+ name: string;
401
+ preconditions: Record<string, HoloScriptValue>[];
402
+ action: ASTNode;
403
+ successRate: number;
404
+ }
405
+ export interface ImportNode extends ASTNode {
406
+ type: 'import';
407
+ imports: string[];
408
+ defaultImport?: string;
409
+ modulePath: string;
410
+ }
411
+ export type ImportLoader = (path: string) => Promise<string>;
412
+ export interface ExportNode extends ASTNode {
413
+ type: 'export';
414
+ exports?: string[];
415
+ declaration?: ASTNode;
416
+ }
417
+ export interface VariableDeclarationNode extends ASTNode {
418
+ type: 'variable-declaration';
419
+ kind: 'const' | 'let' | 'var';
420
+ name: string;
421
+ dataType?: string;
422
+ value?: HoloScriptValue;
423
+ isExpression?: boolean;
424
+ }
425
+ export interface TypeGuardExpression extends ASTNode {
426
+ type: 'type-guard';
427
+ /** The value being checked */
428
+ subject: string;
429
+ /** The type being tested against */
430
+ guardType: string;
431
+ /** Whether this is a negated check (is not) */
432
+ negated?: boolean;
433
+ }
434
+ export interface SpreadExpression extends ASTNode {
435
+ type: 'spread';
436
+ argument: unknown;
437
+ target?: string;
438
+ isValid?: boolean;
439
+ targetType?: 'object' | 'array' | 'template' | 'unknown';
440
+ }
441
+ export interface NullCoalescingAssignment extends ASTNode {
442
+ type: 'nullCoalescingAssignment';
443
+ target: string | unknown;
444
+ value: unknown;
445
+ isValid?: boolean;
446
+ targetType?: 'variable' | 'member' | 'unknown';
447
+ }
448
+ export interface StateMachineNode extends ASTNode {
449
+ type: 'state-machine';
450
+ name: string;
451
+ initialState: string;
452
+ states: StateNode[];
453
+ transitions: TransitionNode[];
454
+ }
455
+ export interface StateNode extends ASTNode {
456
+ type: 'state';
457
+ name: string;
458
+ onEntry?: string;
459
+ onExit?: string;
460
+ }
461
+ export interface TransitionNode extends ASTNode {
462
+ type: 'transition';
463
+ from: string;
464
+ to: string;
465
+ event: string;
466
+ condition?: string;
467
+ }
468
+ export type UIElementType = 'canvas' | 'button' | 'textinput' | 'panel' | 'text' | 'image' | 'list' | 'modal' | 'slider' | 'toggle' | 'dropdown' | 'flex-container' | 'grid-container' | 'scroll-view' | 'tab-view' | 'dashboard' | 'card' | 'metric' | 'row' | 'col';
469
+ export interface UI2DNode {
470
+ type: '2d-element';
471
+ elementType: UIElementType;
472
+ name: string;
473
+ properties: Record<string, HoloScriptValue>;
474
+ children?: UI2DNode[];
475
+ events?: Record<string, string>;
476
+ }
477
+ export interface UIStyle {
478
+ backgroundColor?: string;
479
+ color?: string;
480
+ fontSize?: number;
481
+ fontFamily?: string;
482
+ borderColor?: string;
483
+ borderWidth?: number;
484
+ borderRadius?: number;
485
+ padding?: number;
486
+ margin?: number;
487
+ }
488
+ /** Built-in storage API for persistent key/value data */
489
+ export interface StorageAPI {
490
+ get(key: string): HoloScriptValue;
491
+ set(key: string, value: HoloScriptValue): void;
492
+ remove(key: string): void;
493
+ has(key: string): boolean;
494
+ clear(): void;
495
+ }
496
+ /** Built-in device API for platform detection and preferences */
497
+ export interface DeviceAPI {
498
+ isMobile: boolean;
499
+ isVR: boolean;
500
+ isAR: boolean;
501
+ isDesktop: boolean;
502
+ prefersReducedMotion(): boolean;
503
+ screenWidth: number;
504
+ screenHeight: number;
505
+ pixelRatio: number;
506
+ hasTouch: boolean;
507
+ hasGamepad: boolean;
508
+ }
509
+ /** Built-in input API for handling user input */
510
+ export interface InputAPI {
511
+ setMovement(x: number, y: number): void;
512
+ jump(): void;
513
+ interact(): void;
514
+ }
515
+ export interface RuntimeContext {
516
+ variables: Map<string, HoloScriptValue>;
517
+ functions: Map<string, MethodNode>;
518
+ exports: Map<string, HoloScriptValue>;
519
+ connections: ConnectionNode[];
520
+ spatialMemory: Map<string, SpatialPosition>;
521
+ hologramState: Map<string, HologramProperties>;
522
+ executionStack: ASTNode[];
523
+ stateMachines: Map<string, StateMachineNode>;
524
+ mode?: 'public' | 'secure';
525
+ currentScale: number;
526
+ scaleMagnitude: string;
527
+ focusHistory: string[];
528
+ environment: Record<string, HoloScriptValue>;
529
+ templates: Map<string, TemplateNode>;
530
+ quests: Map<string, QuestNode>;
531
+ activeQuestId?: string;
532
+ completedQuests: Set<string>;
533
+ dialogueState?: {
534
+ currentNodeId?: string;
535
+ speaker?: string;
536
+ };
537
+ state: ReactiveState;
538
+ }
539
+ export interface QuestState {
540
+ id: string;
541
+ objectives: Record<string, {
542
+ current: number;
543
+ target: number;
544
+ complete: boolean;
545
+ }>;
546
+ status: 'active' | 'completed' | 'failed';
547
+ }
548
+ export interface ReactiveState<T = Record<string, HoloScriptValue>> {
549
+ get<K extends keyof T>(key: K): T[K];
550
+ set<K extends keyof T>(key: K, value: T[K]): void;
551
+ subscribe(callback: (state: T, changedKey?: keyof T) => void): () => void;
552
+ getSnapshot(): T;
553
+ update(updates: Partial<T>): void;
554
+ }
555
+ export interface ExecutionResult {
556
+ success: boolean;
557
+ output?: HoloScriptValue;
558
+ hologram?: HologramProperties;
559
+ spatialPosition?: SpatialPosition;
560
+ error?: string;
561
+ executionTime?: number;
562
+ learningSignals?: Record<string, HoloScriptValue>;
563
+ }
564
+ export interface ParticleSystem {
565
+ particles: SpatialPosition[];
566
+ color: string;
567
+ lifetime: number;
568
+ speed: number;
569
+ }
570
+ export interface SecurityConfig {
571
+ maxCommandLength: number;
572
+ maxTokens: number;
573
+ maxHologramsPerUser: number;
574
+ suspiciousKeywords: string[];
575
+ allowedShapes: string[];
576
+ allowedUIElements: string[];
577
+ }
578
+ export interface RuntimeSecurityLimits {
579
+ maxExecutionDepth: number;
580
+ maxTotalNodes: number;
581
+ maxExecutionTimeMs: number;
582
+ maxParticlesPerSystem: number;
583
+ }
584
+ export type SpatialVector3 = Vector3;
585
+ export type Vector2 = [number, number];
586
+ export interface Color {
587
+ r: number;
588
+ g: number;
589
+ b: number;
590
+ a?: number;
591
+ }
592
+ export interface Duration {
593
+ milliseconds: number;
594
+ }
595
+ export interface ASTTransform {
596
+ position: SpatialVector3;
597
+ rotation: SpatialVector3;
598
+ scale: SpatialVector3;
599
+ }
600
+ export type VRHandSide = 'left' | 'right' | 'both';
601
+ export interface ThrowVelocity {
602
+ magnitude: number;
603
+ direction: SpatialVector3;
604
+ spin?: SpatialVector3;
605
+ }
606
+ export interface CollisionEvent {
607
+ object1: string;
608
+ object2: string;
609
+ position: SpatialVector3;
610
+ normal: SpatialVector3;
611
+ force: number;
612
+ timestamp: number;
613
+ }
614
+ export interface GrabbableTrait {
615
+ snapToHand: boolean;
616
+ grip_type: 'palm' | 'pinch' | 'full';
617
+ haptic_feedback: boolean;
618
+ }
619
+ export interface ThrowableTrait {
620
+ velocityMultiplier: number;
621
+ enableSpin: boolean;
622
+ gravityScale: number;
623
+ }
624
+ export interface PointableTrait {
625
+ maxPointDistance: number;
626
+ interactionRadius: number;
627
+ hapticFeedback: boolean;
628
+ }
629
+ export interface HoverableTrait {
630
+ hoverDistance: number;
631
+ hoverColor: Color;
632
+ hoverScale: number;
633
+ enableHighlight: boolean;
634
+ }
635
+ export interface ScalableTrait {
636
+ minScale: number;
637
+ maxScale: number;
638
+ scaleSpeed: number;
639
+ }
640
+ export interface RotatableTrait {
641
+ rotationSpeed: number;
642
+ freeRotation: boolean;
643
+ snapAngles?: number[];
644
+ }
645
+ export type { StackableTrait, SnappableTrait, BreakableTrait, StretchableTrait, MoldableTrait, SkeletonTrait, BodyTrait, FaceTrait, ExpressiveTrait, HairTrait, ClothingTrait, HandsTrait, CharacterVoiceTrait, LocomotionTrait, PoseableTrait, MorphTrait, NetworkedTrait, ProactiveTrait, RecordableTrait, StreamableTrait, CameraTrait, VideoTrait, TrackableTrait, SurveyTrait, ABTestTrait, HeatmapTrait, ShareableTrait, EmbeddableTrait, QRTrait, CollaborativeTrait, ParticleTrait, TransitionTrait, FilterTrait, TrailTrait, SpatialAudioTrait, VoiceTrait, ReactiveAudioTrait, NarratorTrait, ResponsiveTrait, ProceduralTrait, CaptionedTrait, TimelineTrait, ChoreographyTrait, PlaneDetectionTrait, MeshDetectionTrait, AnchorTrait, PersistentAnchorTrait, SharedAnchorTrait, GeospatialTrait, OcclusionTrait, LightEstimationTrait, EyeTrackingTrait, HandTrackingTrait, ControllerTrait, SpatialAccessoryTrait, BodyTrackingTrait, FaceTrackingTrait, HapticTrait, AccessibleTrait, AltTextTrait, SpatialAudioCueTrait, SonificationTrait, HapticCueTrait, MagnifiableTrait, HighContrastTrait, PerceptualColorTrait, MotionReducedTrait, SubtitleTrait, ScreenReaderTrait, GaussianSplatTrait, NerfTrait, VolumetricVideoTrait, PointCloudTrait, PhotogrammetryTrait, ComputeTrait, GPUParticleTrait, GPUPhysicsTrait, GPUBufferTrait, SensorTrait, DigitalTwinTrait, DataBindingTrait, AlertTrait, Heatmap3DTrait, BehaviorTreeTrait, GoalOrientedTrait, LLMAgentTrait, MemoryTrait, PerceptionTrait, EmotionTrait, DialogueTrait, FactionTrait, PatrolTrait, AmbisonicsTrait, HRTFTrait, ReverbZoneTrait, AudioOcclusionTrait, AudioPortalTrait, AudioMaterialTrait, HeadTrackedAudioTrait, USDTrait, GLTFTrait, FBXTrait, MaterialXTrait, SceneGraphTrait, CoLocatedTrait, RemotePresenceTrait, SharedWorldTrait, VoiceProximityTrait, AvatarEmbodimentTrait, SpectatorTrait, RoleTrait, GeospatialAnchorTrait, TerrainAnchorTrait, RooftopAnchorTrait, VPSTrait, POITrait, NFTTrait, TokenGatedTrait, WalletTrait, MarketplaceTrait, PortableTrait, ClothTrait, FluidTrait, SoftBodyTrait, RopeTrait, ChainTrait, WindTrait, BuoyancyTrait, DestructionTrait, AllLifecycleHooks, MediaLifecycleHook, AnalyticsLifecycleHook, SocialLifecycleHook, EffectsLifecycleHook, AudioLifecycleHook, AILifecycleHook, TimelineLifecycleHook, EnvironmentLifecycleHook, InputModalityLifecycleHook, AccessibilityLifecycleHook, VolumetricLifecycleHook, ComputeLifecycleHook, DigitalTwinLifecycleHook, AgentLifecycleHook, SpatialAudioLifecycleHook, InteropLifecycleHook, CoPresenceLifecycleHook, GeospatialLifecycleHook, Web3LifecycleHook, PhysicsExpansionLifecycleHook, RecordingClip, ShareContent, ShareResult, ParticleConfig, } from './types/HoloScriptPlus';
646
+ /**
647
+ * Spatial relationship types between scene nodes.
648
+ * Describes how two nodes relate to each other in 3D space.
649
+ */
650
+ export type SpatialRelationType = 'parent_of' | 'child_of' | 'sibling_of' | 'above' | 'below' | 'left_of' | 'right_of' | 'in_front_of' | 'behind' | 'inside' | 'contains' | 'adjacent' | 'overlapping' | 'attached_to' | 'aligned_with' | 'facing' | 'orbiting';
651
+ /**
652
+ * A spatial relation between two scene nodes, with optional
653
+ * constraint parameters and metadata.
654
+ */
655
+ export interface SpatialRelation {
656
+ /** Unique identifier for this relation */
657
+ id: string;
658
+ /** The type of spatial relationship */
659
+ type: SpatialRelationType;
660
+ /** Source node ID */
661
+ sourceNodeId: string;
662
+ /** Target node ID */
663
+ targetNodeId: string;
664
+ /** Offset vector from source to target (local space) */
665
+ offset?: SpatialVector3;
666
+ /** Whether this relation is enforced as a constraint */
667
+ isConstraint: boolean;
668
+ /** Constraint stiffness (0 = soft suggestion, 1 = rigid) */
669
+ stiffness?: number;
670
+ /** Priority for conflict resolution when multiple relations exist */
671
+ priority?: number;
672
+ /** Custom metadata for platform-specific extensions */
673
+ metadata?: Record<string, unknown>;
674
+ }
675
+ /**
676
+ * Edge types for scene graph connections.
677
+ * Extends beyond simple parent-child to support spatial computing use cases.
678
+ */
679
+ export type SceneEdgeType = 'hierarchy' | 'spatial' | 'dependency' | 'dataflow' | 'physics_joint' | 'audio_link' | 'animation_link' | 'network_sync' | 'reference';
680
+ /**
681
+ * A typed, weighted edge between two scene graph nodes.
682
+ * Supports directionality, spatial relations, and custom payloads.
683
+ */
684
+ export interface SceneEdge {
685
+ /** Unique edge identifier */
686
+ id: string;
687
+ /** Edge type classification */
688
+ type: SceneEdgeType;
689
+ /** Source node ID */
690
+ from: string;
691
+ /** Target node ID */
692
+ to: string;
693
+ /** Whether the edge is bidirectional */
694
+ bidirectional: boolean;
695
+ /** Edge weight (0-1, used for traversal priority and rendering) */
696
+ weight: number;
697
+ /** Associated spatial relation, if any */
698
+ spatialRelation?: SpatialRelation;
699
+ /** Whether this edge is currently active */
700
+ active: boolean;
701
+ /** Custom properties for platform-specific data */
702
+ properties?: Record<string, unknown>;
703
+ }
704
+ /**
705
+ * Descriptor for a scene graph node at the type level.
706
+ * Complements the runtime SceneNode class in scene/SceneNode.ts
707
+ * and the export IR ISceneNode in export/SceneGraph.ts.
708
+ */
709
+ export interface SceneNodeDescriptor {
710
+ /** Unique node identifier */
711
+ id: string;
712
+ /** Human-readable name */
713
+ name: string;
714
+ /** Node type classification */
715
+ nodeType: 'object' | 'group' | 'light' | 'camera' | 'empty' | 'agent' | 'zone' | 'anchor' | 'prefab';
716
+ /** Local transform relative to parent */
717
+ transform: ASTTransform;
718
+ /** Parent node ID (null for root) */
719
+ parentId: string | null;
720
+ /** Ordered list of child node IDs */
721
+ childIds: string[];
722
+ /** Tags for querying and filtering */
723
+ tags: string[];
724
+ /** Visibility layer (bitmask) */
725
+ layer: number;
726
+ /** Whether this node is visible */
727
+ visible: boolean;
728
+ /** Whether this node is active/enabled */
729
+ active: boolean;
730
+ /** Attached trait names */
731
+ traits: string[];
732
+ /** Custom properties (shape, color, etc.) */
733
+ properties: Record<string, HoloScriptValue>;
734
+ /** Custom metadata for extensions */
735
+ metadata?: Record<string, unknown>;
736
+ }
737
+ /**
738
+ * Complete scene graph type containing nodes, edges, and spatial relations.
739
+ * This is the first-class scene graph representation in the HoloScript type system.
740
+ */
741
+ export interface SceneGraphDescriptor {
742
+ /** Scene graph format version */
743
+ version: string;
744
+ /** Scene name */
745
+ name: string;
746
+ /** Scene description */
747
+ description?: string;
748
+ /** All nodes in the graph, keyed by ID */
749
+ nodes: Map<string, SceneNodeDescriptor>;
750
+ /** All edges connecting nodes */
751
+ edges: SceneEdge[];
752
+ /** All spatial relations between nodes */
753
+ spatialRelations: SpatialRelation[];
754
+ /** Root node ID */
755
+ rootId: string;
756
+ /** Coordinate system convention */
757
+ coordinateSystem: 'y_up' | 'z_up';
758
+ /** Units per meter (1.0 = meters) */
759
+ unitScale: number;
760
+ /** Scene-level metadata */
761
+ metadata: Record<string, unknown>;
762
+ /** Creation timestamp (ISO 8601) */
763
+ createdAt: string;
764
+ /** Last modification timestamp (ISO 8601) */
765
+ modifiedAt: string;
766
+ }
767
+ export interface AnyTraitAnnotation {
768
+ type: string;
769
+ config: Record<string, unknown>;
770
+ line?: number;
771
+ column?: number;
772
+ }
773
+ export interface EnhancedOrbNode extends OrbNode {
774
+ graphics?: Record<string, unknown>;
775
+ traits?: Map<string, Record<string, unknown>>;
776
+ eventHandlers?: Map<string, string>;
777
+ isCompanion?: boolean;
778
+ }
779
+ /** Event handler callback — matches HoloScriptRuntime internal EventHandler */
780
+ export type EventHandler = (data?: HoloScriptValue) => void | Promise<void>;
781
+ /** AgentRuntime — interface compatible with HoloScriptAgentRuntime */
782
+ export interface AgentRuntime {
783
+ reset(agentNode: OrbNode, parentRuntime: unknown): void;
784
+ getState(): HoloScriptValue;
785
+ executeAction(actionName: string, args?: HoloScriptValue[]): Promise<ExecutionResult>;
786
+ }
787
+ /** MigrationBlock is a runtime alias for MigrationNode */
788
+ export type MigrationBlock = MigrationNode;
789
+ /** UIElementState — matches HoloScriptRuntime internal UIElementState */
790
+ export interface UIElementState {
791
+ type: string;
792
+ name: string;
793
+ properties: Record<string, HoloScriptValue>;
794
+ value?: HoloScriptValue;
795
+ visible: boolean;
796
+ enabled: boolean;
797
+ }
798
+ export type { TraitContext, TraitEvent, TraitHandler } from './traits/TraitTypes';
799
+ export type { HoloObjectDecl, HoloTemplate, HoloValue, HoloComposition, } from './parser/HoloCompositionTypes';