@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,37 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
7
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
8
+ }) : x)(function(x) {
9
+ if (typeof require !== "undefined") return require.apply(this, arguments);
10
+ throw Error('Dynamic require of "' + x + '" is not supported');
11
+ });
12
+ var __esm = (fn, res, err) => function __init() {
13
+ if (err) throw err[0];
14
+ try {
15
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
16
+ } catch (e) {
17
+ throw err = [e], e;
18
+ }
19
+ };
20
+ var __export = (target, all) => {
21
+ for (var name in all)
22
+ __defProp(target, name, { get: all[name], enumerable: true });
23
+ };
24
+ var __copyProps = (to, from, except, desc) => {
25
+ if (from && typeof from === "object" || typeof from === "function") {
26
+ for (let key of __getOwnPropNames(from))
27
+ if (!__hasOwnProp.call(to, key) && key !== except)
28
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
29
+ }
30
+ return to;
31
+ };
32
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
34
+
35
+ export { __esm, __export, __publicField, __require, __toCommonJS };
36
+ //# sourceMappingURL=chunk-W4GABFCR.js.map
37
+ //# sourceMappingURL=chunk-W4GABFCR.js.map
@@ -0,0 +1,490 @@
1
+ import { parseHolo } from './chunk-SZOLTWWD.js';
2
+ import { parse } from './chunk-DBH3D2MU.js';
3
+
4
+ // src/evolution/EvolveProgramBackend.ts
5
+ async function sha256Hex(s) {
6
+ const bytes = new TextEncoder().encode(s);
7
+ const digest = await globalThis.crypto.subtle.digest("SHA-256", bytes);
8
+ return Array.from(new Uint8Array(digest)).map((b) => b.toString(16).padStart(2, "0")).join("");
9
+ }
10
+ async function runEvolution(seedCode, policy, io) {
11
+ const now = io.now ?? (() => (/* @__PURE__ */ new Date()).toISOString());
12
+ const trace = [];
13
+ let nextId = 0;
14
+ let evaluated = 0;
15
+ let discarded = 0;
16
+ const push = (c) => {
17
+ trace.push(c);
18
+ return c;
19
+ };
20
+ const finalize = async (result, seedScore, bestScore) => {
21
+ const traceJSONL = trace.map((c) => JSON.stringify(c)).join("\n");
22
+ const improvementPct2 = seedScore !== null && bestScore !== null && seedScore > 0 ? Math.round((seedScore - bestScore) / seedScore * 1e3) / 10 : null;
23
+ return {
24
+ result,
25
+ generations: policy.generations,
26
+ evaluated,
27
+ survivors: trace.filter((c) => c.passed).length,
28
+ discarded,
29
+ seedScore,
30
+ bestScore,
31
+ improvementPct: improvementPct2,
32
+ proposerModel: policy.proposerModel,
33
+ verifierGated: true,
34
+ selfShips: false,
35
+ traceJSONL,
36
+ verifyUrl: `cael:sha256:${await sha256Hex(traceJSONL)}`,
37
+ ts: now()
38
+ };
39
+ };
40
+ const seedGate = await io.gate(seedCode);
41
+ evaluated++;
42
+ const seed = push({
43
+ id: nextId++,
44
+ gen: 0,
45
+ parentId: null,
46
+ passed: seedGate.passed,
47
+ score: seedGate.passed ? seedGate.score : Infinity,
48
+ bytes: seedCode.length,
49
+ note: "seed"
50
+ });
51
+ if (!seedGate.passed) {
52
+ discarded++;
53
+ return { bestCode: null, receipt: await finalize("SEED_INVALID", null, null) };
54
+ }
55
+ const archive = [{ cand: seed, code: seedCode }];
56
+ let best = { cand: seed, code: seedCode };
57
+ let propIdx = 0;
58
+ for (let gen = 1; gen <= policy.generations; gen++) {
59
+ for (let p = 0; p < policy.population; p++) {
60
+ const parent = archive[propIdx % archive.length];
61
+ propIdx++;
62
+ let code;
63
+ try {
64
+ code = (await io.propose(parent.code, policy.goal, policy)).trim();
65
+ } catch (err) {
66
+ push({
67
+ id: nextId++,
68
+ gen,
69
+ parentId: parent.cand.id,
70
+ passed: false,
71
+ score: Infinity,
72
+ bytes: 0,
73
+ note: `propose_error:${err.message}`
74
+ });
75
+ continue;
76
+ }
77
+ if (!code || code === parent.code) {
78
+ push({
79
+ id: nextId++,
80
+ gen,
81
+ parentId: parent.cand.id,
82
+ passed: false,
83
+ score: Infinity,
84
+ bytes: code.length,
85
+ note: "empty_or_unchanged"
86
+ });
87
+ continue;
88
+ }
89
+ const g = await io.gate(code);
90
+ evaluated++;
91
+ const cand = push({
92
+ id: nextId++,
93
+ gen,
94
+ parentId: parent.cand.id,
95
+ passed: g.passed,
96
+ score: g.passed ? g.score : Infinity,
97
+ bytes: code.length,
98
+ note: g.passed ? "gated_pass" : "gated_fail_discarded"
99
+ });
100
+ io.onCandidate?.({
101
+ gen,
102
+ parentId: parent.cand.id,
103
+ parentCode: parent.code,
104
+ goal: policy.goal,
105
+ candidateCode: code,
106
+ passed: g.passed,
107
+ score: g.passed ? g.score : Infinity
108
+ });
109
+ if (!g.passed) {
110
+ discarded++;
111
+ continue;
112
+ }
113
+ archive.push({ cand, code });
114
+ archive.sort((a, b) => a.cand.score - b.cand.score);
115
+ if (archive.length > policy.archiveSize) archive.length = policy.archiveSize;
116
+ if (cand.score < best.cand.score) best = { cand, code };
117
+ }
118
+ }
119
+ const improved = best.cand.id !== seed.id && best.cand.score < seed.score;
120
+ return {
121
+ // Propose-not-ship: only surface code that genuinely beat the seed.
122
+ bestCode: improved ? best.code : null,
123
+ receipt: await finalize(
124
+ improved ? "IMPROVED" : "NO_IMPROVEMENT",
125
+ seed.score,
126
+ best.cand.score === Infinity ? null : best.cand.score
127
+ )
128
+ };
129
+ }
130
+ function makeOllamaProposer(endpoint, model) {
131
+ const base = endpoint.replace(/\/+$/, "");
132
+ return async (parentCode, goal) => {
133
+ const prompt = `You are improving a program toward a goal. GOAL: ${goal}
134
+
135
+ Return ONLY the full revised program \u2014 no prose, no explanation, no markdown code fences.
136
+
137
+ --- CURRENT PROGRAM ---
138
+ ${parentCode}
139
+ --- END ---`;
140
+ const res = await fetch(`${base}/api/generate`, {
141
+ method: "POST",
142
+ headers: { "content-type": "application/json" },
143
+ body: JSON.stringify({ model, prompt, stream: false, options: { temperature: 0.7 } })
144
+ });
145
+ if (!res.ok) throw new Error(`ollama ${res.status}`);
146
+ const body = await res.json();
147
+ return (body.response ?? "").trim().replace(/^```[a-z]*\n?/i, "").replace(/\n?```$/i, "").trim();
148
+ };
149
+ }
150
+ function toGradedTraceRow(rec, opts) {
151
+ return {
152
+ system: "HoloScript program-evolution proposer: improve the program toward the goal while keeping it valid.",
153
+ user: `GOAL: ${rec.goal}
154
+
155
+ Improve this program toward the goal. Return ONLY the full revised program.
156
+
157
+ --- CURRENT PROGRAM ---
158
+ ${rec.parentCode}
159
+ --- END ---`,
160
+ target: rec.candidateCode,
161
+ grader: {
162
+ passed: rec.passed,
163
+ score: rec.passed ? rec.score : null,
164
+ kind: "evolve-gated",
165
+ gen: rec.gen,
166
+ parentId: rec.parentId
167
+ },
168
+ family: "program-evolution",
169
+ modality: "code",
170
+ source: opts.source ?? "evolve-loop",
171
+ agentId: opts.agentId,
172
+ ts: opts.ts
173
+ };
174
+ }
175
+
176
+ // src/evolution/corpusPortfolio.ts
177
+ var CORPUS_PORTFOLIO = [
178
+ {
179
+ name: "companion-trait",
180
+ format: "holo",
181
+ // @trait {…} parses via the .holo composition parser
182
+ goal: "Tighten this trait while keeping its name, tags, and the on_attach emit identical.",
183
+ source: [
184
+ "@trait greet_companion {",
185
+ ' mood: String = "friendly"',
186
+ ' capability_tags: ["greeting", "companion"]',
187
+ " @on_attach => {",
188
+ ' emit("greet_declared", { mood: mood })',
189
+ " }",
190
+ "}"
191
+ ].join("\n"),
192
+ preserved: [/greet_companion/, /capability_tags/, /greeting/, /greet_declared/]
193
+ },
194
+ {
195
+ name: "patrol-statemachine",
196
+ format: "hsplus",
197
+ // composition + @state_machine parses via the HSPlus parser
198
+ goal: 'Add a fourth state reachable from "chasing" on "lost", keeping the original states and transitions.',
199
+ source: [
200
+ 'composition "PatrolBot" {',
201
+ ' state { entityId: "bot" mood: "alert" }',
202
+ " @state_machine {",
203
+ ' initial: "idle"',
204
+ " states: {",
205
+ ' idle: { seen: -> "chasing" }',
206
+ ' chasing: { lost: -> "idle" }',
207
+ " }",
208
+ " }",
209
+ "}"
210
+ ].join("\n"),
211
+ preserved: [/PatrolBot/, /\bidle\b/, /\bchasing\b/]
212
+ },
213
+ {
214
+ name: "mini-scene",
215
+ format: "holo",
216
+ goal: "Group the objects under a reusable template, keeping every object name and position.",
217
+ source: [
218
+ 'composition "MiniScene" {',
219
+ ' environment { skybox: "gradient" }',
220
+ ' object "Cube" {',
221
+ " position: [0, 1, 0]",
222
+ " }",
223
+ ' object "Light" {',
224
+ " position: [2, 4, 2]",
225
+ " }",
226
+ "}"
227
+ ].join("\n"),
228
+ preserved: [/MiniScene/, /Cube/, /Light/]
229
+ },
230
+ // ── portfolio widening (2026-07-04): the original 3 seeds saturated the
231
+ // accrual feeder (qwen3:4b converges to one dense candidate per constrained
232
+ // seed → dedupRows rejects re-proposals → corpus froze at 14 rows). Six more
233
+ // parse-clean seeds across the SAME surface classes (traits / state machines /
234
+ // scenes) give the round-robin more distinct targets so novel gated rows keep
235
+ // accruing. Each source was validated against its native parser via
236
+ // `parsesClean` before landing. Appended AFTER index 2 so the positional
237
+ // tests (CORPUS_PORTFOLIO[0]/[1]) stay green. ──
238
+ {
239
+ name: "timer-trait",
240
+ format: "holo",
241
+ goal: "Tighten this trait while keeping its name, tags, and the on_attach emit identical.",
242
+ source: [
243
+ "@trait cooldown_timer {",
244
+ " duration: Number = 3",
245
+ ' capability_tags: ["timer", "cooldown"]',
246
+ " @on_attach => {",
247
+ ' emit("timer_started", { duration: duration })',
248
+ " }",
249
+ "}"
250
+ ].join("\n"),
251
+ preserved: [/cooldown_timer/, /capability_tags/, /timer/, /timer_started/]
252
+ },
253
+ {
254
+ name: "health-trait",
255
+ format: "holo",
256
+ goal: "Tighten this trait while keeping its name, tags, and the on_attach emit identical.",
257
+ source: [
258
+ "@trait health_pool {",
259
+ " hp: Number = 100",
260
+ ' capability_tags: ["health", "damageable"]',
261
+ " @on_attach => {",
262
+ ' emit("health_ready", { hp: hp })',
263
+ " }",
264
+ "}"
265
+ ].join("\n"),
266
+ preserved: [/health_pool/, /capability_tags/, /health/, /health_ready/]
267
+ },
268
+ {
269
+ name: "door-statemachine",
270
+ format: "hsplus",
271
+ goal: 'Add a fifth state reachable from "open" on "jam", keeping the original states and transitions.',
272
+ source: [
273
+ 'composition "SmartDoor" {',
274
+ ' state { entityId: "door" status: "closed" }',
275
+ " @state_machine {",
276
+ ' initial: "closed"',
277
+ " states: {",
278
+ ' closed: { approach: -> "opening" }',
279
+ ' opening: { done: -> "open" }',
280
+ ' open: { leave: -> "closed" }',
281
+ " }",
282
+ " }",
283
+ "}"
284
+ ].join("\n"),
285
+ preserved: [/SmartDoor/, /\bclosed\b/, /\bopening\b/, /\bopen\b/]
286
+ },
287
+ {
288
+ name: "trafficlight-statemachine",
289
+ format: "hsplus",
290
+ goal: 'Add a flashing state reachable from "red" on "fault", keeping the original phases and transitions.',
291
+ source: [
292
+ 'composition "TrafficLight" {',
293
+ ' state { entityId: "light" phase: "red" }',
294
+ " @state_machine {",
295
+ ' initial: "red"',
296
+ " states: {",
297
+ ' red: { tick: -> "green" }',
298
+ ' green: { tick: -> "yellow" }',
299
+ ' yellow: { tick: -> "red" }',
300
+ " }",
301
+ " }",
302
+ "}"
303
+ ].join("\n"),
304
+ preserved: [/TrafficLight/, /\bred\b/, /\bgreen\b/, /\byellow\b/]
305
+ },
306
+ {
307
+ name: "room-scene",
308
+ format: "holo",
309
+ goal: "Group the objects under a reusable template, keeping every object name and position.",
310
+ source: [
311
+ 'composition "RoomScene" {',
312
+ ' environment { skybox: "studio" }',
313
+ ' object "Table" {',
314
+ " position: [0, 0, 0]",
315
+ " }",
316
+ ' object "Chair" {',
317
+ " position: [1, 0, 0]",
318
+ " }",
319
+ ' object "Lamp" {',
320
+ " position: [0, 2, 0]",
321
+ " }",
322
+ "}"
323
+ ].join("\n"),
324
+ preserved: [/RoomScene/, /Table/, /Chair/, /Lamp/]
325
+ },
326
+ {
327
+ name: "garden-scene",
328
+ format: "holo",
329
+ goal: "Group the objects under a reusable template, keeping every object name and position.",
330
+ source: [
331
+ 'composition "GardenScene" {',
332
+ ' environment { skybox: "sky" }',
333
+ ' object "Tree" {',
334
+ " position: [3, 0, 3]",
335
+ " }",
336
+ ' object "Bench" {',
337
+ " position: [0, 0, 5]",
338
+ " }",
339
+ "}"
340
+ ].join("\n"),
341
+ preserved: [/GardenScene/, /Tree/, /Bench/]
342
+ }
343
+ ];
344
+ function parsesClean(src, format) {
345
+ try {
346
+ const r = format === "holo" ? parseHolo(src) : parse(src);
347
+ return Boolean(r.success && r.ast) && (r.errors?.length ?? 0) === 0;
348
+ } catch {
349
+ return false;
350
+ }
351
+ }
352
+ function makeSeedGate(seed) {
353
+ return async (candidate) => ({
354
+ passed: parsesClean(candidate, seed.format) && seed.preserved.every((re) => re.test(candidate)),
355
+ score: candidate.length
356
+ });
357
+ }
358
+ async function accrueOneStep(opts) {
359
+ const seed = opts.seed ?? CORPUS_PORTFOLIO[(opts.tick ?? 0) % CORPUS_PORTFOLIO.length];
360
+ const now = opts.now ?? (() => (/* @__PURE__ */ new Date()).toISOString());
361
+ const rows = [];
362
+ await runEvolution(
363
+ seed.source,
364
+ { goal: seed.goal, generations: 1, population: 1, archiveSize: 4, proposerModel: "sovereign-local" },
365
+ {
366
+ propose: opts.propose,
367
+ gate: makeSeedGate(seed),
368
+ onCandidate: (rec) => rows.push(toGradedTraceRow(rec, { agentId: opts.agentId, ts: now(), source: `evolve-corpus:${seed.name}` }))
369
+ }
370
+ );
371
+ return { target: seed.name, rows };
372
+ }
373
+ function dedupRows(existingCorpus, rows) {
374
+ const seen = /* @__PURE__ */ new Set();
375
+ for (const line of existingCorpus.split("\n")) {
376
+ if (!line.trim()) continue;
377
+ try {
378
+ const prior = JSON.parse(line);
379
+ if (typeof prior.target === "string") seen.add(prior.target);
380
+ } catch {
381
+ }
382
+ }
383
+ const fresh = [];
384
+ let deduped = 0;
385
+ for (const row of rows) {
386
+ if (seen.has(row.target)) {
387
+ deduped++;
388
+ continue;
389
+ }
390
+ seen.add(row.target);
391
+ fresh.push(row);
392
+ }
393
+ return { fresh, deduped };
394
+ }
395
+
396
+ // src/evolution/wasmCompilerFitness.ts
397
+ function numberField(obj, key) {
398
+ const value = obj[key];
399
+ return typeof value === "number" && Number.isFinite(value) ? value : null;
400
+ }
401
+ function roundScore(n) {
402
+ return Math.round(n * 1e6) / 1e6;
403
+ }
404
+ function improvementPct(baselineScore, score) {
405
+ if (baselineScore === null || baselineScore <= 0) return null;
406
+ return Math.round((baselineScore - score) / baselineScore * 1e3) / 10;
407
+ }
408
+ function wasmFitnessBaselineFromScenario(scenarioId, scenario, source = "benchmarks/baseline.json") {
409
+ const directScore = numberField(scenario, "wasmDensity") ?? numberField(scenario, "fitnessScore");
410
+ const watLength = numberField(scenario, "watLength");
411
+ const memoryTotalSize = numberField(scenario, "memoryTotalSize");
412
+ if (directScore !== null) {
413
+ return {
414
+ scenarioId,
415
+ score: directScore,
416
+ ...watLength !== null ? { watLength } : {},
417
+ ...memoryTotalSize !== null ? { memoryTotalSize } : {},
418
+ source
419
+ };
420
+ }
421
+ if (watLength !== null && memoryTotalSize !== null && memoryTotalSize > 0) {
422
+ return {
423
+ scenarioId,
424
+ score: roundScore(watLength / memoryTotalSize),
425
+ watLength,
426
+ memoryTotalSize,
427
+ source
428
+ };
429
+ }
430
+ return null;
431
+ }
432
+ function scoreWasmCompilerArtifact(artifact, opts = {}) {
433
+ const watLength = artifact.wat.length;
434
+ const memoryTotalSize = artifact.memoryLayout.totalSize;
435
+ const minMemoryTotalSize = opts.minMemoryTotalSize ?? 1;
436
+ if (watLength <= 0) {
437
+ return {
438
+ passed: false,
439
+ score: Infinity,
440
+ watLength,
441
+ memoryTotalSize,
442
+ baselineScore: opts.baseline?.score ?? null,
443
+ improvementPct: null,
444
+ note: "empty_wat"
445
+ };
446
+ }
447
+ if (!Number.isFinite(memoryTotalSize) || memoryTotalSize < minMemoryTotalSize) {
448
+ return {
449
+ passed: false,
450
+ score: Infinity,
451
+ watLength,
452
+ memoryTotalSize,
453
+ baselineScore: opts.baseline?.score ?? null,
454
+ improvementPct: null,
455
+ note: "invalid_memory_layout"
456
+ };
457
+ }
458
+ const score = roundScore(watLength / memoryTotalSize);
459
+ const baselineScore = opts.baseline?.score ?? null;
460
+ const pct = improvementPct(baselineScore, score);
461
+ const passesImprovementGate = !opts.requireImprovement || pct !== null && pct > 0;
462
+ return {
463
+ passed: passesImprovementGate,
464
+ score,
465
+ watLength,
466
+ memoryTotalSize,
467
+ baselineScore,
468
+ improvementPct: pct,
469
+ note: passesImprovementGate ? "wasm_density_measured" : "no_baseline_improvement"
470
+ };
471
+ }
472
+ function makeWasmCompilerFitnessGate(compileCandidate, opts = {}) {
473
+ return async (candidateCode) => {
474
+ const correctness = opts.correctness ? await opts.correctness(candidateCode) : { passed: true };
475
+ if (!correctness.passed) {
476
+ return { passed: false, score: Infinity };
477
+ }
478
+ try {
479
+ const artifact = await compileCandidate(candidateCode);
480
+ const measured = scoreWasmCompilerArtifact(artifact, opts);
481
+ return { passed: measured.passed, score: measured.score };
482
+ } catch {
483
+ return { passed: false, score: Infinity };
484
+ }
485
+ };
486
+ }
487
+
488
+ export { CORPUS_PORTFOLIO, accrueOneStep, dedupRows, makeOllamaProposer, makeSeedGate, makeWasmCompilerFitnessGate, parsesClean, runEvolution, scoreWasmCompilerArtifact, toGradedTraceRow, wasmFitnessBaselineFromScenario };
489
+ //# sourceMappingURL=chunk-WKEK4NCA.js.map
490
+ //# sourceMappingURL=chunk-WKEK4NCA.js.map
@@ -277,7 +277,7 @@ async function handleMaterialList(args) {
277
277
  const filter = args.filter ?? "";
278
278
  let presets = {};
279
279
  try {
280
- const { MATERIAL_PRESETS } = await import('./compiler/r3f.cjs');
280
+ const { MATERIAL_PRESETS } = await import('./scene-presets-NCW2CFRS.cjs');
281
281
  presets = MATERIAL_PRESETS;
282
282
  } catch {
283
283
  presets = {
@@ -437,7 +437,7 @@ function uint8ArrayToBase64(data) {
437
437
  return btoa(binary);
438
438
  }
439
439
  async function importGLTFPipeline() {
440
- return import('./GLTFPipeline-3EJLL3TS.cjs');
440
+ return import('./GLTFPipeline-ZWJN7GI6.cjs');
441
441
  }
442
442
  function registerGLTFTools(server) {
443
443
  for (const tool of GLTF_PIPELINE_TOOLS) {
@@ -453,5 +453,5 @@ exports.handleGLTFToolCall = handleGLTFToolCall;
453
453
  exports.inspectComposition = inspectComposition;
454
454
  exports.registerGLTFTools = registerGLTFTools;
455
455
  exports.validateForGLTF = validateForGLTF;
456
- //# sourceMappingURL=chunk-5A4TCHOC.cjs.map
457
- //# sourceMappingURL=chunk-5A4TCHOC.cjs.map
456
+ //# sourceMappingURL=chunk-WNYXT4TE.cjs.map
457
+ //# sourceMappingURL=chunk-WNYXT4TE.cjs.map
@@ -1,7 +1,7 @@
1
- import { init_PlatformConditionalCompilerMixin, filterCompositionForPlatform } from './chunk-GW3LKD5C.js';
2
- import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileWeatherBlock, compileAudioSourceBlock, compilePostProcessingBlock, compileParticleBlock, compilePhysicsBlock, compileMaterialBlock } from './chunk-ZA34AN3R.js';
3
- import { init_CompilerBase, CompilerBase } from './chunk-C7ZBSV2Q.js';
4
- import { __export, __esm } from './chunk-OL46QLBJ.js';
1
+ import { init_PlatformConditionalCompilerMixin, filterCompositionForPlatform } from './chunk-DJNH4HFW.js';
2
+ import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileWeatherBlock, compileAudioSourceBlock, compilePostProcessingBlock, compileParticleBlock, compilePhysicsBlock, compileMaterialBlock } from './chunk-5LVFTGKH.js';
3
+ import { init_CompilerBase, CompilerBase } from './chunk-DUG3OQAS.js';
4
+ import { __export, __esm } from './chunk-W4GABFCR.js';
5
5
  import { ANSCapabilityPath } from '@holoscript/core-types/ans';
6
6
 
7
7
  // src/compiler/OpenXRCompiler.ts
@@ -1042,5 +1042,5 @@ var init_OpenXRCompiler = __esm({
1042
1042
  });
1043
1043
 
1044
1044
  export { OpenXRCompiler, OpenXRCompiler_exports, init_OpenXRCompiler };
1045
- //# sourceMappingURL=chunk-S762UEV5.js.map
1046
- //# sourceMappingURL=chunk-S762UEV5.js.map
1045
+ //# sourceMappingURL=chunk-WTH23ISI.js.map
1046
+ //# sourceMappingURL=chunk-WTH23ISI.js.map
@@ -1,7 +1,7 @@
1
- import { init_PlatformConditionalCompilerMixin, createPlatformTarget, PlatformConditionalCompilerMixin } from './chunk-GW3LKD5C.js';
2
- import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileWeatherBlock, weatherToUnreal, compileAudioSourceBlock, audioSourceToUnreal, compilePostProcessingBlock, postProcessingToUnreal, compileParticleBlock, particlesToUnreal, compilePhysicsBlock, physicsToUnreal, compileMaterialBlock, materialToUnreal } from './chunk-ZA34AN3R.js';
3
- import { createTestCompilerToken, init_CompilerBase, CompilerBase } from './chunk-C7ZBSV2Q.js';
4
- import { __export, __esm } from './chunk-OL46QLBJ.js';
1
+ import { init_PlatformConditionalCompilerMixin, createPlatformTarget, PlatformConditionalCompilerMixin } from './chunk-DJNH4HFW.js';
2
+ import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileDataVizBlock, datavizToUnreal, compileWeatherBlock, weatherToUnreal, compileAudioSourceBlock, audioSourceToUnreal, compilePostProcessingBlock, postProcessingToUnreal, compileParticleBlock, particlesToUnreal, compilePhysicsBlock, physicsToUnreal, compileMaterialBlock, materialToUnreal } from './chunk-5LVFTGKH.js';
3
+ import { createTestCompilerToken, init_CompilerBase, CompilerBase } from './chunk-DUG3OQAS.js';
4
+ import { __export, __esm } from './chunk-W4GABFCR.js';
5
5
  import { ANSCapabilityPath } from '@holoscript/core-types/ans';
6
6
 
7
7
  // src/compiler/UnrealCompiler.ts
@@ -680,6 +680,10 @@ var init_UnrealCompiler = __esm({
680
680
  weather: (block) => {
681
681
  const weather = compileWeatherBlock(block);
682
682
  return weatherToUnreal(weather);
683
+ },
684
+ dataviz: (block) => {
685
+ const dv = compileDataVizBlock(block);
686
+ return datavizToUnreal(dv, `DB${blockIdx++}`);
683
687
  }
684
688
  },
685
689
  (block) => `// Domain block: ${block.domain}/${block.keyword} "${this.escapeStringValue(block.name, "TypeScript")}"`
@@ -722,5 +726,5 @@ var init_UnrealCompiler = __esm({
722
726
  });
723
727
 
724
728
  export { UnrealCompiler, UnrealCompiler_exports, compileToUnreal, init_UnrealCompiler };
725
- //# sourceMappingURL=chunk-BTKZGHAV.js.map
726
- //# sourceMappingURL=chunk-BTKZGHAV.js.map
729
+ //# sourceMappingURL=chunk-WWNCM473.js.map
730
+ //# sourceMappingURL=chunk-WWNCM473.js.map