@holoscript/core 7.0.0 → 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/README.md +4 -4
  2. package/bin/holoscript.cjs +3 -0
  3. package/dist/GLTFPipeline-N6B6PJ6G.cjs +38 -0
  4. package/dist/GLTFPipeline-P3WMNYCN.js +17 -0
  5. package/dist/HoloScriptPlusParser-7FBIFUFC.js +693 -0
  6. package/dist/HoloScriptPlusParser-A2W7OCN2.cjs +698 -0
  7. package/dist/HoloScriptPlusParser-F2Z56FJR.js +10 -0
  8. package/dist/HoloScriptPlusParser-WKHRIH6T.cjs +27 -0
  9. package/dist/HoloScriptRuntime-CBYJX3LZ.js +10 -0
  10. package/dist/HoloScriptRuntime-VJ374RER.cjs +19 -0
  11. package/dist/USDZExporter-3FWJ25JI.cjs +1037 -0
  12. package/dist/USDZExporter-D2HQLQYK.js +1035 -0
  13. package/dist/agents/index.cjs +19 -0
  14. package/dist/agents/index.d.ts +100 -0
  15. package/dist/agents/index.js +17 -0
  16. package/dist/chunk-2BSMSUCE.js +1941 -0
  17. package/dist/chunk-2IWC4FP7.cjs +1189 -0
  18. package/dist/chunk-2M2DPHKB.js +762 -0
  19. package/dist/chunk-2X7NGX3M.js +2426 -0
  20. package/dist/chunk-2YSNA2F2.cjs +1274 -0
  21. package/dist/chunk-3FOKASKO.cjs +348 -0
  22. package/dist/chunk-3WZEJHUQ.cjs +116 -0
  23. package/dist/chunk-4C57PR42.js +468 -0
  24. package/dist/chunk-4GU5GCIY.js +1384 -0
  25. package/dist/chunk-4N4SXXWF.js +769 -0
  26. package/dist/chunk-4PDEPEQW.cjs +41 -0
  27. package/dist/chunk-4R6SBXDB.js +45 -0
  28. package/dist/chunk-4SDKXQ4C.js +811 -0
  29. package/dist/chunk-4V2E7U7Q.cjs +2015 -0
  30. package/dist/chunk-5FSKKMR7.cjs +2092 -0
  31. package/dist/chunk-5GLCTO44.js +161 -0
  32. package/dist/chunk-5H2G27PK.cjs +627 -0
  33. package/dist/chunk-5JEU52DW.js +382 -0
  34. package/dist/chunk-5NWINHR5.cjs +689 -0
  35. package/dist/chunk-5S7RKFGR.cjs +446 -0
  36. package/dist/chunk-5WUNN6ZN.cjs +428 -0
  37. package/dist/chunk-6CTRH7HT.cjs +1985 -0
  38. package/dist/chunk-6EX3I5P4.cjs +130 -0
  39. package/dist/chunk-6Q7RC2MK.cjs +1418 -0
  40. package/dist/chunk-7H33U5SM.cjs +413 -0
  41. package/dist/chunk-7M3PNU2M.cjs +672 -0
  42. package/dist/chunk-7T25IEZ2.js +449 -0
  43. package/dist/chunk-7V4JI5TB.cjs +6947 -0
  44. package/dist/chunk-A6KINLZJ.js +236 -0
  45. package/dist/chunk-ADADVMXY.js +404 -0
  46. package/dist/chunk-AIA52I7T.cjs +543 -0
  47. package/dist/chunk-ALC6K7GL.cjs +4402 -0
  48. package/dist/chunk-ANXZFVY2.js +113 -0
  49. package/dist/chunk-AOVGZ25K.cjs +56583 -0
  50. package/dist/chunk-AVJHHUC5.cjs +718 -0
  51. package/dist/chunk-BGY3SDG3.js +4396 -0
  52. package/dist/chunk-BOVPWH4H.js +3857 -0
  53. package/dist/chunk-BRQJKJGT.cjs +20 -0
  54. package/dist/chunk-C37BHB7N.cjs +636 -0
  55. package/dist/chunk-CBJY23VL.js +126 -0
  56. package/dist/chunk-CCATWPXM.js +778 -0
  57. package/dist/chunk-CIWWXYHZ.cjs +50 -0
  58. package/dist/chunk-CMT5NMMS.js +669 -0
  59. package/dist/chunk-CR4FMIWL.cjs +1049 -0
  60. package/dist/chunk-CR7XRXRN.cjs +639 -0
  61. package/dist/chunk-CSD27UNQ.js +2176 -0
  62. package/dist/chunk-D3STJ56J.js +714 -0
  63. package/dist/chunk-DAJXW4KX.js +725 -0
  64. package/dist/chunk-DHO2YRIM.js +756 -0
  65. package/dist/chunk-DTGBOSEM.cjs +319 -0
  66. package/dist/chunk-E6XXE66V.js +2252 -0
  67. package/dist/chunk-E7JP3BS3.cjs +61 -0
  68. package/dist/chunk-EKBKLK7P.js +1169 -0
  69. package/dist/chunk-EKYL4PE3.cjs +404 -0
  70. package/dist/chunk-EXKSFGSX.cjs +274 -0
  71. package/dist/chunk-EXUP2BUM.cjs +1173 -0
  72. package/dist/chunk-FDSGHPAK.js +130 -0
  73. package/dist/chunk-FEWUHQNM.cjs +144 -0
  74. package/dist/chunk-FFAOS5HQ.js +70 -0
  75. package/dist/chunk-FGGJQRLZ.js +270 -0
  76. package/dist/chunk-FHP6LXJS.js +415 -0
  77. package/dist/chunk-FJPADH77.cjs +666 -0
  78. package/dist/chunk-FL33V6U7.js +421 -0
  79. package/dist/chunk-FYSPZT4V.cjs +169 -0
  80. package/dist/chunk-GIOYPNTH.js +5575 -0
  81. package/dist/chunk-GJNCFRJU.cjs +125 -0
  82. package/dist/chunk-GMP623FG.cjs +1508 -0
  83. package/dist/chunk-GQHQOPXZ.cjs +5580 -0
  84. package/dist/chunk-GTU2Z2WW.cjs +262 -0
  85. package/dist/chunk-GYZE55MO.js +2007 -0
  86. package/dist/chunk-GZG4KA4E.js +529 -0
  87. package/dist/chunk-H652NHX5.js +600 -0
  88. package/dist/chunk-HCCQLAA4.cjs +74 -0
  89. package/dist/chunk-HKEXJUWS.cjs +4007 -0
  90. package/dist/chunk-HNDK4IQU.cjs +5737 -0
  91. package/dist/chunk-HR2OSYVQ.js +56165 -0
  92. package/dist/chunk-HYNTS5CP.js +422 -0
  93. package/dist/chunk-I6XZ5DZF.cjs +488 -0
  94. package/dist/chunk-ILRBGFVD.cjs +72 -0
  95. package/dist/chunk-IUDGEUDO.cjs +1409 -0
  96. package/dist/chunk-IUTY5WQ2.cjs +424 -0
  97. package/dist/chunk-IVY74O6C.js +247 -0
  98. package/dist/chunk-IWC5DM2M.cjs +611 -0
  99. package/dist/chunk-J32ZJZJH.js +554 -0
  100. package/dist/chunk-J52VSAQ7.js +6884 -0
  101. package/dist/chunk-J6M4FPK5.js +421 -0
  102. package/dist/chunk-J7XZV333.js +844 -0
  103. package/dist/chunk-JBNDTXXV.cjs +2433 -0
  104. package/dist/chunk-JC5YBPSF.cjs +984 -0
  105. package/dist/chunk-JD7CIZ33.js +1949 -0
  106. package/dist/chunk-JIBL5LRK.js +4287 -0
  107. package/dist/chunk-JIYN45TV.cjs +2525 -0
  108. package/dist/chunk-K574J76X.cjs +457 -0
  109. package/dist/chunk-KHDZJE5D.cjs +2196 -0
  110. package/dist/chunk-KKFZ3B6J.cjs +557 -0
  111. package/dist/chunk-KKP7JKN4.cjs +6002 -0
  112. package/dist/chunk-KPJL34Y7.cjs +186 -0
  113. package/dist/chunk-KQCN6AKJ.cjs +3042 -0
  114. package/dist/chunk-L5LKKENW.cjs +424 -0
  115. package/dist/chunk-LHAXPADA.js +882 -0
  116. package/dist/chunk-LM2VU56C.cjs +37 -0
  117. package/dist/chunk-M56JSP4A.js +400 -0
  118. package/dist/chunk-MBOOR7X4.js +18 -0
  119. package/dist/chunk-MQWAT42R.cjs +4310 -0
  120. package/dist/chunk-MXFUTKCO.js +56 -0
  121. package/dist/chunk-MYY4PMWX.cjs +264 -0
  122. package/dist/chunk-N75IH2HY.js +258 -0
  123. package/dist/chunk-NCWCUZNS.cjs +72 -0
  124. package/dist/chunk-NG77ATEW.cjs +778 -0
  125. package/dist/chunk-NW5G5FBQ.js +215 -0
  126. package/dist/chunk-OBIYPYYS.cjs +1993 -0
  127. package/dist/chunk-OH2FAIVU.js +608 -0
  128. package/dist/chunk-OIQYIIO3.cjs +473 -0
  129. package/dist/chunk-OL46QLBJ.js +61 -0
  130. package/dist/chunk-OMXII44L.js +5386 -0
  131. package/dist/chunk-OSYNRVOV.cjs +243 -0
  132. package/dist/chunk-PGANYCAG.cjs +220 -0
  133. package/dist/chunk-PHENW4MQ.js +65 -0
  134. package/dist/chunk-PY37LNDP.js +686 -0
  135. package/dist/chunk-Q56TT7IL.js +483 -0
  136. package/dist/chunk-QD32ADK6.js +1046 -0
  137. package/dist/chunk-QPOQ7VPI.js +1491 -0
  138. package/dist/chunk-QPSKHBJP.js +5963 -0
  139. package/dist/chunk-QXH7QDSZ.js +1989 -0
  140. package/dist/chunk-R24NNAEG.js +1399 -0
  141. package/dist/chunk-R75BSDH7.cjs +50 -0
  142. package/dist/chunk-RARB3MBR.js +207 -0
  143. package/dist/chunk-ROHLEP2W.cjs +847 -0
  144. package/dist/chunk-S3MDHNKB.cjs +490 -0
  145. package/dist/chunk-S6YWHCKV.cjs +410 -0
  146. package/dist/chunk-SIEXCILW.js +229 -0
  147. package/dist/chunk-SLU6UPJI.cjs +410 -0
  148. package/dist/chunk-SMIWS6DE.cjs +212 -0
  149. package/dist/chunk-T5J7ZKP3.cjs +4885 -0
  150. package/dist/chunk-TDCNJHWO.js +341 -0
  151. package/dist/chunk-TG7O4WBC.js +406 -0
  152. package/dist/chunk-THCK6ECW.js +2085 -0
  153. package/dist/chunk-TJHVSBP2.js +439 -0
  154. package/dist/chunk-TVHSPJ4N.cjs +606 -0
  155. package/dist/chunk-TWUXUCEW.cjs +781 -0
  156. package/dist/chunk-U44IKGG7.cjs +5390 -0
  157. package/dist/chunk-UFZZ7TSN.cjs +886 -0
  158. package/dist/chunk-UJXISJBN.js +487 -0
  159. package/dist/chunk-UOIGFQXC.cjs +9750 -0
  160. package/dist/chunk-URG2SJLK.js +2521 -0
  161. package/dist/chunk-UWJHCOH2.js +623 -0
  162. package/dist/chunk-V6MKC2FZ.js +979 -0
  163. package/dist/chunk-VJ3L7CHT.cjs +169 -0
  164. package/dist/chunk-VMLKSV26.js +1216 -0
  165. package/dist/chunk-VVKVQZI6.js +55 -0
  166. package/dist/chunk-W6RW64BB.cjs +1219 -0
  167. package/dist/chunk-WKX5AMOY.js +309 -0
  168. package/dist/chunk-WNNE3PO3.js +34 -0
  169. package/dist/chunk-WRKUDAZJ.js +3038 -0
  170. package/dist/chunk-WRLUBRKS.cjs +1943 -0
  171. package/dist/chunk-WRNEH5MO.js +3169 -0
  172. package/dist/chunk-WRWEX5ZF.js +658 -0
  173. package/dist/chunk-X3GJPRVK.cjs +3246 -0
  174. package/dist/chunk-X3UVCWNL.cjs +2257 -0
  175. package/dist/chunk-XB274MW5.cjs +814 -0
  176. package/dist/chunk-XHIV6326.cjs +793 -0
  177. package/dist/chunk-XIVIE43A.cjs +729 -0
  178. package/dist/chunk-XJAN7CZG.cjs +432 -0
  179. package/dist/chunk-XKTPFXGA.js +164 -0
  180. package/dist/chunk-XL6INWKT.js +121 -0
  181. package/dist/chunk-XSFNHP2E.js +632 -0
  182. package/dist/chunk-XT6JY5W5.js +9684 -0
  183. package/dist/chunk-XUILI4KB.cjs +430 -0
  184. package/dist/chunk-YF2I3MV3.js +46 -0
  185. package/dist/chunk-YIMN575O.js +4847 -0
  186. package/dist/chunk-YIVFJNYV.js +176 -0
  187. package/dist/chunk-YKGPCZEE.cjs +237 -0
  188. package/dist/chunk-YN2YWTXW.js +5731 -0
  189. package/dist/chunk-YN6V7R3L.cjs +327 -0
  190. package/dist/chunk-YQELFNJV.js +39 -0
  191. package/dist/chunk-YVD3CSO3.js +1183 -0
  192. package/dist/chunk-YVOAF4ML.js +623 -0
  193. package/dist/chunk-YWOBW2PV.cjs +759 -0
  194. package/dist/chunk-YYXH45E2.js +426 -0
  195. package/dist/chunk-ZDSYWBIE.cjs +69 -0
  196. package/dist/chunk-ZU7NIRT6.js +325 -0
  197. package/dist/chunk-ZZ7RO2UQ.js +1243 -0
  198. package/dist/cli/holoscript-runner.cjs +2255 -0
  199. package/dist/cli/holoscript-runner.js +2230 -0
  200. package/dist/codebase/index.cjs +336 -0
  201. package/dist/codebase/index.js +331 -0
  202. package/dist/compiler/agent-inference.cjs +31 -0
  203. package/dist/compiler/agent-inference.js +8 -0
  204. package/dist/compiler/android-xr.cjs +24 -0
  205. package/dist/compiler/android-xr.js +14 -0
  206. package/dist/compiler/android.cjs +24 -0
  207. package/dist/compiler/android.js +14 -0
  208. package/dist/compiler/ar.cjs +23 -0
  209. package/dist/compiler/ar.js +11 -0
  210. package/dist/compiler/babylon.cjs +21 -0
  211. package/dist/compiler/babylon.js +15 -0
  212. package/dist/compiler/business-quest.cjs +43 -0
  213. package/dist/compiler/business-quest.js +4 -0
  214. package/dist/compiler/coco.cjs +27 -0
  215. package/dist/compiler/coco.js +4 -0
  216. package/dist/compiler/context.cjs +25 -0
  217. package/dist/compiler/context.d.ts +28 -0
  218. package/dist/compiler/context.js +8 -0
  219. package/dist/compiler/domain-block-utils.cjs +609 -0
  220. package/dist/compiler/domain-block-utils.js +11 -0
  221. package/dist/compiler/dtdl.cjs +27 -0
  222. package/dist/compiler/dtdl.js +11 -0
  223. package/dist/compiler/gltf-pipeline.cjs +39 -0
  224. package/dist/compiler/gltf-pipeline.js +4 -0
  225. package/dist/compiler/godot.cjs +18 -0
  226. package/dist/compiler/godot.js +12 -0
  227. package/dist/compiler/incremental.cjs +34 -0
  228. package/dist/compiler/incremental.js +9 -0
  229. package/dist/compiler/index.cjs +5408 -0
  230. package/dist/compiler/index.d.ts +334 -21
  231. package/dist/compiler/index.js +5069 -0
  232. package/dist/compiler/ios.cjs +23 -0
  233. package/dist/compiler/ios.js +13 -0
  234. package/dist/compiler/llm-provider-capabilities.cjs +25 -0
  235. package/dist/compiler/llm-provider-capabilities.d.ts +43 -0
  236. package/dist/compiler/llm-provider-capabilities.js +8 -0
  237. package/dist/compiler/multi-layer.cjs +24 -0
  238. package/dist/compiler/multi-layer.js +15 -0
  239. package/dist/compiler/nodetoy.cjs +23 -0
  240. package/dist/compiler/nodetoy.d.ts +69 -0
  241. package/dist/compiler/nodetoy.js +4 -0
  242. package/dist/compiler/openxr.cjs +19 -0
  243. package/dist/compiler/openxr.js +13 -0
  244. package/dist/compiler/playcanvas.cjs +19 -0
  245. package/dist/compiler/playcanvas.js +13 -0
  246. package/dist/compiler/r3f.cjs +39 -0
  247. package/dist/compiler/r3f.d.ts +22 -0
  248. package/dist/compiler/r3f.js +17 -0
  249. package/dist/compiler/remotion.cjs +23 -0
  250. package/dist/compiler/remotion.js +4 -0
  251. package/dist/compiler/reproducibility.cjs +39 -0
  252. package/dist/compiler/reproducibility.js +4 -0
  253. package/dist/compiler/sdf.cjs +24 -0
  254. package/dist/compiler/sdf.js +12 -0
  255. package/dist/compiler/semantic-scene.cjs +31 -0
  256. package/dist/compiler/semantic-scene.js +4 -0
  257. package/dist/compiler/state.cjs +21 -0
  258. package/dist/compiler/state.js +11 -0
  259. package/dist/compiler/trait-composition.cjs +30 -0
  260. package/dist/compiler/trait-composition.js +9 -0
  261. package/dist/compiler/unity.cjs +19 -0
  262. package/dist/compiler/unity.js +13 -0
  263. package/dist/compiler/unreal.cjs +23 -0
  264. package/dist/compiler/unreal.js +13 -0
  265. package/dist/compiler/urdf.cjs +52 -0
  266. package/dist/compiler/urdf.js +12 -0
  267. package/dist/compiler/usd-physics.cjs +26 -0
  268. package/dist/compiler/usd-physics.js +9 -0
  269. package/dist/compiler/visionos.cjs +19 -0
  270. package/dist/compiler/visionos.js +13 -0
  271. package/dist/compiler/vrchat.cjs +22 -0
  272. package/dist/compiler/vrchat.js +12 -0
  273. package/dist/compiler/vrr.cjs +24 -0
  274. package/dist/compiler/vrr.js +12 -0
  275. package/dist/compiler/wasm.cjs +36 -0
  276. package/dist/compiler/wasm.js +12 -0
  277. package/dist/compiler/webgpu.cjs +18 -0
  278. package/dist/compiler/webgpu.js +12 -0
  279. package/dist/coordinators/index.cjs +1266 -0
  280. package/dist/coordinators/index.d.ts +72 -1
  281. package/dist/coordinators/index.js +1259 -0
  282. package/dist/debugger.cjs +24 -0
  283. package/dist/debugger.js +11 -0
  284. package/dist/dist-ACXG6IH5.cjs +3113 -0
  285. package/dist/dist-VD4L6V7Q.js +3076 -0
  286. package/dist/entries/interop.cjs +64 -0
  287. package/dist/entries/interop.js +7 -0
  288. package/dist/entries/scripting.cjs +55 -0
  289. package/dist/entries/scripting.js +10 -0
  290. package/dist/hololand/index.cjs +146 -0
  291. package/dist/hololand/index.d.ts +70 -0
  292. package/dist/hololand/index.js +5 -0
  293. package/dist/index.cjs +44660 -0
  294. package/dist/index.d.ts +978 -21
  295. package/dist/index.js +41422 -0
  296. package/dist/math/tropical-spmv.cjs +45 -0
  297. package/dist/math/tropical-spmv.js +4 -0
  298. package/dist/math/vec3.cjs +57 -0
  299. package/dist/math/vec3.js +4 -0
  300. package/dist/ml-dsa-FSKBTE3W.cjs +1265 -0
  301. package/dist/ml-dsa-Z7JDKW4L.js +1265 -0
  302. package/dist/paper-0c-spike/index.cjs +150 -0
  303. package/dist/paper-0c-spike/index.js +141 -0
  304. package/dist/parser.cjs +61 -0
  305. package/dist/parser.d.ts +11 -0
  306. package/dist/parser.js +12 -0
  307. package/dist/playwright-3AT3AKTV.cjs +98673 -0
  308. package/dist/playwright-VZPDVUEQ.js +98660 -0
  309. package/dist/reconstruction/index.cjs +153 -0
  310. package/dist/reconstruction/index.d.ts +29 -2
  311. package/dist/reconstruction/index.js +8 -0
  312. package/dist/runtime.cjs +316 -0
  313. package/dist/runtime.d.ts +61 -0
  314. package/dist/runtime.js +31 -0
  315. package/dist/self-improvement/index.cjs +563 -0
  316. package/dist/self-improvement/index.js +545 -0
  317. package/dist/src-4ROC227P.cjs +2094 -0
  318. package/dist/src-HCCCSYP7.js +2073 -0
  319. package/dist/storage/index.cjs +38 -0
  320. package/dist/storage/index.js +5 -0
  321. package/dist/testing.cjs +25 -0
  322. package/dist/testing.d.ts +70 -0
  323. package/dist/testing.js +4 -0
  324. package/dist/traitDocs/traitDocs.cjs +33 -0
  325. package/dist/traitDocs/traitDocs.js +7 -0
  326. package/dist/traits/botanical-lotus.cjs +177 -0
  327. package/dist/traits/botanical-lotus.d.ts +502 -0
  328. package/dist/traits/botanical-lotus.js +7 -0
  329. package/dist/traits/engines/index.cjs +520 -0
  330. package/dist/traits/engines/index.js +380 -0
  331. package/dist/traits/index.cjs +24548 -0
  332. package/dist/traits/index.d.ts +171 -35
  333. package/dist/traits/index.js +21638 -0
  334. package/dist/traits/simulation-solver-factory.cjs +13 -0
  335. package/dist/traits/simulation-solver-factory.d.ts +23 -0
  336. package/dist/traits/simulation-solver-factory.js +4 -0
  337. package/dist/traits/webcam-gaze.cjs +35 -0
  338. package/dist/traits/webcam-gaze.d.ts +17 -0
  339. package/dist/traits/webcam-gaze.js +4 -0
  340. package/dist/type-checker.cjs +19 -0
  341. package/dist/type-checker.js +6 -0
  342. package/dist/world/index.cjs +947 -0
  343. package/dist/world/index.d.ts +147 -0
  344. package/dist/world/index.js +939 -0
  345. package/dist/world-model/index.cjs +1446 -0
  346. package/dist/world-model/index.d.ts +119 -0
  347. package/dist/world-model/index.js +1414 -0
  348. package/dist/wot/index.cjs +29 -0
  349. package/dist/wot/index.js +4 -0
  350. package/package.json +93 -49
