@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
@@ -0,0 +1,446 @@
1
+ 'use strict';
2
+
3
+ var chunkHCCQLAA4_cjs = require('./chunk-HCCQLAA4.cjs');
4
+
5
+ // src/compiler/traits/Semiring.ts
6
+ function minPlusMul(a, b) {
7
+ return !Number.isFinite(a) || !Number.isFinite(b) ? Number.POSITIVE_INFINITY : a + b;
8
+ }
9
+ function maxPlusMul(a, b) {
10
+ return !Number.isFinite(a) || !Number.isFinite(b) ? Number.NEGATIVE_INFINITY : a + b;
11
+ }
12
+ function strategyToSemiring(strategy) {
13
+ switch (strategy) {
14
+ case "sum":
15
+ case "multiply":
16
+ return exports.SumProductSemiring;
17
+ case "tropical-min-plus":
18
+ return exports.MinPlusSemiring;
19
+ case "tropical-max-plus":
20
+ return exports.MaxPlusSemiring;
21
+ default:
22
+ return null;
23
+ }
24
+ }
25
+ exports.MinPlusSemiring = void 0; exports.MaxPlusSemiring = void 0; exports.SumProductSemiring = void 0;
26
+ var init_Semiring = chunkHCCQLAA4_cjs.__esm({
27
+ "src/compiler/traits/Semiring.ts"() {
28
+ exports.MinPlusSemiring = {
29
+ zero: Number.POSITIVE_INFINITY,
30
+ one: 0,
31
+ add: (a, b) => Math.min(a, b),
32
+ mul: minPlusMul
33
+ };
34
+ exports.MaxPlusSemiring = {
35
+ zero: Number.NEGATIVE_INFINITY,
36
+ one: 0,
37
+ add: (a, b) => Math.max(a, b),
38
+ mul: maxPlusMul
39
+ };
40
+ exports.SumProductSemiring = {
41
+ zero: 0,
42
+ one: 1,
43
+ add: (a, b) => a + b,
44
+ mul: (a, b) => a * b
45
+ };
46
+ }
47
+ });
48
+
49
+ // src/compiler/traits/ProvenanceSemiring.ts
50
+ function isDeadElement(value) {
51
+ return value === exports.TRAIT_ZERO;
52
+ }
53
+ function createDeadElement(subsystem, elementId, reason, originalValue) {
54
+ return {
55
+ subsystem,
56
+ reason,
57
+ determinedAt: Date.now(),
58
+ elementId,
59
+ originalValue
60
+ };
61
+ }
62
+ function authorityWeight(level, reputationScore) {
63
+ const clamped = Math.max(0, Math.min(100, level));
64
+ let baseWeight = 0.5 + clamped / 100 * 1.5;
65
+ if (reputationScore !== void 0 && reputationScore > 0) {
66
+ if (reputationScore >= 100)
67
+ baseWeight *= 3;
68
+ else if (reputationScore >= 30)
69
+ baseWeight *= 2;
70
+ else if (reputationScore >= 5) baseWeight *= 1.5;
71
+ }
72
+ return baseWeight;
73
+ }
74
+ function tieBreakProvenance(a, b) {
75
+ const aid = String(a.context?.agentId ?? "");
76
+ const bid = String(b.context?.agentId ?? "");
77
+ if (aid !== bid) return aid < bid ? a : b;
78
+ const opA = String(a.context?.opId ?? "");
79
+ const opB = String(b.context?.opId ?? "");
80
+ if (opA !== opB) return opA < opB ? a : b;
81
+ const srcA = String(a.source ?? "");
82
+ const srcB = String(b.source ?? "");
83
+ if (srcA !== srcB) return srcA < srcB ? a : b;
84
+ const ja = canonicalTieValue(a.value);
85
+ const jb = canonicalTieValue(b.value);
86
+ if (ja !== jb) return ja <= jb ? a : b;
87
+ return a;
88
+ }
89
+ function canonicalTieValue(value, seen = /* @__PURE__ */ new WeakSet()) {
90
+ if (value === null) return "null";
91
+ switch (typeof value) {
92
+ case "string":
93
+ return `string:${JSON.stringify(value)}`;
94
+ case "number":
95
+ return Number.isFinite(value) ? `number:${value}` : `number:${String(value)}`;
96
+ case "bigint":
97
+ return `bigint:${value.toString()}`;
98
+ case "boolean":
99
+ return `boolean:${value}`;
100
+ case "undefined":
101
+ return "undefined";
102
+ case "symbol":
103
+ return `symbol:${String(value)}`;
104
+ case "function":
105
+ return `function:${value.name}`;
106
+ }
107
+ if (seen.has(value)) return "[Circular]";
108
+ seen.add(value);
109
+ let canonical;
110
+ if (value instanceof Date) {
111
+ const millis = value.getTime();
112
+ canonical = Number.isNaN(millis) ? "date:Invalid" : `date:${value.toISOString()}`;
113
+ } else if (Array.isArray(value)) {
114
+ canonical = `array:[${value.map((item) => canonicalTieValue(item, seen)).join(",")}]`;
115
+ } else {
116
+ const entries = Object.entries(value).sort(
117
+ ([left], [right]) => left.localeCompare(right)
118
+ );
119
+ canonical = `object:{${entries.map(([key, item]) => `${JSON.stringify(key)}:${canonicalTieValue(item, seen)}`).join(",")}}`;
120
+ }
121
+ seen.delete(value);
122
+ return canonical;
123
+ }
124
+ function isVectorValue(v) {
125
+ return Array.isArray(v) && v.length > 0 && v.every((x) => typeof x === "number");
126
+ }
127
+ function vecMagnitude(v) {
128
+ let sum = 0;
129
+ for (const x of v) sum += x * x;
130
+ return Math.sqrt(sum);
131
+ }
132
+ function vecAdd(a, b) {
133
+ if (a.length !== b.length) {
134
+ throw new Error(`Vector dimensionality mismatch: ${a.length} vs ${b.length}`);
135
+ }
136
+ return a.map((ai, i) => ai + b[i]);
137
+ }
138
+ function vecComponentMax(a, b) {
139
+ if (a.length !== b.length) {
140
+ throw new Error(`Vector dimensionality mismatch: ${a.length} vs ${b.length}`);
141
+ }
142
+ return a.map((ai, i) => Math.max(ai, b[i]));
143
+ }
144
+ function vecComponentMin(a, b) {
145
+ if (a.length !== b.length) {
146
+ throw new Error(`Vector dimensionality mismatch: ${a.length} vs ${b.length}`);
147
+ }
148
+ return a.map((ai, i) => Math.min(ai, b[i]));
149
+ }
150
+ function vecAuthorityPick(a, weightA, b, weightB) {
151
+ const eps = 1e-12;
152
+ if (Math.abs(weightA - weightB) > eps) return weightA > weightB ? a : b;
153
+ const magA = vecMagnitude(a);
154
+ const magB = vecMagnitude(b);
155
+ if (Math.abs(magA - magB) > eps) return magA >= magB ? a : b;
156
+ return JSON.stringify(a) <= JSON.stringify(b) ? a : b;
157
+ }
158
+ exports.TRAIT_ZERO = void 0; exports.AuthorityTier = void 0; exports.ProvenanceSemiring = void 0;
159
+ var init_ProvenanceSemiring = chunkHCCQLAA4_cjs.__esm({
160
+ "src/compiler/traits/ProvenanceSemiring.ts"() {
161
+ init_Semiring();
162
+ exports.TRAIT_ZERO = /* @__PURE__ */ Symbol.for("HoloScript::TraitZero");
163
+ exports.AuthorityTier = /* @__PURE__ */ ((AuthorityTier2) => {
164
+ AuthorityTier2[AuthorityTier2["GUEST"] = 0] = "GUEST";
165
+ AuthorityTier2[AuthorityTier2["AGENT"] = 25] = "AGENT";
166
+ AuthorityTier2[AuthorityTier2["MEMBER"] = 50] = "MEMBER";
167
+ AuthorityTier2[AuthorityTier2["ADMIN"] = 75] = "ADMIN";
168
+ AuthorityTier2[AuthorityTier2["FOUNDER"] = 100] = "FOUNDER";
169
+ return AuthorityTier2;
170
+ })(exports.AuthorityTier || {});
171
+ exports.ProvenanceSemiring = class {
172
+ constructor(rules) {
173
+ this.rules = /* @__PURE__ */ new Map();
174
+ if (rules) {
175
+ for (const rule of rules) {
176
+ this.rules.set(rule.property, rule);
177
+ }
178
+ } else {
179
+ this.loadDefaultRules();
180
+ }
181
+ }
182
+ loadDefaultRules() {
183
+ this.rules.set("type", {
184
+ property: "type",
185
+ strategy: "domain-override",
186
+ precedence: ["kinematic", "physics", "collidable", "static"]
187
+ });
188
+ this.rules.set("mass", { property: "mass", strategy: "authority-weighted" });
189
+ this.rules.set("friction", { property: "friction", strategy: "max" });
190
+ this.rules.set("restitution", { property: "restitution", strategy: "min" });
191
+ this.rules.set("color", {
192
+ property: "color",
193
+ strategy: "domain-override",
194
+ precedence: ["material", "color", "hoverable", "glowing"]
195
+ });
196
+ this.rules.set("opacity", { property: "opacity", strategy: "min" });
197
+ this.rules.set("velocity", { property: "velocity", strategy: "vec-component-sum" });
198
+ this.rules.set("acceleration", { property: "acceleration", strategy: "vec-component-sum" });
199
+ this.rules.set("angularVelocity", { property: "angularVelocity", strategy: "vec-component-sum" });
200
+ this.rules.set("stressTensor", { property: "stressTensor", strategy: "vec-component-max" });
201
+ this.rules.set("displacementField", { property: "displacementField", strategy: "vec-magnitude-max" });
202
+ this.rules.set("forceField", { property: "forceField", strategy: "vec-authority-weighted" });
203
+ }
204
+ /**
205
+ * Commutative addition (⊕)
206
+ * Merges multiple traits into a unified provenanced configuration map.
207
+ */
208
+ add(traits) {
209
+ const acc = {};
210
+ const conflicts = [];
211
+ const errors = [];
212
+ const deadElements = [];
213
+ for (const trait of traits) {
214
+ for (const [key, value] of Object.entries(trait.config)) {
215
+ if (value === exports.TRAIT_ZERO) {
216
+ deadElements.push(
217
+ createDeadElement(
218
+ "semiring",
219
+ `${trait.name}.${key}`,
220
+ `TRAIT_ZERO encountered during addition: property '${key}' from @${trait.name}`
221
+ )
222
+ );
223
+ continue;
224
+ }
225
+ if (!(key in acc)) {
226
+ acc[key] = { value, source: trait.name, context: trait.context };
227
+ } else {
228
+ const existing = acc[key];
229
+ try {
230
+ acc[key] = this.multiply(
231
+ existing,
232
+ { value, source: trait.name, context: trait.context },
233
+ key
234
+ );
235
+ conflicts.push(
236
+ `Resolved conflict on property '${key}' between @${existing.source} and @${trait.name}`
237
+ );
238
+ } catch (err) {
239
+ errors.push(err instanceof Error ? err.message : String(err));
240
+ }
241
+ }
242
+ }
243
+ }
244
+ const finalConfig = {};
245
+ for (const [k, v] of Object.entries(acc)) {
246
+ finalConfig[k] = v.value;
247
+ }
248
+ return {
249
+ config: finalConfig,
250
+ provenance: acc,
251
+ conflicts,
252
+ errors,
253
+ deadElements
254
+ };
255
+ }
256
+ /**
257
+ * Semiring multiplication (⊗)
258
+ * Resolves conflicts based on loaded domain rules, enforcing commutativity.
259
+ *
260
+ * C1 FIX: Authority no longer bypasses rules. Instead, authority modulates
261
+ * the weight within rule resolution. Higher authority = higher weight in
262
+ * numeric strategies, tiebreaker in domain-override. This ensures the
263
+ * algebraic structure is preserved — crossing an authority threshold
264
+ * changes the WEIGHT of a resolution, not the MECHANISM.
265
+ */
266
+ multiply(a, b, property) {
267
+ if (a.value === exports.TRAIT_ZERO) return a;
268
+ if (b.value === exports.TRAIT_ZERO) return b;
269
+ if (a.value === b.value) return tieBreakProvenance(a, b);
270
+ const rule = this.rules.get(property);
271
+ if (!rule) {
272
+ const authA = a.context?.authorityLevel ?? 0;
273
+ const authB = b.context?.authorityLevel ?? 0;
274
+ if (authA !== authB) {
275
+ return authA > authB ? a : b;
276
+ }
277
+ throw new Error(
278
+ `Unresolved conflict on '${property}': @${a.source} (${a.value}) vs @${b.source} (${b.value})`
279
+ );
280
+ }
281
+ const weightA = authorityWeight(a.context?.authorityLevel ?? 0, a.context?.reputationScore);
282
+ const weightB = authorityWeight(b.context?.authorityLevel ?? 0, b.context?.reputationScore);
283
+ if (rule && (rule.strategy === "tropical-min-plus" || rule.strategy === "tropical-max-plus")) {
284
+ const semiring = strategyToSemiring(rule.strategy);
285
+ if (!semiring) {
286
+ throw new Error(`No semiring adapter available for strategy '${rule.strategy}'`);
287
+ }
288
+ const srcA = String(a.source);
289
+ const srcB = String(b.source);
290
+ let selectedContext = weightA > weightB ? a.context : weightA < weightB ? b.context : tieBreakProvenance(a, b).context;
291
+ return {
292
+ value: semiring.mul(a.value, b.value),
293
+ source: srcA < srcB ? `${srcA}\u2297${srcB}` : `${srcB}\u2297${srcA}`,
294
+ context: selectedContext
295
+ };
296
+ }
297
+ switch (rule.strategy) {
298
+ case "max": {
299
+ const valA = a.value;
300
+ const valB = b.value;
301
+ if (valA === valB) return tieBreakProvenance(a, b);
302
+ return {
303
+ value: Math.max(valA, valB),
304
+ source: valA > valB ? a.source : b.source
305
+ };
306
+ }
307
+ case "min": {
308
+ const valA = a.value;
309
+ const valB = b.value;
310
+ if (valA === valB) return tieBreakProvenance(a, b);
311
+ return {
312
+ value: Math.min(valA, valB),
313
+ source: valA < valB ? a.source : b.source
314
+ };
315
+ }
316
+ case "sum": {
317
+ const srcA = String(a.source);
318
+ const srcB = String(b.source);
319
+ return {
320
+ value: a.value + b.value,
321
+ source: srcA < srcB ? `${srcA}+${srcB}` : `${srcB}+${srcA}`
322
+ };
323
+ }
324
+ case "multiply": {
325
+ const srcA = String(a.source);
326
+ const srcB = String(b.source);
327
+ return {
328
+ value: a.value * b.value,
329
+ source: srcA < srcB ? `${srcA}*${srcB}` : `${srcB}*${srcA}`
330
+ };
331
+ }
332
+ case "authority-weighted": {
333
+ const scaledA = a.value * weightA;
334
+ const scaledB = b.value * weightB;
335
+ const eps = 1e-12;
336
+ if (Math.abs(scaledA - scaledB) <= eps) {
337
+ return tieBreakProvenance(a, b);
338
+ }
339
+ return scaledA > scaledB ? { value: a.value, source: a.source, context: a.context } : { value: b.value, source: b.source, context: b.context };
340
+ }
341
+ case "domain-override": {
342
+ const precedence = rule.precedence || [];
343
+ const aIndex = precedence.indexOf(a.source);
344
+ const bIndex = precedence.indexOf(b.source);
345
+ if (aIndex !== -1 && bIndex !== -1) {
346
+ if (aIndex === bIndex) {
347
+ if (weightA !== weightB) return weightA > weightB ? a : b;
348
+ return tieBreakProvenance(a, b);
349
+ }
350
+ return aIndex < bIndex ? a : b;
351
+ } else if (aIndex !== -1) {
352
+ return a;
353
+ } else if (bIndex !== -1) {
354
+ return b;
355
+ } else {
356
+ if (weightA !== weightB) {
357
+ return weightA > weightB ? a : b;
358
+ }
359
+ return tieBreakProvenance(a, b);
360
+ }
361
+ }
362
+ // ── vector strategies (paper-3 §5.2) ────────────────────────────────
363
+ case "vec-component-max": {
364
+ if (!isVectorValue(a.value) || !isVectorValue(b.value)) {
365
+ throw new Error(
366
+ `vec-component-max requires VectorValue on property '${property}': got ${JSON.stringify(a.value)} and ${JSON.stringify(b.value)}`
367
+ );
368
+ }
369
+ const srcA = String(a.source);
370
+ const srcB = String(b.source);
371
+ return {
372
+ value: vecComponentMax(a.value, b.value),
373
+ source: srcA < srcB ? `${srcA}\u2295max${srcB}` : `${srcB}\u2295max${srcA}`
374
+ };
375
+ }
376
+ case "vec-component-min": {
377
+ if (!isVectorValue(a.value) || !isVectorValue(b.value)) {
378
+ throw new Error(
379
+ `vec-component-min requires VectorValue on property '${property}': got ${JSON.stringify(a.value)} and ${JSON.stringify(b.value)}`
380
+ );
381
+ }
382
+ const srcA = String(a.source);
383
+ const srcB = String(b.source);
384
+ return {
385
+ value: vecComponentMin(a.value, b.value),
386
+ source: srcA < srcB ? `${srcA}\u2295min${srcB}` : `${srcB}\u2295min${srcA}`
387
+ };
388
+ }
389
+ case "vec-component-sum": {
390
+ if (!isVectorValue(a.value) || !isVectorValue(b.value)) {
391
+ throw new Error(
392
+ `vec-component-sum requires VectorValue on property '${property}': got ${JSON.stringify(a.value)} and ${JSON.stringify(b.value)}`
393
+ );
394
+ }
395
+ const srcA = String(a.source);
396
+ const srcB = String(b.source);
397
+ return {
398
+ value: vecAdd(a.value, b.value),
399
+ source: srcA < srcB ? `${srcA}+${srcB}` : `${srcB}+${srcA}`
400
+ };
401
+ }
402
+ case "vec-magnitude-max": {
403
+ if (!isVectorValue(a.value) || !isVectorValue(b.value)) {
404
+ throw new Error(
405
+ `vec-magnitude-max requires VectorValue on property '${property}': got ${JSON.stringify(a.value)} and ${JSON.stringify(b.value)}`
406
+ );
407
+ }
408
+ const magA = vecMagnitude(a.value);
409
+ const magB = vecMagnitude(b.value);
410
+ const eps = 1e-12;
411
+ if (Math.abs(magA - magB) <= eps) {
412
+ const srcA = String(a.source);
413
+ const srcB = String(b.source);
414
+ return srcA <= srcB ? a : b;
415
+ }
416
+ return magA > magB ? a : b;
417
+ }
418
+ case "vec-authority-weighted": {
419
+ if (!isVectorValue(a.value) || !isVectorValue(b.value)) {
420
+ throw new Error(
421
+ `vec-authority-weighted requires VectorValue on property '${property}': got ${JSON.stringify(a.value)} and ${JSON.stringify(b.value)}`
422
+ );
423
+ }
424
+ const winner = vecAuthorityPick(a.value, weightA, b.value, weightB);
425
+ const isA = winner === a.value;
426
+ return isA ? { value: a.value, source: a.source, context: a.context } : { value: b.value, source: b.source, context: b.context };
427
+ }
428
+ case "strict-error":
429
+ default:
430
+ throw new Error(
431
+ `Composition conflict: @${a.source} and @${b.source} both supply '${property}' = ${a.value} vs ${b.value}`
432
+ );
433
+ }
434
+ }
435
+ };
436
+ }
437
+ });
438
+
439
+ exports.authorityWeight = authorityWeight;
440
+ exports.createDeadElement = createDeadElement;
441
+ exports.init_ProvenanceSemiring = init_ProvenanceSemiring;
442
+ exports.init_Semiring = init_Semiring;
443
+ exports.isDeadElement = isDeadElement;
444
+ exports.strategyToSemiring = strategyToSemiring;
445
+ //# sourceMappingURL=chunk-5S7RKFGR.cjs.map
446
+ //# sourceMappingURL=chunk-5S7RKFGR.cjs.map