@holoscript/core 8.0.8 → 8.0.9

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