@@ -67,6 +67,16 @@ export type TraitEvent = {
67
67
  [key: string]: any;
68
68
  };
69
69
 
70
+ export interface TraitHandler<T = any> {
71
+ name: string;
72
+ defaultConfig?: T;
73
+ onAttach?: (node: any, config: T, context: TraitContext) => void | Promise<void>;
74
+ onDetach?: (node: any, config: T, context: TraitContext) => void | Promise<void>;
75
+ onUpdate?: (node: any, config: T, context: TraitContext, delta: number) => void | Promise<void>;
76
+ onEvent?: (node: any, config: T, context: TraitContext, event: TraitEvent) => void | Promise<void>;
77
+ [key: string]: any;
78
+ }
79
+
70
80
  export interface AccessibilityContext {
71
81
  screenReader?: boolean;
72
82
  highContrast?: boolean;
@@ -83,6 +93,7 @@ export class VRTraitRegistry {
83
93
  register(handler: TraitHandler): void;
84
94
  unregister(name: string): void;
85
95
  get(name: string): TraitHandler | undefined;
96
+ getHandler(name: string): TraitHandler | undefined;
86
97
  getAll(): TraitHandler[];
87
98
  handleEventForAllTraits(node: any, ctx: TraitContext, event: TraitEvent): void;
88
99
  }
@@ -109,6 +120,78 @@ export function generateTraitSupportMatrix(traitDir: string): Promise<TraitSuppo
109
120
  export function matrixToJSON(matrix: TraitSupportMatrixData): string;
110
121
  export function matrixToYAML(matrix: TraitSupportMatrixData): string;
111
122
 
123
+ export interface Memory {
124
+ id: string;
125
+ key: string;
126
+ content: string;
127
+ tags: string[];
128
+ embedding: number[] | null;
129
+ createdAt: number;
130
+ accessedAt: number;
131
+ accessCount: number;
132
+ ttl: number | null;
133
+ source: string;
134
+ }
135
+
136
+ export interface MemoryRecallResult {
137
+ memory: Memory;
138
+ score: number;
139
+ }
140
+
141
+ export interface AgentMemoryConfig {
142
+ max_memories: number;
143
+ default_ttl: number | null;
144
+ embedding_model: 'local' | 'openai' | 'none';
145
+ embedding_dim: number;
146
+ auto_compress: boolean;
147
+ compress_prompt: string;
148
+ sync_to_postgres: boolean;
149
+ postgres_url: string;
150
+ db_name: string;
151
+ }
152
+
153
+ export interface AgentMemoryState {
154
+ memories: Map<string, Memory>;
155
+ db: IDBDatabase | null;
156
+ isReady: boolean;
157
+ totalStored: number;
158
+ totalRecalled: number;
159
+ totalCompressed: number;
160
+ }
161
+
162
+ export const agentMemoryHandler: TraitHandler<AgentMemoryConfig>;
163
+
164
+ export interface JEPAPredictorConfig {
165
+ latentDim: number;
166
+ condDim: number;
167
+ }
168
+
169
+ export interface JEPAPredictorWeights {
170
+ W1: Float32Array;
171
+ b1: Float32Array;
172
+ W2: Float32Array;
173
+ b2: Float32Array;
174
+ }
175
+
176
+ export interface JEPAPredictorForwardResult {
177
+ predicted: Float32Array;
178
+ hidden: Float32Array;
179
+ }
180
+
181
+ export class JEPAPredictor {
182
+ readonly latentDim: number;
183
+ readonly condDim: number;
184
+ constructor(config: JEPAPredictorConfig, weights?: JEPAPredictorWeights);
185
+ forward(contextEmb: Float32Array, conditioning?: Float32Array | null): JEPAPredictorForwardResult;
186
+ setWeights(weights: JEPAPredictorWeights): void;
187
+ getWeights(): Readonly<JEPAPredictorWeights>;
188
+ plan(currentState: string, candidateActions: string[]): {
189
+ action: string;
190
+ predicted: Float32Array;
191
+ confidence: number;
192
+ };
193
+ }
194
+
112
195
  export class TraitCompositor {
113
196
  [key: string]: any;
114
197
  }
@@ -150,38 +233,91 @@ export interface EmergentSpacetimeState {
150
233
 
151
234
  export const emergentSpacetimeHandler: TraitHandler<EmergentSpacetimeConfig>;
152
235
 
153
- // ── Namespaced domain plugins (mirrors packages/core/src/traits/index.ts) ──
154
- // Keeps `import { FilmVFXPlugin } from '@holoscript/core/traits'` resolving after barrel namespacing.
155
- export * as FilmVFXPlugin from '@holoscript/plugin-film-vfx';
156
- export * as AlphaFoldPlugin from '@holoscript/alphafold-plugin';
157
- export * as BankingFinancePlugin from '@holoscript/plugin-banking-finance';
158
- export * as CivilEngineeringPlugin from '@holoscript/plugin-civil-engineering';
159
- export * as CultureKeywordPlugin from '@holoscript/plugin-culture-keyword';
160
- export * as DomainPluginTemplate from '@holoscript/domain-plugin-template';
161
- export * as EconomicPrimitivesPlugin from '@holoscript/plugin-economic-primitives';
162
- export * as EducationLmsPlugin from '@holoscript/plugin-education-lms';
163
- export * as EmergencyResponsePlugin from '@holoscript/plugin-emergency-response';
164
- export * as FashionPlugin from '@holoscript/plugin-fashion';
165
- export * as Film3dVolumetricsPlugin from '@holoscript/plugin-film3d-volumetrics';
166
- export * as FitnessWellnessPlugin from '@holoscript/plugin-fitness-wellness';
167
- export * as ForensicsPlugin from '@holoscript/plugin-forensics';
168
- export * as GeolocationGisPlugin from '@holoscript/plugin-geolocation-gis';
169
- export * as HardwareInventionPlugin from '@holoscript/plugin-hardware-invention';
170
- export * as HrWorkforcePlugin from '@holoscript/plugin-hr-workforce';
171
- export * as InsurancePlugin from '@holoscript/plugin-insurance';
172
- export * as LegalDocumentPlugin from '@holoscript/plugin-legal-document';
173
- export * as ManufacturingQcPlugin from '@holoscript/plugin-manufacturing-qc';
174
- export * as MedicalPlugin from '@holoscript/medical-plugin';
175
- export * as NeurosciencePlugin from '@holoscript/plugin-neuroscience';
176
- export * as RadioAstronomyPlugin from '@holoscript/radio-astronomy-plugin';
177
- export * as RestaurantPlugin from '@holoscript/plugin-restaurant';
178
- export * as RetailEcommercePlugin from '@holoscript/plugin-retail-ecommerce';
179
- export * as RoboticsPlugin from '@holoscript/robotics-plugin';
180
- export * as NarupaPlugin from '@holoscript/narupa-plugin';
181
- export * as TherapyPlugin from '@holoscript/plugin-therapy';
182
- export * as ThreatIntelligencePlugin from '@holoscript/plugin-threat-intelligence';
183
- export * as TraitAuditPlugin from '@holoscript/plugin-trait-audit';
184
- export * as TravelHospitalityPlugin from '@holoscript/plugin-travel-hospitality';
185
- export * as UrbanPlanningPlugin from '@holoscript/plugin-urban-planning';
186
- export * as WineFoodBeveragePlugin from '@holoscript/plugin-wine-food-beverage';
187
- export * as WisdomGotchaPlugin from '@holoscript/plugin-wisdom-gotcha';
236
+ export interface NormalizedFaceLandmark {
237
+ x: number;
238
+ y: number;
239
+ z?: number;
240
+ visibility?: number;
241
+ presence?: number;
242
+ }
243
+ export interface WebcamGazeSample {
244
+ gaze_x: number;
245
+ gaze_y: number;
246
+ foveal_center: [number, number];
247
+ confidence: number;
248
+ timestamp: number;
249
+ source: 'webcam';
250
+ }
251
+ export interface WebcamGazeConfig {
252
+ auto_start: boolean;
253
+ video_width: number;
254
+ video_height: number;
255
+ sample_rate_hz: number;
256
+ confidence_threshold: number;
257
+ wasm_base_path: string;
258
+ model_asset_path: string;
259
+ gaze_gain_x: number;
260
+ gaze_gain_y: number;
261
+ max_ray_angle_degrees: number;
262
+ }
263
+ export const DEFAULT_WEBCAM_GAZE_CONFIG: WebcamGazeConfig;
264
+ export class WebcamGazeTracker {
265
+ constructor(options: {
266
+ config: WebcamGazeConfig;
267
+ videoElement?: HTMLVideoElement | null;
268
+ onSample: (sample: WebcamGazeSample) => void;
269
+ onError?: (error: Error) => void;
270
+ });
271
+ getStream(): MediaStream | null;
272
+ getVideoElement(): HTMLVideoElement | null;
273
+ start(): Promise<void>;
274
+ stop(): void;
275
+ }
276
+ export function estimateWebcamGazeFromLandmarks(
277
+ landmarks: readonly NormalizedFaceLandmark[],
278
+ config?: Partial<WebcamGazeConfig>
279
+ ): WebcamGazeSample | null;
280
+ export function webcamGazeToRay(
281
+ sample: Pick<WebcamGazeSample, 'foveal_center'>,
282
+ maxAngleDegrees?: number
283
+ ): [number, number, number];
284
+ export const webcamGazeHandler: TraitHandler<WebcamGazeConfig>;
285
+
286
+ // ── Domain plugins are NOT re-exported from core ──────────────────────────────
287
+ // Core must not statically depend on domain plugins — plugins are data, not code
288
+ // (CLAUDE.md / NORTH_STAR). Re-exporting them (even type-only) forced every
289
+ // consumer of '@holoscript/core/traits' to resolve each plugin's types, which
290
+ // point at source, dragging ~189 plugin source files (incl. .tsx importing
291
+ // react/three) into slim builds → TS2307 (broke Studio deploy 2026-05-26).
292
+ // Import a plugin directly from its own package, e.g. '@holoscript/radio-astronomy-plugin'.
293
+
294
+ // ── Quantum-Inspired optimization trait ──────────────────────────────────────
295
+ // (packages/core/src/traits/QuantumInspiredTrait.ts)
296
+
297
+ /** Minimal subset of SnnAccelerator the trait depends on. */
298
+ export interface SnnAcceleratorLike {
299
+ readonly available: boolean;
300
+ initialize(opts?: { enableSnn?: boolean; snnTimesteps?: number }): Promise<void>;
301
+ encode(histogram: Float32Array): Promise<Float32Array>;
302
+ dispose(): void;
303
+ }
304
+
305
+ /** Factory that constructs an SnnAcceleratorLike instance on demand. */
306
+ export type SnnAcceleratorProvider = () => SnnAcceleratorLike;
307
+
308
+ export interface QuantumInspiredConfig {
309
+ /** Number of LIF neurons for population coding. Default: 128. */
310
+ numNeurons: number;
311
+ /** Scalar learning-rate exposed to .hs authors. Default: 0.01. */
312
+ learningRate: number;
313
+ /** LIF simulation timesteps per encode call. Default: 50. */
314
+ snnTimesteps: number;
315
+ /**
316
+ * Optional factory for a concrete SnnAcceleratorLike.
317
+ * Inject () => new SnnAccelerator() from @holoscript/holoembed for GPU.
318
+ * Omit for pure-CPU sigmoid fallback.
319
+ */
320
+ acceleratorProvider?: SnnAcceleratorProvider;
321
+ }
322
+
323
+ export declare const quantumInspiredHandler: TraitHandler<QuantumInspiredConfig>;