@holoscript/core 8.0.8 → 8.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/LICENSE +21 -0
  2. package/bin/holoscript.cjs +5 -1
  3. package/dist/GLTFPipeline-L76YTXKA.js +15 -0
  4. package/dist/GLTFPipeline-ZWJN7GI6.cjs +36 -0
  5. package/dist/HoloCompositionParser-K76KTEEE.js +12 -0
  6. package/dist/HoloCompositionParser-UZH6Y4HO.cjs +45 -0
  7. package/dist/HoloScriptCodeParser-2D4ERFUZ.js +6 -0
  8. package/dist/HoloScriptCodeParser-UDRLDA7I.cjs +23 -0
  9. package/dist/HoloScriptPlusParser-FTMCGWXD.js +13 -0
  10. package/dist/HoloScriptPlusParser-LQR5GIKF.cjs +30 -0
  11. package/dist/HoloScriptRuntime-UTRLJI5L.js +12 -0
  12. package/dist/HoloScriptRuntime-YBYXJHJN.cjs +21 -0
  13. package/dist/SceneIRCompiler-63KA3M2F.js +17 -0
  14. package/dist/SceneIRCompiler-KWUFHZ4O.cjs +42 -0
  15. package/dist/{USDZExporter-AUHZODOF.cjs → USDZExporter-ML4UMIGC.cjs} +3 -3
  16. package/dist/{USDZExporter-GXB4AUSG.js → USDZExporter-ZFKLQ76G.js} +3 -3
  17. package/dist/agents/index.cjs +1 -1
  18. package/dist/agents/index.js +1 -1
  19. package/dist/audit/AuditLogger.d.ts +106 -0
  20. package/dist/audit/AuditQueryBuilder.d.ts +79 -0
  21. package/dist/audit/ComplianceReporter.d.ts +90 -0
  22. package/dist/audit/index.d.ts +13 -0
  23. package/dist/{chunk-FGMDMJM7.js → chunk-2BYAUHBO.js} +3 -3
  24. package/dist/{chunk-EDPYCLRC.cjs → chunk-2E6PP5UE.cjs} +83 -59
  25. package/dist/{chunk-GASCWJK5.js → chunk-2EGGAZT3.js} +65 -287
  26. package/dist/{chunk-SIEXCILW.js → chunk-2I3XAGMF.js} +3 -3
  27. package/dist/{chunk-OS533P33.cjs → chunk-2KKOYZYI.cjs} +1074 -1655
  28. package/dist/chunk-2MQKNDNH.js +51 -0
  29. package/dist/{chunk-7DMMMBCY.cjs → chunk-2X3IPCBK.cjs} +10 -10
  30. package/dist/chunk-2ZOTBO25.cjs +202 -0
  31. package/dist/chunk-356N4NPM.cjs +152 -0
  32. package/dist/{chunk-X3GJPRVK.cjs → chunk-36NPLOI4.cjs} +92 -81
  33. package/dist/{chunk-SLU6UPJI.cjs → chunk-37HHY7RH.cjs} +5 -5
  34. package/dist/{chunk-YDPEHCCI.cjs → chunk-3CDDRUER.cjs} +3 -118
  35. package/dist/chunk-3F7ZZWIN.js +1651 -0
  36. package/dist/chunk-3ILD7TKP.cjs +187 -0
  37. package/dist/{chunk-X27QRG4C.cjs → chunk-3IUHTGDD.cjs} +153 -41
  38. package/dist/{chunk-PXNZ6TME.js → chunk-4376VHNJ.js} +60 -36
  39. package/dist/{chunk-YKGPCZEE.cjs → chunk-4FIBOJW6.cjs} +10 -10
  40. package/dist/chunk-4Q7RKQQI.cjs +14195 -0
  41. package/dist/{chunk-YCM6QQRT.cjs → chunk-566ZB4LZ.cjs} +180 -8
  42. package/dist/{chunk-2Y3V22SG.js → chunk-5CURIYGT.js} +3 -3
  43. package/dist/{chunk-QBWNJXNR.js → chunk-5FYMCVBY.js} +5 -5
  44. package/dist/{chunk-ZA34AN3R.js → chunk-5LVFTGKH.js} +841 -12
  45. package/dist/{chunk-Z6PMDS4G.js → chunk-5OUOMBKK.js} +1090 -53
  46. package/dist/chunk-63AUAIL6.js +48 -0
  47. package/dist/chunk-655FATJU.js +110 -0
  48. package/dist/{chunk-TQ377OLB.cjs → chunk-65S62L4D.cjs} +28 -22
  49. package/dist/chunk-6NTAZN5Z.cjs +502 -0
  50. package/dist/chunk-6TRX6AR2.js +9376 -0
  51. package/dist/chunk-6ZCCLKS2.cjs +51 -0
  52. package/dist/{chunk-MDR235RZ.js → chunk-734OB5SK.js} +721 -8
  53. package/dist/{chunk-Q2Q34NF3.js → chunk-77QI552M.js} +6 -6
  54. package/dist/{chunk-WKX5AMOY.js → chunk-7I74JWPW.js} +3 -3
  55. package/dist/{chunk-5FSKKMR7.cjs → chunk-7IDJDMPU.cjs} +232 -4
  56. package/dist/chunk-7VBKRGIZ.cjs +847 -0
  57. package/dist/{chunk-KCPHASCO.js → chunk-AATYYLYK.js} +5 -5
  58. package/dist/{chunk-DTGBOSEM.cjs → chunk-AWXFEAQL.cjs} +12 -12
  59. package/dist/{chunk-THCK6ECW.js → chunk-B3CWTCK2.js} +231 -3
  60. package/dist/chunk-BCP4E7MD.cjs +997 -0
  61. package/dist/chunk-BG7RPYJP.js +91 -0
  62. package/dist/{chunk-VF257YKO.js → chunk-BP4KTMLY.js} +117 -5
  63. package/dist/{chunk-YN6IETRZ.js → chunk-BQJ3YBF3.js} +6424 -987
  64. package/dist/{chunk-7X5PNIQJ.js → chunk-BXSOEQI3.js} +27 -25
  65. package/dist/{chunk-WFKVS2K4.cjs → chunk-C65C5VED.cjs} +1101 -55
  66. package/dist/{chunk-KOUAQL2B.cjs → chunk-CANAL6CT.cjs} +1569 -168
  67. package/dist/{chunk-FDSGHPAK.js → chunk-CBSDJF3B.js} +3 -3
  68. package/dist/{chunk-FEWUHQNM.cjs → chunk-CFVK26P4.cjs} +4 -4
  69. package/dist/{chunk-M7K4LE66.cjs → chunk-CI33NINL.cjs} +4 -4
  70. package/dist/{chunk-2OWDB4FB.js → chunk-CKV5NYAE.js} +6 -6
  71. package/dist/{chunk-LPS5AMQD.cjs → chunk-CM4NHXVO.cjs} +24 -24
  72. package/dist/chunk-D3HSRXYB.js +115 -0
  73. package/dist/{chunk-FNHJRI32.js → chunk-DBH3D2MU.js} +1561 -160
  74. package/dist/{chunk-GW3LKD5C.js → chunk-DJNH4HFW.js} +3 -3
  75. package/dist/{chunk-2GCNOI2U.cjs → chunk-DN6F4DHH.cjs} +9 -3
  76. package/dist/chunk-DQRJ5RJG.js +432 -0
  77. package/dist/{chunk-C7ZBSV2Q.js → chunk-DUG3OQAS.js} +106 -43
  78. package/dist/chunk-ECUYJOJ2.cjs +199 -0
  79. package/dist/chunk-EEMTCAK7.js +182 -0
  80. package/dist/{chunk-3SKLAUDD.cjs → chunk-EI3J6LTW.cjs} +359 -581
  81. package/dist/{chunk-SSSN7VAM.js → chunk-EM2OGPYE.js} +4 -4
  82. package/dist/{chunk-56VOWURB.cjs → chunk-ENZCIQZC.cjs} +522 -453
  83. package/dist/chunk-ESBXUYOC.cjs +836 -0
  84. package/dist/{chunk-L5U4W6JC.js → chunk-ESSEF6U2.js} +4 -4
  85. package/dist/chunk-ET3AN4W3.js +824 -0
  86. package/dist/chunk-EXKSFGSX.cjs +14 -14
  87. package/dist/{chunk-I76GIKN7.cjs → chunk-F3YT6GUF.cjs} +17 -17
  88. package/dist/{chunk-WRWEX5ZF.js → chunk-F75DZBBI.js} +3 -3
  89. package/dist/{chunk-4JGRWHZJ.js → chunk-FG6PYGIZ.js} +12 -6
  90. package/dist/chunk-FGGJQRLZ.js +14 -14
  91. package/dist/{chunk-SXOSDZD6.js → chunk-FWCHPCD4.js} +128 -10
  92. package/dist/{chunk-XW6IXEQH.cjs → chunk-G35CAQ7I.cjs} +5 -5
  93. package/dist/{chunk-7VMGP2FW.js → chunk-G6KACNMO.js} +132 -188
  94. package/dist/{chunk-FJPADH77.cjs → chunk-GAWJJAGT.cjs} +6 -6
  95. package/dist/chunk-GGR7QUKK.cjs +4724 -0
  96. package/dist/chunk-GIBF4BHH.js +14098 -0
  97. package/dist/{chunk-AWB7QYY6.cjs → chunk-GILYQ5VH.cjs} +6 -6
  98. package/dist/{chunk-FWVYAMNW.cjs → chunk-GKFCHGCM.cjs} +4 -4
  99. package/dist/{chunk-Y3ZFVUUU.js → chunk-GLEJ2TLS.js} +3 -3
  100. package/dist/{chunk-3GWWJT7L.js → chunk-GP3OKSKT.js} +13 -13
  101. package/dist/chunk-GTIPOEHN.js +196 -0
  102. package/dist/{chunk-LMJ5EBV7.cjs → chunk-GZPUA2TL.cjs} +16 -15
  103. package/dist/{chunk-IELX2OKI.js → chunk-H4LJ4HEA.js} +3 -115
  104. package/dist/{chunk-ACVWFGBI.cjs → chunk-HCX4SMFK.cjs} +3 -3
  105. package/dist/{chunk-HYNTS5CP.js → chunk-HHRZ6STP.js} +24 -2
  106. package/dist/chunk-HIDEIEFG.js +48 -0
  107. package/dist/{chunk-W6RW64BB.cjs → chunk-HSWBIDZM.cjs} +228 -5
  108. package/dist/{chunk-GSOUNWEL.js → chunk-HVX7QQYK.js} +1035 -1616
  109. package/dist/{chunk-TRCGG42I.cjs → chunk-IFW5IW4L.cjs} +6502 -1019
  110. package/dist/{chunk-F5LKJ6F5.cjs → chunk-IJU6AS67.cjs} +32 -28
  111. package/dist/{chunk-TVANHNJ7.js → chunk-IK6Z2HNC.js} +173 -3
  112. package/dist/{chunk-QGMUTVVH.cjs → chunk-IS7NTKY5.cjs} +20 -20
  113. package/dist/{chunk-YFVQWSNJ.js → chunk-IXWGYWH6.js} +3 -3
  114. package/dist/chunk-J2DAS2PL.js +148 -0
  115. package/dist/chunk-JBQXZIWB.js +148 -0
  116. package/dist/chunk-JBYBMBMW.js +261 -0
  117. package/dist/{chunk-LWUOUCYL.js → chunk-JEJ7TT54.js} +5 -5
  118. package/dist/{chunk-DUCB6LGL.js → chunk-JOTCTHN5.js} +211 -5
  119. package/dist/{chunk-47RUFYKR.js → chunk-K56UVEXV.js} +3 -3
  120. package/dist/{chunk-XSFNHP2E.js → chunk-KB26H447.js} +3 -3
  121. package/dist/{chunk-3NGDZZR4.js → chunk-KEYG7HGY.js} +430 -37
  122. package/dist/{chunk-DY72BMU5.js → chunk-KFVNCW4Q.js} +4 -4
  123. package/dist/chunk-KPGC7SK2.js +192 -0
  124. package/dist/chunk-KROXXBK5.cjs +53 -0
  125. package/dist/{chunk-ZPZAVHXL.cjs → chunk-LB3ZZMKT.cjs} +137 -19
  126. package/dist/chunk-LDYZWNJW.cjs +1654 -0
  127. package/dist/{chunk-UGXHYIWT.cjs → chunk-LHNHO27U.cjs} +28 -28
  128. package/dist/{chunk-ULMSSHCJ.cjs → chunk-LMB555QB.cjs} +405 -38
  129. package/dist/{chunk-CBJY23VL.js → chunk-MD4IVS42.js} +3 -3
  130. package/dist/{chunk-VMLKSV26.js → chunk-MDDWEBCX.js} +226 -3
  131. package/dist/chunk-MUWH4QK5.cjs +94 -0
  132. package/dist/{chunk-T6W3Z3SH.cjs → chunk-N2ILK7BF.cjs} +4 -4
  133. package/dist/{chunk-6EX3I5P4.cjs → chunk-N74QRJGP.cjs} +6 -6
  134. package/dist/chunk-NFFHLX37.cjs +132 -0
  135. package/dist/chunk-NJSYWX7H.js +190 -0
  136. package/dist/{chunk-SH5PPVK7.cjs → chunk-NQN5LFN4.cjs} +165 -221
  137. package/dist/chunk-NTQRFOPP.cjs +56 -0
  138. package/dist/{chunk-YFWRJW4B.js → chunk-NWMJPTVL.js} +51 -55
  139. package/dist/{chunk-63ZGNR2T.cjs → chunk-OC6GV5QH.cjs} +42 -42
  140. package/dist/{chunk-7E7GCQCK.js → chunk-OG3MBHM3.js} +9 -3
  141. package/dist/chunk-OMNHTCS4.cjs +264 -0
  142. package/dist/chunk-OQXB6NNC.cjs +117 -0
  143. package/dist/{chunk-Y57W2CT5.cjs → chunk-OV46CCA2.cjs} +51 -55
  144. package/dist/{chunk-6PRZIHGL.cjs → chunk-OV6HHKLE.cjs} +21 -266
  145. package/dist/{chunk-C37BHB7N.cjs → chunk-P26YYPOO.cjs} +5 -5
  146. package/dist/{chunk-2BZHWUSR.cjs → chunk-P7JEKJTZ.cjs} +16 -16
  147. package/dist/{chunk-NGBXXZLL.cjs → chunk-PDXX5UI4.cjs} +45 -45
  148. package/dist/{chunk-FHQFPYV4.js → chunk-PJFTTSKE.js} +8 -7
  149. package/dist/{chunk-GVFJ6T4S.cjs → chunk-PVODJEJ7.cjs} +721 -8
  150. package/dist/{chunk-ZZ7RO2UQ.js → chunk-Q265VZJ4.js} +3 -3
  151. package/dist/{chunk-E7JP3BS3.cjs → chunk-Q47JEE2C.cjs} +4 -4
  152. package/dist/chunk-QBY7LRN2.js +281 -0
  153. package/dist/{chunk-GH6C2QGW.cjs → chunk-QEDMOGF3.cjs} +857 -16
  154. package/dist/{chunk-5WUNN6ZN.cjs → chunk-QHSAVOOL.cjs} +24 -2
  155. package/dist/chunk-QJNCDVYM.cjs +137 -0
  156. package/dist/chunk-QM7FJB5W.js +4717 -0
  157. package/dist/chunk-QQFB4RT2.cjs +448 -0
  158. package/dist/chunk-QSYBHQAD.cjs +196 -0
  159. package/dist/{chunk-2YSNA2F2.cjs → chunk-QVJMDVYZ.cjs} +5 -5
  160. package/dist/chunk-RAJMAX6D.js +131 -0
  161. package/dist/{chunk-VVKVQZI6.js → chunk-RAN3ECAS.js} +3 -3
  162. package/dist/chunk-RKGUZBOC.js +79 -0
  163. package/dist/{chunk-HLFDZ35S.cjs → chunk-RRQIAJLQ.cjs} +8 -8
  164. package/dist/{chunk-PABONWKI.js → chunk-RXQNRZ5F.js} +3 -3
  165. package/dist/{chunk-7ZHYEITD.cjs → chunk-S4O7CFHQ.cjs} +10 -11
  166. package/dist/chunk-SE7ANBGN.js +128 -0
  167. package/dist/{chunk-X2AVEAZM.cjs → chunk-SJIRCTIS.cjs} +176 -2
  168. package/dist/{chunk-WXQ57LAO.js → chunk-SQXAZHDG.js} +4 -4
  169. package/dist/chunk-SR73L5ZP.cjs +84 -0
  170. package/dist/{chunk-OABEO6HH.js → chunk-SZOLTWWD.js} +2349 -214
  171. package/dist/{chunk-5JEU52DW.js → chunk-TPZ3BN2D.js} +3 -3
  172. package/dist/{chunk-QFU53KRH.js → chunk-TSTFYGGX.js} +4 -5
  173. package/dist/{chunk-EBS32AJI.cjs → chunk-TZCFKZ6Z.cjs} +5 -5
  174. package/dist/chunk-UCVZXQ63.js +724 -0
  175. package/dist/chunk-UGQ3QNV6.js +992 -0
  176. package/dist/chunk-UNMVGZVW.js +142 -0
  177. package/dist/{chunk-TEVX443G.js → chunk-UTUD6GJI.js} +178 -6
  178. package/dist/chunk-UXBYA7DV.cjs +155 -0
  179. package/dist/chunk-V6GXFSK7.cjs +443 -0
  180. package/dist/chunk-VHORVGCG.cjs +761 -0
  181. package/dist/{chunk-B4EKV6HQ.js → chunk-VKCTYLDN.js} +500 -442
  182. package/dist/{chunk-O3MGZDCT.cjs → chunk-VTEXJOSD.cjs} +63 -63
  183. package/dist/chunk-VVAAZITA.cjs +287 -0
  184. package/dist/{chunk-V7AKE5VT.cjs → chunk-W2GA3EQB.cjs} +435 -42
  185. package/dist/chunk-W4GABFCR.js +37 -0
  186. package/dist/chunk-WKEK4NCA.js +490 -0
  187. package/dist/{chunk-5A4TCHOC.cjs → chunk-WNYXT4TE.cjs} +4 -4
  188. package/dist/{chunk-S762UEV5.js → chunk-WTH23ISI.js} +6 -6
  189. package/dist/{chunk-BTKZGHAV.js → chunk-WWNCM473.js} +10 -6
  190. package/dist/{chunk-4YNYPHH3.cjs → chunk-X75H75UY.cjs} +2351 -213
  191. package/dist/{chunk-LYJJI7ZK.cjs → chunk-XCUDDFKC.cjs} +216 -9
  192. package/dist/chunk-YAO4HPJL.cjs +120 -0
  193. package/dist/chunk-YKY2JBER.cjs +9443 -0
  194. package/dist/chunk-YP5CHEYU.cjs +154 -0
  195. package/dist/{chunk-WRNEH5MO.js → chunk-YW3I2FQL.js} +18 -7
  196. package/dist/{chunk-BRNUPDHJ.js → chunk-Z557DVYN.js} +386 -19
  197. package/dist/{chunk-VSACG2AR.js → chunk-Z6LZUYZF.js} +21 -264
  198. package/dist/chunk-ZHPMP447.cjs +43 -0
  199. package/dist/{chunk-LODTHGST.cjs → chunk-ZK7KX5CD.cjs} +133 -70
  200. package/dist/{chunk-CCPSNT6B.cjs → chunk-ZRPALBQB.cjs} +5 -5
  201. package/dist/chunk-ZVFHPMC5.js +824 -0
  202. package/dist/chunk-ZVQMKUGJ.js +443 -0
  203. package/dist/cli/holoscript-runner.cjs +86 -48
  204. package/dist/cli/holoscript-runner.js +54 -16
  205. package/dist/codebase/index.cjs +1 -1
  206. package/dist/codebase/index.js +1 -1
  207. package/dist/compiler/agent-inference.cjs +11 -11
  208. package/dist/compiler/agent-inference.js +9 -6
  209. package/dist/compiler/android-xr.cjs +13 -12
  210. package/dist/compiler/android-xr.js +11 -10
  211. package/dist/compiler/android.cjs +12 -12
  212. package/dist/compiler/android.js +10 -10
  213. package/dist/compiler/business-quest.cjs +10 -10
  214. package/dist/compiler/business-quest.js +2 -2
  215. package/dist/compiler/coco.cjs +1 -1
  216. package/dist/compiler/coco.js +1 -1
  217. package/dist/compiler/context.cjs +9 -9
  218. package/dist/compiler/context.js +6 -6
  219. package/dist/compiler/daimon-seed.cjs +36 -0
  220. package/dist/compiler/daimon-seed.js +12 -0
  221. package/dist/compiler/domain-block-utils.cjs +205 -156
  222. package/dist/compiler/domain-block-utils.js +8 -7
  223. package/dist/compiler/dtdl.cjs +10 -10
  224. package/dist/compiler/dtdl.js +7 -7
  225. package/dist/compiler/gltf-pipeline.cjs +9 -9
  226. package/dist/compiler/gltf-pipeline.js +2 -2
  227. package/dist/compiler/godot.cjs +10 -9
  228. package/dist/compiler/godot.js +9 -8
  229. package/dist/compiler/incremental.cjs +11 -11
  230. package/dist/compiler/incremental.js +6 -6
  231. package/dist/compiler/index.cjs +2585 -3273
  232. package/dist/compiler/index.d.ts +149 -35
  233. package/dist/compiler/index.js +2197 -3102
  234. package/dist/compiler/ios.cjs +11 -11
  235. package/dist/compiler/ios.js +9 -9
  236. package/dist/compiler/llm-provider-capabilities.cjs +9 -9
  237. package/dist/compiler/llm-provider-capabilities.js +6 -6
  238. package/dist/compiler/nodetoy.cjs +1 -1
  239. package/dist/compiler/nodetoy.js +1 -1
  240. package/dist/compiler/openxr.cjs +11 -10
  241. package/dist/compiler/openxr.js +10 -9
  242. package/dist/compiler/remotion.cjs +1 -1
  243. package/dist/compiler/remotion.js +1 -1
  244. package/dist/compiler/reproducibility.cjs +1 -1
  245. package/dist/compiler/reproducibility.js +1 -1
  246. package/dist/compiler/sdf.cjs +11 -10
  247. package/dist/compiler/sdf.js +9 -8
  248. package/dist/compiler/semantic-scene.cjs +7 -7
  249. package/dist/compiler/semantic-scene.js +2 -2
  250. package/dist/compiler/state.cjs +9 -9
  251. package/dist/compiler/state.js +7 -7
  252. package/dist/compiler/trait-composition.cjs +11 -11
  253. package/dist/compiler/trait-composition.js +7 -7
  254. package/dist/compiler/traits/ProvenanceSemiring.d.ts +167 -0
  255. package/dist/compiler/traits/Semiring.d.ts +26 -0
  256. package/dist/compiler/unity.cjs +11 -10
  257. package/dist/compiler/unity.js +10 -9
  258. package/dist/compiler/unreal.cjs +12 -11
  259. package/dist/compiler/unreal.js +10 -9
  260. package/dist/compiler/urdf.cjs +18 -17
  261. package/dist/compiler/urdf.js +9 -8
  262. package/dist/compiler/usd-physics.cjs +11 -10
  263. package/dist/compiler/usd-physics.js +8 -7
  264. package/dist/compiler/visionos.cjs +11 -10
  265. package/dist/compiler/visionos.js +10 -9
  266. package/dist/compiler/vrchat.cjs +11 -10
  267. package/dist/compiler/vrchat.js +9 -8
  268. package/dist/compiler/wasm.cjs +14 -13
  269. package/dist/compiler/wasm.js +9 -8
  270. package/dist/compiler/webgpu.cjs +10 -9
  271. package/dist/compiler/webgpu.js +9 -8
  272. package/dist/constants.cjs +398 -0
  273. package/dist/constants.js +9 -0
  274. package/dist/coordinators/index.cjs +4 -1
  275. package/dist/coordinators/index.js +4 -1
  276. package/dist/debugger.cjs +11 -9
  277. package/dist/debugger.js +9 -7
  278. package/dist/{dist-ACXG6IH5.cjs → dist-GRMOP2UL.cjs} +341 -65
  279. package/dist/{dist-VD4L6V7Q.js → dist-ZBUKU2JG.js} +333 -63
  280. package/dist/entries/interop.cjs +23 -23
  281. package/dist/entries/interop.js +3 -3
  282. package/dist/entries/scripting.cjs +12 -11
  283. package/dist/entries/scripting.js +8 -7
  284. package/dist/evolution/index.cjs +66 -0
  285. package/dist/evolution/index.d.ts +162 -0
  286. package/dist/evolution/index.js +17 -0
  287. package/dist/hololand/index.cjs +41 -37
  288. package/dist/hololand/index.js +3 -3
  289. package/dist/index.cjs +12394 -3224
  290. package/dist/index.d.ts +260 -18
  291. package/dist/index.js +10755 -2182
  292. package/dist/keyword-registry/PluginKeywordRegistry.d.ts +138 -0
  293. package/dist/keyword-registry/index.cjs +29 -0
  294. package/dist/keyword-registry/index.d.ts +1 -0
  295. package/dist/keyword-registry/index.js +4 -0
  296. package/dist/math/tropical-spmv.cjs +11 -11
  297. package/dist/math/tropical-spmv.d.ts +1 -0
  298. package/dist/math/tropical-spmv.js +2 -2
  299. package/dist/math/tropicalSpmv.d.ts +43 -0
  300. package/dist/math/vec3.cjs +1 -1
  301. package/dist/math/vec3.js +1 -1
  302. package/dist/matter/StagedMatter.d.ts +82 -0
  303. package/dist/matter/index.cjs +17 -0
  304. package/dist/matter/index.d.ts +1 -0
  305. package/dist/matter/index.js +4 -0
  306. package/dist/{ml-dsa-Z7JDKW4L.js → ml-dsa-J6VKVT4K.js} +3 -3
  307. package/dist/{ml-dsa-FSKBTE3W.cjs → ml-dsa-MTIK4ZUQ.cjs} +23 -23
  308. package/dist/paper-0c-spike/index.cjs +1 -1
  309. package/dist/paper-0c-spike/index.js +1 -1
  310. package/dist/parameter-envelope/ParameterEnvelope.d.ts +128 -0
  311. package/dist/parameter-envelope/index.cjs +17 -0
  312. package/dist/parameter-envelope/index.d.ts +2 -0
  313. package/dist/parameter-envelope/index.js +4 -0
  314. package/dist/parser/HoloCompositionTypes.d.ts +2013 -0
  315. package/dist/parser/PipelineParser.d.ts +162 -0
  316. package/dist/parser.cjs +36 -20
  317. package/dist/parser.js +13 -9
  318. package/dist/plugin-manifest/ManifestAutoLoader.d.ts +35 -0
  319. package/dist/plugin-manifest/PluginManifest.d.ts +156 -0
  320. package/dist/plugin-manifest/index.cjs +25 -0
  321. package/dist/plugin-manifest/index.d.ts +2 -0
  322. package/dist/plugin-manifest/index.js +4 -0
  323. package/dist/plugin-solver-contract/PluginSolverContract.d.ts +288 -0
  324. package/dist/plugin-solver-contract/index.cjs +41 -0
  325. package/dist/plugin-solver-contract/index.d.ts +1 -0
  326. package/dist/plugin-solver-contract/index.js +4 -0
  327. package/dist/policy/ContentPolicyGate.d.ts +51 -0
  328. package/dist/policy/PolicyPack.d.ts +120 -0
  329. package/dist/policy/blocklist.d.ts +32 -0
  330. package/dist/policy/defaults.d.ts +44 -0
  331. package/dist/policy/index.cjs +106 -0
  332. package/dist/policy/index.d.ts +17 -0
  333. package/dist/policy/index.js +5 -0
  334. package/dist/policy/jsonLogic.d.ts +31 -0
  335. package/dist/policy/types.d.ts +174 -0
  336. package/dist/proof-composition/ProofCompositionLaw.d.ts +93 -0
  337. package/dist/proof-composition/index.cjs +25 -0
  338. package/dist/proof-composition/index.d.ts +1 -0
  339. package/dist/proof-composition/index.js +4 -0
  340. package/dist/receipts/hash-policy.d.ts +85 -0
  341. package/dist/reconstruction/index.cjs +75 -47
  342. package/dist/reconstruction/index.js +5 -5
  343. package/dist/runtime/plugin-trait-registrar.d.ts +36 -0
  344. package/dist/runtime.cjs +81 -79
  345. package/dist/runtime.js +9 -7
  346. package/dist/scene-presets-EDKYZ5GW.js +4 -0
  347. package/dist/scene-presets-NCW2CFRS.cjs +17 -0
  348. package/dist/self-improvement/index.cjs +1 -1
  349. package/dist/self-improvement/index.js +1 -1
  350. package/dist/{src-PT2FERDV.cjs → src-G3D7ZATQ.cjs} +545 -21
  351. package/dist/{src-J6CM4AUR.js → src-UXYA7HM6.js} +539 -16
  352. package/dist/storage/index.cjs +10 -10
  353. package/dist/storage/index.js +3 -3
  354. package/dist/testing.cjs +1 -1
  355. package/dist/testing.js +1 -1
  356. package/dist/tools/index.cjs +3631 -0
  357. package/dist/tools/index.js +3581 -0
  358. package/dist/traitDocs/traitDocs.cjs +9 -9
  359. package/dist/traitDocs/traitDocs.d.ts +1 -0
  360. package/dist/traitDocs/traitDocs.js +3 -3
  361. package/dist/traits/ControlLoopTrait.d.ts +154 -0
  362. package/dist/traits/KinematicChainTrait.d.ts +116 -0
  363. package/dist/traits/SensorSamplingTrait.d.ts +154 -0
  364. package/dist/traits/TraitTypes.d.ts +270 -0
  365. package/dist/traits/TransactionTrait.d.ts +121 -0
  366. package/dist/traits/botanical-lotus.cjs +54 -50
  367. package/dist/traits/botanical-lotus.js +2 -5
  368. package/dist/traits/control-loop.cjs +21 -0
  369. package/dist/traits/control-loop.d.ts +1 -0
  370. package/dist/traits/control-loop.js +4 -0
  371. package/dist/traits/engines/cloth-verlet.d.ts +65 -0
  372. package/dist/traits/engines/index.cjs +19 -19
  373. package/dist/traits/engines/index.d.ts +15 -275
  374. package/dist/traits/engines/index.js +3 -3
  375. package/dist/traits/engines/motion-data-schema.d.ts +119 -0
  376. package/dist/traits/engines/motion-matching.d.ts +102 -0
  377. package/dist/traits/engines/noise.d.ts +25 -0
  378. package/dist/traits/engines/onnx-adapter.d.ts +173 -0
  379. package/dist/traits/engines/onnx-motion-matching.d.ts +163 -0
  380. package/dist/traits/engines/pfnn-network.d.ts +92 -0
  381. package/dist/traits/engines/synthetic-walk-cycle.d.ts +38 -0
  382. package/dist/traits/engines/tensor-ops.d.ts +15 -0
  383. package/dist/traits/index.cjs +2789 -1259
  384. package/dist/traits/index.d.ts +35 -0
  385. package/dist/traits/index.js +1692 -411
  386. package/dist/traits/kinematic-chain.cjs +25 -0
  387. package/dist/traits/kinematic-chain.d.ts +1 -0
  388. package/dist/traits/kinematic-chain.js +4 -0
  389. package/dist/traits/sensor-sampling.cjs +33 -0
  390. package/dist/traits/sensor-sampling.d.ts +1 -0
  391. package/dist/traits/sensor-sampling.js +4 -0
  392. package/dist/traits/simulation-solver-factory.cjs +1 -1
  393. package/dist/traits/simulation-solver-factory.js +1 -1
  394. package/dist/traits/transaction.cjs +29 -0
  395. package/dist/traits/transaction.d.ts +1 -0
  396. package/dist/traits/transaction.js +4 -0
  397. package/dist/traits/webcam-gaze.cjs +1 -1
  398. package/dist/traits/webcam-gaze.js +1 -1
  399. package/dist/type-checker.cjs +7 -6
  400. package/dist/type-checker.js +5 -4
  401. package/dist/types/AdvancedTypeSystem.d.ts +489 -0
  402. package/dist/types/HoloScriptPlus.d.ts +810 -0
  403. package/dist/types/base.d.ts +248 -0
  404. package/dist/types.d.ts +799 -0
  405. package/dist/world/index.cjs +3 -4
  406. package/dist/world/index.js +3 -4
  407. package/dist/world-model/index.cjs +1 -1
  408. package/dist/world-model/index.js +1 -1
  409. package/dist/wot/index.cjs +1 -1
  410. package/dist/wot/index.js +1 -1
  411. package/package.json +135 -69
  412. package/dist/GLTFPipeline-3EJLL3TS.cjs +0 -38
  413. package/dist/GLTFPipeline-3OWJV2VK.js +0 -17
  414. package/dist/HoloScriptPlusParser-ADWRY5OS.cjs +0 -698
  415. package/dist/HoloScriptPlusParser-JLJDXHSC.js +0 -693
  416. package/dist/HoloScriptPlusParser-QCGFPWIL.cjs +0 -27
  417. package/dist/HoloScriptPlusParser-WENAFEFV.js +0 -10
  418. package/dist/HoloScriptRuntime-GGRVEU4T.cjs +0 -19
  419. package/dist/HoloScriptRuntime-GJK6VJPH.js +0 -10
  420. package/dist/chunk-22Q5A6RV.js +0 -979
  421. package/dist/chunk-4C57PR42.js +0 -468
  422. package/dist/chunk-4W5G5QVL.cjs +0 -847
  423. package/dist/chunk-5ET6L4NS.js +0 -487
  424. package/dist/chunk-C4GSLCHE.cjs +0 -7153
  425. package/dist/chunk-F2G6CWFT.js +0 -7089
  426. package/dist/chunk-G6PNEASF.cjs +0 -814
  427. package/dist/chunk-GTA4Q3A3.js +0 -1491
  428. package/dist/chunk-HCCQLAA4.cjs +0 -74
  429. package/dist/chunk-HFSVMKM3.cjs +0 -72
  430. package/dist/chunk-KAIVDEIG.cjs +0 -4539
  431. package/dist/chunk-KQU64CIX.cjs +0 -1508
  432. package/dist/chunk-MSYSQ2AJ.js +0 -4533
  433. package/dist/chunk-NHJLP37F.js +0 -70
  434. package/dist/chunk-NHYRRAGI.cjs +0 -490
  435. package/dist/chunk-OIQYIIO3.cjs +0 -473
  436. package/dist/chunk-OL46QLBJ.js +0 -61
  437. package/dist/chunk-SKZPC5AG.cjs +0 -984
  438. package/dist/chunk-SLHLXUMO.js +0 -445
  439. package/dist/chunk-UOIGFQXC.cjs +0 -9750
  440. package/dist/chunk-UOL6Y5TD.cjs +0 -759
  441. package/dist/chunk-UVFI7XIR.cjs +0 -452
  442. package/dist/chunk-VEPGBETF.js +0 -844
  443. package/dist/chunk-XQ5MWMP2.js +0 -756
  444. package/dist/chunk-XT6JY5W5.js +0 -9684
  445. package/dist/chunk-YRRAUB35.js +0 -811
  446. package/dist/compiler/GasOptimizationAnalyzer.d.ts +0 -73
  447. package/dist/compiler/NFTMarketplaceCompiler.d.ts +0 -23
  448. package/dist/compiler/ar.cjs +0 -23
  449. package/dist/compiler/ar.js +0 -11
  450. package/dist/compiler/babylon.cjs +0 -21
  451. package/dist/compiler/babylon.js +0 -15
  452. package/dist/compiler/multi-layer.cjs +0 -24
  453. package/dist/compiler/multi-layer.js +0 -15
  454. package/dist/compiler/playcanvas.cjs +0 -19
  455. package/dist/compiler/playcanvas.js +0 -13
  456. package/dist/compiler/r3f.cjs +0 -39
  457. package/dist/compiler/r3f.d.ts +0 -22
  458. package/dist/compiler/r3f.js +0 -17
  459. package/dist/compiler/vrr.cjs +0 -24
  460. package/dist/compiler/vrr.js +0 -12
  461. package/dist/parser/NFTMarketplaceTypes.d.ts +0 -191
  462. package/dist/playwright-3AT3AKTV.cjs +0 -98673
  463. package/dist/playwright-VZPDVUEQ.js +0 -98660
@@ -0,0 +1,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';