@holoscript/core 6.0.3 → 6.0.4

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 (229) hide show
  1. package/README.md +38 -38
  2. package/dist/GLTFPipeline-DEN36VNK.js +12 -0
  3. package/dist/GLTFPipeline-YPCAK236.cjs +33 -0
  4. package/dist/{HoloScriptPlusParser-BZR5DELQ.js → HoloScriptPlusParser-BN6KVRCM.js} +5 -5
  5. package/dist/{HoloScriptPlusParser-SBMYDNXO.cjs → HoloScriptPlusParser-NC5FE6AL.cjs} +16 -16
  6. package/dist/{USDZExporter-YA55ZS35.js → USDZExporter-NTMBNTDB.js} +3 -3
  7. package/dist/{USDZExporter-MHEHXZB4.cjs → USDZExporter-UWGWNMMD.cjs} +3 -3
  8. package/dist/{chunk-32TWR3HE.js → chunk-2CWOLHTE.js} +3 -4
  9. package/dist/{chunk-2UX5LRAP.cjs → chunk-33LSUQDD.cjs} +33 -31
  10. package/dist/{chunk-LBPEZQAF.js → chunk-3FJCK5XA.js} +7 -7
  11. package/dist/{chunk-EGIZHYJP.cjs → chunk-3SAK5KFL.cjs} +2 -4
  12. package/dist/{chunk-PJMOXFPR.cjs → chunk-4XSNJCLC.cjs} +25 -27
  13. package/dist/{chunk-HKCVM6OK.cjs → chunk-5BGSECRJ.cjs} +21 -21
  14. package/dist/{chunk-EMO7HAKJ.cjs → chunk-5O6TQC6M.cjs} +26 -30
  15. package/dist/{chunk-XSUZMPVQ.cjs → chunk-5OEOHAAW.cjs} +26 -26
  16. package/dist/{chunk-EJA7G2C4.cjs → chunk-5WUNN6ZN.cjs} +2 -2
  17. package/dist/{chunk-CQDOF3G7.cjs → chunk-6TZPZCOJ.cjs} +18 -18
  18. package/dist/{chunk-NRUB55IT.cjs → chunk-6UEHYZ7V.cjs} +18 -16
  19. package/dist/{chunk-V42NTCFH.js → chunk-6XSERL6L.js} +4230 -2197
  20. package/dist/{chunk-X4YVN7H3.cjs → chunk-72EQECGT.cjs} +37 -17
  21. package/dist/{chunk-4KJ2R7VP.cjs → chunk-7AGYRWKW.cjs} +19 -19
  22. package/dist/{chunk-UQW6SLM5.js → chunk-A7PIMZGU.js} +110 -19
  23. package/dist/{chunk-RT7LJRSF.cjs → chunk-ATSKSYVE.cjs} +1013 -6708
  24. package/dist/{chunk-WN3YF33G.cjs → chunk-B5TCIAPQ.cjs} +9 -10
  25. package/dist/{chunk-AIUXRS74.cjs → chunk-BF2235SI.cjs} +4275 -2242
  26. package/dist/{chunk-DIEDKX5B.cjs → chunk-BND3ST2K.cjs} +18 -16
  27. package/dist/{chunk-EPWRXL6S.js → chunk-BU7VWW2K.js} +29 -29
  28. package/dist/{chunk-6OQBLABR.js → chunk-BWFJEM5A.js} +368 -189
  29. package/dist/{chunk-ARNKA274.cjs → chunk-CAUCGUEA.cjs} +6 -6
  30. package/dist/{chunk-YCMQQQ5U.cjs → chunk-CBJSLA2E.cjs} +398 -219
  31. package/dist/{chunk-BU5ZAFMC.js → chunk-CDPGV4DN.js} +6 -7
  32. package/dist/{chunk-CO2VM2DK.js → chunk-CS2EMTGF.js} +10 -9
  33. package/dist/{chunk-AW7WAELW.js → chunk-DMG7C4H2.js} +4 -4
  34. package/dist/{chunk-XSF76QRU.js → chunk-DXJQDCFL.js} +3 -3
  35. package/dist/{chunk-4FCZDTD5.js → chunk-E3FWRT3Z.js} +7 -9
  36. package/dist/{chunk-KYM4XRFG.js → chunk-E3UALNFA.js} +4 -4
  37. package/dist/{chunk-GC3YU46J.js → chunk-EONILVMF.js} +2 -2
  38. package/dist/{chunk-VJVCD5T5.cjs → chunk-EQV4R3EV.cjs} +22 -22
  39. package/dist/{chunk-FEFHPUEM.cjs → chunk-F3HH56EB.cjs} +74 -658
  40. package/dist/{chunk-WYH4GVZ5.js → chunk-F4IULT7N.js} +2 -2
  41. package/dist/{chunk-XDXZM3ZP.cjs → chunk-FFKU7BTK.cjs} +19 -19
  42. package/dist/{chunk-NKRKT6V2.js → chunk-FHQVYCH2.js} +11 -10
  43. package/dist/{chunk-7H5UNJZD.cjs → chunk-FSF7EQVA.cjs} +11 -10
  44. package/dist/{chunk-KUJRR4FJ.js → chunk-G4VZTCIB.js} +9 -7
  45. package/dist/{chunk-A6GO3DPZ.cjs → chunk-G7CT3EMP.cjs} +4 -4
  46. package/dist/{chunk-EUFLX2PI.js → chunk-GGHSW2NN.js} +989 -6611
  47. package/dist/chunk-GVUR45UF.cjs +777 -0
  48. package/dist/{chunk-ODGMVILH.js → chunk-H5Z7NASB.js} +3 -3
  49. package/dist/{chunk-7KPI4EKH.cjs → chunk-HE7ULERA.cjs} +45 -49
  50. package/dist/{chunk-26TLYBFD.js → chunk-HPS76H7Q.js} +3 -3
  51. package/dist/{chunk-RE3OKSYF.cjs → chunk-HQUEA5R6.cjs} +6 -6
  52. package/dist/{chunk-ZGTGVSTZ.js → chunk-HYNTS5CP.js} +2 -2
  53. package/dist/{chunk-PBA6NXCT.cjs → chunk-IBDG74G2.cjs} +6 -3
  54. package/dist/chunk-IFNQFCTM.js +3098 -0
  55. package/dist/{chunk-ZL6VJ6SN.js → chunk-IWI6J7FX.js} +5 -5
  56. package/dist/{chunk-3KEU5QYY.cjs → chunk-K3JDKWGI.cjs} +118 -23
  57. package/dist/{chunk-NLPSZT4C.js → chunk-K6EKD26I.js} +6 -6
  58. package/dist/chunk-KCQ5NDYC.cjs +3172 -0
  59. package/dist/{chunk-ELLQPFAF.js → chunk-KED34ILP.js} +11 -9
  60. package/dist/{chunk-BY3B7ZYV.cjs → chunk-KSGXLT74.cjs} +3 -3
  61. package/dist/{chunk-65RFOWZI.js → chunk-L4G4RLXX.js} +9 -7
  62. package/dist/{chunk-4SMUJFHL.js → chunk-LDP5OK6G.js} +6 -3
  63. package/dist/{chunk-VZNKJZTT.cjs → chunk-LGGRPKTV.cjs} +82 -96
  64. package/dist/{chunk-C2QHVHZF.js → chunk-LSW7P7ML.js} +23 -414
  65. package/dist/{chunk-HHS6FMOU.cjs → chunk-LXJ4667L.cjs} +83 -22
  66. package/dist/{chunk-H6WMMLQK.cjs → chunk-LZ266PCM.cjs} +20 -13
  67. package/dist/{chunk-V2ILLPHK.cjs → chunk-MD6KDHVE.cjs} +10 -10
  68. package/dist/{chunk-6WNCRE6F.js → chunk-MEASWI2Y.js} +5 -5
  69. package/dist/chunk-MPXBVFHQ.js +768 -0
  70. package/dist/{chunk-WUXIRGZP.cjs → chunk-NCUKG4SK.cjs} +304 -144
  71. package/dist/chunk-NDQNIJEH.js +1715 -0
  72. package/dist/{chunk-Y5MUAYTO.js → chunk-NOZZ46QU.js} +9 -8
  73. package/dist/{chunk-F5LVGHNT.js → chunk-OFKWH2IP.js} +3 -3
  74. package/dist/{chunk-SPDELRRV.cjs → chunk-PMGODDJA.cjs} +12 -12
  75. package/dist/{chunk-I3XGTIHM.cjs → chunk-Q4QX3AET.cjs} +2 -2
  76. package/dist/{chunk-Y7VK5TH3.cjs → chunk-Q5JT3YML.cjs} +10 -10
  77. package/dist/{chunk-TSWTWZ42.cjs → chunk-Q5SJOGHQ.cjs} +247 -205
  78. package/dist/{chunk-M6FU6S22.js → chunk-QGKNANZ3.js} +251 -91
  79. package/dist/{chunk-WFJIDI2N.cjs → chunk-QLEAOI3Q.cjs} +10 -10
  80. package/dist/{chunk-VK5AXKO3.js → chunk-R7MA7QWV.js} +70 -84
  81. package/dist/{chunk-W76ETJTI.js → chunk-RVYPEYPX.js} +6 -6
  82. package/dist/{chunk-MWEFR6YQ.js → chunk-S2N5TNMA.js} +7 -9
  83. package/dist/{chunk-NCUHGRTZ.js → chunk-S565K7NK.js} +7 -7
  84. package/dist/{chunk-AC4BSHFV.js → chunk-SDAMZIRE.js} +5 -5
  85. package/dist/{chunk-HBZYCASG.js → chunk-T36DDXSF.js} +75 -33
  86. package/dist/{chunk-BO2OKHIY.js → chunk-T4NKMBDL.js} +30 -611
  87. package/dist/{chunk-7X2IEJIE.cjs → chunk-T7LEXZUZ.cjs} +29 -29
  88. package/dist/{chunk-HUFNKFA6.js → chunk-TEWCN33Y.js} +8 -12
  89. package/dist/{chunk-L3Z2HIWJ.cjs → chunk-TQSZUOW5.cjs} +2 -2
  90. package/dist/chunk-TSH3MSQU.cjs +129 -0
  91. package/dist/{chunk-PLMYCCA4.js → chunk-UERJ3YJV.js} +6 -6
  92. package/dist/{chunk-7N3JIJMT.js → chunk-UPJBDCVF.js} +6 -6
  93. package/dist/{chunk-CMYAWUX3.js → chunk-V3NN3HPP.js} +12 -5
  94. package/dist/{chunk-SUCBB66F.js → chunk-WB4Z63GG.js} +3 -3
  95. package/dist/{chunk-PPULB4GG.cjs → chunk-WDW67DZB.cjs} +68 -68
  96. package/dist/chunk-WGMEAYBG.js +126 -0
  97. package/dist/{chunk-VSXOIUCF.cjs → chunk-X4ZF6CNE.cjs} +7 -7
  98. package/dist/{chunk-HF4OFY25.cjs → chunk-X6SEAXAX.cjs} +29 -445
  99. package/dist/{chunk-C7BNX4XJ.js → chunk-XCWFGZAA.js} +6 -6
  100. package/dist/{chunk-CNVM7J3M.js → chunk-XD6IYDUX.js} +34 -14
  101. package/dist/chunk-XG23EUQX.cjs +1717 -0
  102. package/dist/{chunk-DN7UFU63.cjs → chunk-XRKWN5PL.cjs} +12 -11
  103. package/dist/{chunk-XNMEH2BI.js → chunk-XUTX5CBW.js} +3 -3
  104. package/dist/{chunk-PQLGZKMC.cjs → chunk-XWPNTWDN.cjs} +26 -26
  105. package/dist/{chunk-NTMZSDXM.cjs → chunk-XXINBTZK.cjs} +43 -43
  106. package/dist/{chunk-74YCHHTE.js → chunk-YCXFCXDS.js} +8 -12
  107. package/dist/{chunk-KDB6BUMB.js → chunk-YQK5JNFK.js} +77 -18
  108. package/dist/{chunk-DH5G2JUA.cjs → chunk-Z34RLXRA.cjs} +44 -46
  109. package/dist/{chunk-XH7SE4HH.cjs → chunk-ZP4D3CSX.cjs} +19 -19
  110. package/dist/cli/holoscript-runner.cjs +33 -32
  111. package/dist/cli/holoscript-runner.js +13 -12
  112. package/dist/codebase/index.cjs +1 -1
  113. package/dist/codebase/index.d.ts +25 -0
  114. package/dist/codebase/index.js +1 -1
  115. package/dist/compiler/agent-inference.cjs +7 -8
  116. package/dist/compiler/agent-inference.js +3 -4
  117. package/dist/compiler/android-xr.cjs +7 -8
  118. package/dist/compiler/android-xr.js +5 -6
  119. package/dist/compiler/android.cjs +8 -9
  120. package/dist/compiler/android.js +6 -7
  121. package/dist/compiler/ar.cjs +6 -7
  122. package/dist/compiler/ar.js +4 -5
  123. package/dist/compiler/babylon.cjs +8 -9
  124. package/dist/compiler/babylon.js +7 -8
  125. package/dist/compiler/coco.cjs +1 -1
  126. package/dist/compiler/coco.js +1 -1
  127. package/dist/compiler/domain-block-utils.cjs +158 -151
  128. package/dist/compiler/domain-block-utils.js +4 -5
  129. package/dist/compiler/dtdl.cjs +7 -8
  130. package/dist/compiler/dtdl.js +4 -5
  131. package/dist/compiler/gltf-pipeline.cjs +9 -9
  132. package/dist/compiler/gltf-pipeline.js +2 -2
  133. package/dist/compiler/godot.cjs +6 -7
  134. package/dist/compiler/godot.js +5 -6
  135. package/dist/compiler/incremental.cjs +7 -8
  136. package/dist/compiler/incremental.js +2 -3
  137. package/dist/compiler/index.cjs +1934 -878
  138. package/dist/compiler/index.js +1904 -842
  139. package/dist/compiler/ios.cjs +8 -9
  140. package/dist/compiler/ios.js +6 -7
  141. package/dist/compiler/multi-layer.cjs +10 -17
  142. package/dist/compiler/multi-layer.js +9 -10
  143. package/dist/compiler/nodetoy.cjs +1 -1
  144. package/dist/compiler/nodetoy.js +1 -1
  145. package/dist/compiler/openxr.cjs +6 -7
  146. package/dist/compiler/openxr.js +5 -6
  147. package/dist/compiler/playcanvas.cjs +7 -8
  148. package/dist/compiler/playcanvas.js +6 -7
  149. package/dist/compiler/r3f.cjs +13 -14
  150. package/dist/compiler/r3f.js +8 -9
  151. package/dist/compiler/remotion.cjs +1 -1
  152. package/dist/compiler/remotion.js +1 -1
  153. package/dist/compiler/reproducibility.cjs +1 -1
  154. package/dist/compiler/reproducibility.js +1 -1
  155. package/dist/compiler/sdf.cjs +7 -8
  156. package/dist/compiler/sdf.js +5 -6
  157. package/dist/compiler/semantic-scene.cjs +7 -7
  158. package/dist/compiler/semantic-scene.js +2 -2
  159. package/dist/compiler/state.cjs +5 -6
  160. package/dist/compiler/state.js +3 -4
  161. package/dist/compiler/trait-composition.cjs +7 -8
  162. package/dist/compiler/trait-composition.js +3 -4
  163. package/dist/compiler/unity.cjs +6 -7
  164. package/dist/compiler/unity.js +5 -6
  165. package/dist/compiler/unreal.cjs +7 -8
  166. package/dist/compiler/unreal.js +5 -6
  167. package/dist/compiler/urdf.cjs +13 -14
  168. package/dist/compiler/urdf.js +5 -6
  169. package/dist/compiler/usd-physics.cjs +7 -8
  170. package/dist/compiler/usd-physics.js +4 -5
  171. package/dist/compiler/visionos.cjs +6 -7
  172. package/dist/compiler/visionos.js +5 -6
  173. package/dist/compiler/vrchat.cjs +7 -8
  174. package/dist/compiler/vrchat.js +5 -6
  175. package/dist/compiler/vrr.cjs +7 -8
  176. package/dist/compiler/vrr.js +5 -6
  177. package/dist/compiler/wasm.cjs +10 -11
  178. package/dist/compiler/wasm.js +5 -6
  179. package/dist/compiler/webgpu.cjs +6 -7
  180. package/dist/compiler/webgpu.js +5 -6
  181. package/dist/constants.d.ts +3 -0
  182. package/dist/debugger.cjs +7 -7
  183. package/dist/debugger.js +5 -5
  184. package/dist/entries/interop.cjs +1 -1
  185. package/dist/entries/interop.d.ts +9 -0
  186. package/dist/entries/interop.js +1 -1
  187. package/dist/entries/scripting.cjs +18 -17
  188. package/dist/entries/scripting.d.ts +7 -0
  189. package/dist/entries/scripting.js +8 -7
  190. package/dist/index.cjs +6773 -27555
  191. package/dist/index.d.ts +19 -0
  192. package/dist/index.js +5212 -26101
  193. package/dist/math/vec3.cjs +1 -1
  194. package/dist/math/vec3.js +1 -1
  195. package/dist/ml-dsa-PHCWUBPX.cjs +1178 -0
  196. package/dist/ml-dsa-WYLJHJO6.js +1178 -0
  197. package/dist/parser.cjs +11 -10
  198. package/dist/parser.js +8 -7
  199. package/dist/{playwright-BIZXMLD2.js → playwright-5OSAPTNH.js} +3 -3
  200. package/dist/{playwright-7DTEQCBD.cjs → playwright-RL6GY4F7.cjs} +1985 -1985
  201. package/dist/runtime.cjs +5 -5
  202. package/dist/runtime.js +4 -4
  203. package/dist/self-improvement/index.d.ts +0 -48
  204. package/dist/storage/index.cjs +1 -1
  205. package/dist/storage/index.d.ts +24 -0
  206. package/dist/storage/index.js +1 -1
  207. package/dist/tools/index.d.ts +12 -0
  208. package/dist/traits/index.cjs +925 -607
  209. package/dist/traits/index.js +137 -20
  210. package/dist/type-checker.cjs +4 -4
  211. package/dist/type-checker.js +2 -2
  212. package/package.json +56 -21
  213. package/LICENSE +0 -21
  214. package/dist/GLTFPipeline-3KLWWUQO.cjs +0 -34
  215. package/dist/GLTFPipeline-LYII2ZVQ.js +0 -13
  216. package/dist/chunk-CN4NOESF.cjs +0 -416
  217. package/dist/chunk-DXVCEFZB.js +0 -2027
  218. package/dist/chunk-ENV7K6XA.js +0 -282
  219. package/dist/chunk-H7XMORZI.js +0 -2731
  220. package/dist/chunk-HAN4V3PF.cjs +0 -2037
  221. package/dist/chunk-LER4WXW5.cjs +0 -286
  222. package/dist/chunk-QHVVVN47.cjs +0 -2033
  223. package/dist/chunk-QWKUKVRE.js +0 -2026
  224. package/dist/chunk-UITWA6DV.cjs +0 -2829
  225. package/dist/chunk-X67XRI2T.js +0 -410
  226. package/dist/post-quantum-JTTAAGO3.cjs +0 -6
  227. package/dist/post-quantum-RVPVDEPI.js +0 -4
  228. package/dist/wot/index.cjs +0 -29
  229. package/dist/wot/index.js +0 -4
@@ -1,15 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var chunk7X2IEJIE_cjs = require('./chunk-7X2IEJIE.cjs');
4
- var chunkLER4WXW5_cjs = require('./chunk-LER4WXW5.cjs');
3
+ var chunkT7LEXZUZ_cjs = require('./chunk-T7LEXZUZ.cjs');
4
+ var chunkTSH3MSQU_cjs = require('./chunk-TSH3MSQU.cjs');
5
5
  var chunkILRBGFVD_cjs = require('./chunk-ILRBGFVD.cjs');
6
- var chunkEGIZHYJP_cjs = require('./chunk-EGIZHYJP.cjs');
6
+ var chunk3SAK5KFL_cjs = require('./chunk-3SAK5KFL.cjs');
7
7
  var ws = require('ws');
8
8
  var orbital = require('@holoscript/engine/orbital');
9
- var fs = require('fs');
10
- var path = require('path');
9
+ var mesh = require('@holoscript/mesh');
11
10
  var StateMachineInterpreter = require('@holoscript/engine/runtime/StateMachineInterpreter');
12
- var framework = require('@holoscript/framework');
11
+ var learning = require('@holoscript/framework/learning');
13
12
  var BaseVoiceSynthesizer = require('@holoscript/engine/runtime/BaseVoiceSynthesizer');
14
13
  var VoiceSynthesizer = require('@holoscript/engine/runtime/VoiceSynthesizer');
15
14
  var LocalEmotionDetector = require('@holoscript/engine/runtime/LocalEmotionDetector');
@@ -18,27 +17,6 @@ var MockSpeechRecognizer = require('@holoscript/engine/runtime/MockSpeechRecogni
18
17
  var SpeechRecognizer = require('@holoscript/engine/runtime/SpeechRecognizer');
19
18
  var RuntimeOptimization = require('@holoscript/engine/runtime/RuntimeOptimization');
20
19
 
21
- function _interopNamespace(e) {
22
- if (e && e.__esModule) return e;
23
- var n = Object.create(null);
24
- if (e) {
25
- Object.keys(e).forEach(function (k) {
26
- if (k !== 'default') {
27
- var d = Object.getOwnPropertyDescriptor(e, k);
28
- Object.defineProperty(n, k, d.get ? d : {
29
- enumerable: true,
30
- get: function () { return e[k]; }
31
- });
32
- }
33
- });
34
- }
35
- n.default = e;
36
- return Object.freeze(n);
37
- }
38
-
39
- var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
40
- var path__namespace = /*#__PURE__*/_interopNamespace(path);
41
-
42
20
  // src/ReactiveState.ts
43
21
  var ReactiveState = class {
44
22
  constructor(initialState = {}) {
@@ -269,401 +247,6 @@ function setSharedEventBus(bus) {
269
247
  sharedBus = bus;
270
248
  }
271
249
 
272
- // src/network/PriorityScorer.ts
273
- var PriorityScorer = class {
274
- /**
275
- * Scores a raw delta based on simulated heuristics returning a priority class.
276
- * Lower is more important.
277
- */
278
- static score(delta) {
279
- let basePriority = 50;
280
- if (delta.field === "x" || delta.field === "y" || delta.field === "z") {
281
- basePriority -= 40;
282
- }
283
- if (delta.field === "health" || delta.field === "status") {
284
- basePriority -= 50;
285
- }
286
- if (typeof delta.newValue === "string" && delta.newValue.length > 50) {
287
- basePriority += 30;
288
- }
289
- basePriority = Math.max(0, Math.min(100, basePriority));
290
- return {
291
- ...delta,
292
- priority: basePriority
293
- };
294
- }
295
- };
296
-
297
- // src/network/SpatialSharder.ts
298
- var SpatialSharder = class {
299
- /**
300
- * Maps an absolute position to a unique Shard ID string.
301
- */
302
- static getShardId(x, y, z) {
303
- const sx = Math.floor(x / this.SHARD_SIZE);
304
- const sy = Math.floor(y / this.SHARD_SIZE);
305
- const sz = Math.floor(z / this.SHARD_SIZE);
306
- return `shard_${sx}_${sy}_${sz}`;
307
- }
308
- /**
309
- * Calculates all overlapping shards for a given bounding sphere or interaction radius.
310
- */
311
- static getOverlappingShards(x, y, z, radius) {
312
- const shards = /* @__PURE__ */ new Set();
313
- const minX = Math.floor((x - radius) / this.SHARD_SIZE);
314
- const maxX = Math.floor((x + radius) / this.SHARD_SIZE);
315
- const minY = Math.floor((y - radius) / this.SHARD_SIZE);
316
- const maxY = Math.floor((y + radius) / this.SHARD_SIZE);
317
- const minZ = Math.floor((z - radius) / this.SHARD_SIZE);
318
- const maxZ = Math.floor((z + radius) / this.SHARD_SIZE);
319
- for (let ix = minX; ix <= maxX; ix++) {
320
- for (let iy = minY; iy <= maxY; iy++) {
321
- for (let iz = minZ; iz <= maxZ; iz++) {
322
- shards.add(`shard_${ix}_${iy}_${iz}`);
323
- }
324
- }
325
- }
326
- return Array.from(shards);
327
- }
328
- };
329
- SpatialSharder.SHARD_SIZE = 100;
330
- var TransactionLog = class {
331
- constructor(logPath) {
332
- this.writeQueue = [];
333
- this.isWriting = false;
334
- this.sequenceId = 0;
335
- this.logFile = logPath || path__namespace.resolve(process.cwd(), ".data", "state_transaction.wal");
336
- const dir = path__namespace.dirname(this.logFile);
337
- if (!fs__namespace.existsSync(dir)) {
338
- fs__namespace.mkdirSync(dir, { recursive: true });
339
- }
340
- }
341
- /**
342
- * Appends an active delta directly to the offline WAL buffer.
343
- */
344
- append(delta) {
345
- const stampedDelta = { ...delta, _seq: ++this.sequenceId };
346
- this.writeQueue.push(stampedDelta);
347
- this.flush();
348
- }
349
- async flush() {
350
- if (this.isWriting || this.writeQueue.length === 0) return;
351
- this.isWriting = true;
352
- const toWrite = this.writeQueue.splice(0, this.writeQueue.length);
353
- const dataStr = toWrite.map((d) => JSON.stringify(d)).join("\n") + "\n";
354
- try {
355
- await fs__namespace.promises.appendFile(this.logFile, dataStr, "utf-8");
356
- } catch (error) {
357
- this.writeQueue.unshift(...toWrite);
358
- } finally {
359
- this.isWriting = false;
360
- if (this.writeQueue.length > 0) {
361
- this.flush();
362
- }
363
- }
364
- }
365
- /**
366
- * Recover the state strictly from the raw disk array.
367
- */
368
- async recover() {
369
- if (!fs__namespace.existsSync(this.logFile)) {
370
- return [];
371
- }
372
- try {
373
- const data = await fs__namespace.promises.readFile(this.logFile, "utf-8");
374
- const lines = data.split("\n").filter((l) => l.trim().length > 0);
375
- const recoveredDeltas = lines.map((line) => {
376
- const parsed = JSON.parse(line);
377
- if (parsed._seq && parsed._seq > this.sequenceId) {
378
- this.sequenceId = parsed._seq;
379
- }
380
- return parsed;
381
- });
382
- return recoveredDeltas;
383
- } catch (error) {
384
- return [];
385
- }
386
- }
387
- async truncate() {
388
- if (fs__namespace.existsSync(this.logFile)) {
389
- await fs__namespace.promises.unlink(this.logFile);
390
- }
391
- this.sequenceId = 0;
392
- }
393
- };
394
-
395
- // src/network/StateSynchronizer.ts
396
- var StateSynchronizer = class _StateSynchronizer {
397
- constructor() {
398
- // Subscriber maps bound by entity ID (who is interested in what)
399
- this.globalSubscribers = /* @__PURE__ */ new Set();
400
- this.subscriberOptions = /* @__PURE__ */ new Map();
401
- this.entitySubscribers = /* @__PURE__ */ new Map();
402
- // Spatial culling position tracking
403
- this.entityPositions = /* @__PURE__ */ new Map();
404
- this.entityShards = /* @__PURE__ */ new Map();
405
- // Procedural Skill Syncer Mesh
406
- this.skillSubscribers = /* @__PURE__ */ new Set();
407
- // Adaptive Batching Metrics
408
- this.pendingBatch = [];
409
- this.batchTimer = null;
410
- this.currentBatchWindowMs = 50;
411
- // Persistent Storage (WAL)
412
- this.wal = new TransactionLog();
413
- // Active Transport Mesh
414
- this.transport = null;
415
- this.initializedMesh = false;
416
- }
417
- static getInstance() {
418
- if (!_StateSynchronizer.instance) {
419
- _StateSynchronizer.instance = new _StateSynchronizer();
420
- }
421
- return _StateSynchronizer.instance;
422
- }
423
- /**
424
- * Bootstraps the local synchronization node over WebSockets.
425
- */
426
- initializeMesh() {
427
- if (this.initializedMesh) return;
428
- this.initializedMesh = true;
429
- this.transport = new chunkLER4WXW5_cjs.WebSocketTransport({
430
- roomId: "local_actor",
431
- serverUrl: "ws://127.0.0.1:8080"
432
- });
433
- this.transport.connect();
434
- this.transport.onMessage("state-sync", (msg) => {
435
- const payload = msg.payload;
436
- if (payload && payload.agent_updates && Array.isArray(payload.agent_updates)) {
437
- const inboundDeltas = [];
438
- for (const update of payload.agent_updates) {
439
- inboundDeltas.push({
440
- entityId: update.id,
441
- field: "x",
442
- newValue: update.x,
443
- oldValue: 0,
444
- timestamp: payload.timestamp
445
- });
446
- inboundDeltas.push({
447
- entityId: update.id,
448
- field: "y",
449
- newValue: update.y,
450
- oldValue: 0,
451
- timestamp: payload.timestamp
452
- });
453
- inboundDeltas.push({
454
- entityId: update.id,
455
- field: "z",
456
- newValue: update.z,
457
- oldValue: 0,
458
- timestamp: payload.timestamp
459
- });
460
- }
461
- if (inboundDeltas.length > 0) {
462
- this.dispatchToSubscribers(inboundDeltas);
463
- }
464
- }
465
- });
466
- }
467
- dispatchToSubscribers(deltas) {
468
- const publicDeltasToDispatch = deltas.filter((delta) => {
469
- const isPrivate = delta.field.includes("private_") || delta.field.includes("_secure");
470
- return !isPrivate;
471
- });
472
- this.globalSubscribers.forEach((sub) => {
473
- sub(publicDeltasToDispatch);
474
- });
475
- const entityGroups = /* @__PURE__ */ new Map();
476
- for (const delta of deltas) {
477
- let arr = entityGroups.get(delta.entityId);
478
- if (!arr) {
479
- arr = [];
480
- entityGroups.set(delta.entityId, arr);
481
- }
482
- arr.push(delta);
483
- }
484
- for (const [entityId, entityDeltas] of entityGroups.entries()) {
485
- const scopedListeners = this.entitySubscribers.get(entityId);
486
- if (scopedListeners) {
487
- scopedListeners.forEach((sub) => sub(entityDeltas));
488
- }
489
- }
490
- }
491
- /**
492
- * Enqueue a burst of pre-computed deltas. Rather than instant transmission,
493
- * they are loaded into an adaptive batch prioritized by the PriorityScorer.
494
- */
495
- broadcastDeltas(deltas) {
496
- if (deltas.length === 0) return;
497
- for (const delta of deltas) {
498
- this.pendingBatch.push(PriorityScorer.score(delta));
499
- }
500
- if (!this.batchTimer) {
501
- this.scheduleNextFlush();
502
- }
503
- }
504
- scheduleNextFlush() {
505
- if (this.pendingBatch.length > 500) {
506
- this.currentBatchWindowMs = Math.min(200, this.currentBatchWindowMs + 10);
507
- } else if (this.pendingBatch.length < 100) {
508
- this.currentBatchWindowMs = Math.max(10, this.currentBatchWindowMs - 10);
509
- }
510
- this.batchTimer = setTimeout(() => this.flushDeltas(), this.currentBatchWindowMs);
511
- }
512
- flushDeltas() {
513
- this.batchTimer = null;
514
- if (this.pendingBatch.length === 0) return;
515
- this.pendingBatch.sort((a, b) => a.priority - b.priority);
516
- const deltasToDispatch = this.pendingBatch.splice(0, this.pendingBatch.length);
517
- for (const delta of deltasToDispatch) {
518
- if (delta.field === "x" || delta.field === "y" || delta.field === "z") {
519
- let pos = this.entityPositions.get(delta.entityId);
520
- if (!pos) {
521
- pos = { x: 0, y: 0, z: 0 };
522
- this.entityPositions.set(delta.entityId, pos);
523
- }
524
- pos[delta.field] = delta.newValue;
525
- this.entityShards.set(delta.entityId, SpatialSharder.getShardId(pos.x, pos.y, pos.z));
526
- }
527
- this.wal.append(delta);
528
- }
529
- if (this.transport) {
530
- this.transport.sendMessage({
531
- type: "state-sync",
532
- payload: {
533
- deltas: deltasToDispatch.map((d) => ({
534
- id: d.entityId,
535
- field: d.field,
536
- value: d.newValue,
537
- time: d.timestamp
538
- }))
539
- }
540
- });
541
- }
542
- const publicDeltasToDispatch = deltasToDispatch.filter((delta) => {
543
- const isPrivate = delta.field.includes("private_") || delta.field.includes("_secure");
544
- return !isPrivate;
545
- });
546
- this.globalSubscribers.forEach((sub) => {
547
- const options = this.subscriberOptions.get(sub);
548
- if (!options || !options.position || !options.interactionRadius) {
549
- if (publicDeltasToDispatch.length > 0) sub(publicDeltasToDispatch);
550
- return;
551
- }
552
- const targetShards = new Set(
553
- SpatialSharder.getOverlappingShards(
554
- options.position.x,
555
- options.position.y,
556
- options.position.z,
557
- options.interactionRadius
558
- )
559
- );
560
- const culledDeltas = publicDeltasToDispatch.filter((delta) => {
561
- const entityPos = this.entityPositions.get(delta.entityId);
562
- if (!entityPos) return true;
563
- const entityShard = this.entityShards.get(delta.entityId);
564
- if (entityShard && !targetShards.has(entityShard)) {
565
- return false;
566
- }
567
- const dx = entityPos.x - options.position.x;
568
- const dy = entityPos.y - options.position.y;
569
- const dz = entityPos.z - options.position.z;
570
- const distSq = dx * dx + dy * dy + dz * dz;
571
- const r = options.interactionRadius;
572
- return distSq <= r * r;
573
- });
574
- if (culledDeltas.length > 0) {
575
- sub(culledDeltas);
576
- }
577
- });
578
- const entityGroups = /* @__PURE__ */ new Map();
579
- for (const delta of deltasToDispatch) {
580
- let arr = entityGroups.get(delta.entityId);
581
- if (!arr) {
582
- arr = [];
583
- entityGroups.set(delta.entityId, arr);
584
- }
585
- arr.push(delta);
586
- }
587
- for (const [entityId, entityDeltas] of entityGroups.entries()) {
588
- const scopedListeners = this.entitySubscribers.get(entityId);
589
- if (scopedListeners) {
590
- scopedListeners.forEach((sub) => sub(entityDeltas));
591
- }
592
- }
593
- if (this.pendingBatch.length > 0) {
594
- this.scheduleNextFlush();
595
- }
596
- }
597
- /**
598
- * Subscribe to all global state deltas (e.g. Server sync bridges).
599
- */
600
- subscribeGlobal(callback, options) {
601
- this.globalSubscribers.add(callback);
602
- if (options) {
603
- this.subscriberOptions.set(callback, options);
604
- }
605
- return () => {
606
- this.globalSubscribers.delete(callback);
607
- this.subscriberOptions.delete(callback);
608
- };
609
- }
610
- /**
611
- * Subscribe to targeted changes restricted strictly to a specific Entity.
612
- */
613
- subscribeEntity(entityId, callback) {
614
- let scopedListeners = this.entitySubscribers.get(entityId);
615
- if (!scopedListeners) {
616
- scopedListeners = /* @__PURE__ */ new Set();
617
- this.entitySubscribers.set(entityId, scopedListeners);
618
- }
619
- scopedListeners.add(callback);
620
- return () => {
621
- const listeners = this.entitySubscribers.get(entityId);
622
- if (listeners) {
623
- listeners.delete(callback);
624
- if (listeners.size === 0) {
625
- this.entitySubscribers.delete(entityId);
626
- }
627
- }
628
- };
629
- }
630
- /**
631
- * Broadcast a procedural skill mutation recursively so all agents merge success rates.
632
- */
633
- broadcastSkill(skill) {
634
- this.skillSubscribers.forEach((sub) => sub(skill));
635
- }
636
- /**
637
- * Listen globally for procedurally acquired skills bouncing across the instance.
638
- */
639
- subscribeSkills(callback) {
640
- this.skillSubscribers.add(callback);
641
- return () => this.skillSubscribers.delete(callback);
642
- }
643
- /**
644
- * Recovery API reading `.wal` states sequentially mapping offline CRDT histories completely locally.
645
- */
646
- async recoverFromLog() {
647
- const deltas = await this.wal.recover();
648
- if (deltas.length > 0) {
649
- for (const d of deltas) {
650
- if (d.field === "x" || d.field === "y" || d.field === "z") {
651
- let pos = this.entityPositions.get(d.entityId);
652
- if (!pos) {
653
- pos = { x: 0, y: 0, z: 0 };
654
- this.entityPositions.set(d.entityId, pos);
655
- }
656
- pos[d.field] = d.newValue;
657
- }
658
- }
659
- }
660
- return deltas;
661
- }
662
- async clearLog() {
663
- await this.wal.truncate();
664
- }
665
- };
666
-
667
250
  // src/monitoring/telemetry.ts
668
251
  var TelemetryRegistry = class {
669
252
  constructor() {
@@ -835,7 +418,7 @@ var HoloScriptAgentRuntime = class {
835
418
  */
836
419
  consolidateMemory() {
837
420
  if (this.isDestroyed || this.rawEpisodes.length < 5) return;
838
- const { newFacts, prunedEpisodes } = framework.MemoryConsolidator.compressEpisodes(this.rawEpisodes);
421
+ const { newFacts, prunedEpisodes } = learning.MemoryConsolidator.compressEpisodes(this.rawEpisodes);
839
422
  if (newFacts.length > 0) {
840
423
  this.semanticFacts.push(...newFacts);
841
424
  this.rawEpisodes = this.rawEpisodes.filter((e) => !prunedEpisodes.includes(e.id));
@@ -1154,8 +737,8 @@ var HoloScriptRuntime = class {
1154
737
  });
1155
738
  return orbital.AttentionEngine.getTopKEntities(observerPos, entities, topK);
1156
739
  });
1157
- this.traitHandlers.set("mitosis", chunkLER4WXW5_cjs.mitosisHandler);
1158
- this.traitHandlers.set("orbital", chunkLER4WXW5_cjs.orbitalHandler);
740
+ this.traitHandlers.set("mitosis", chunkTSH3MSQU_cjs.mitosisHandler);
741
+ this.traitHandlers.set("orbital", chunkTSH3MSQU_cjs.orbitalHandler);
1159
742
  this.extensionRegistry = new ExtensionRegistry(this);
1160
743
  StateMachineInterpreter.stateMachineInterpreter.setHookExecutor(
1161
744
  (code, context) => {
@@ -1344,7 +927,7 @@ var HoloScriptRuntime = class {
1344
927
  );
1345
928
  builtins.set("wait", async (args) => {
1346
929
  const ms = Number(args[0]) || 0;
1347
- await new Promise((resolve2) => setTimeout(resolve2, ms));
930
+ await new Promise((resolve) => setTimeout(resolve, ms));
1348
931
  return { waited: ms };
1349
932
  });
1350
933
  builtins.set("print", (args) => {
@@ -1410,7 +993,7 @@ var HoloScriptRuntime = class {
1410
993
  builtins.set("calculate_arc", (args) => this.handleCalculateArc(args));
1411
994
  builtins.set(
1412
995
  "sleep",
1413
- (args) => new Promise((resolve2) => setTimeout(resolve2, Number(args[0]) || 0))
996
+ (args) => new Promise((resolve) => setTimeout(resolve, Number(args[0]) || 0))
1414
997
  );
1415
998
  builtins.set("think", async (args) => {
1416
999
  const activeNode = this.context.executionStack[this.context.executionStack.length - 1];
@@ -2072,10 +1655,10 @@ var HoloScriptRuntime = class {
2072
1655
  async executeGate(node) {
2073
1656
  try {
2074
1657
  const condition = this.evaluateCondition(node.condition);
2075
- const path2 = condition ? node.truePath : node.falsePath;
1658
+ const path = condition ? node.truePath : node.falsePath;
2076
1659
  chunkILRBGFVD_cjs.logger.info("Gate evaluation", { condition: node.condition, result: condition });
2077
- if (path2.length > 0) {
2078
- const subResults = await this.executeProgram(path2, this.callStack.length + 1);
1660
+ if (path.length > 0) {
1661
+ const subResults = await this.executeProgram(path, this.callStack.length + 1);
2079
1662
  const lastResult = subResults[subResults.length - 1];
2080
1663
  if (lastResult && lastResult.success && lastResult.output !== void 0) {
2081
1664
  return lastResult;
@@ -3455,9 +3038,9 @@ var HoloScriptRuntime = class {
3455
3038
  case "UpdateExpression": {
3456
3039
  const val = await this.evaluateHoloExpression(expr.argument, scopeOverride);
3457
3040
  const newVal = expr.operator === "++" ? val + 1 : val - 1;
3458
- const path2 = this.getMemberPath(expr.argument);
3459
- if (path2) {
3460
- this.setVariable(path2, newVal, scopeOverride);
3041
+ const path = this.getMemberPath(expr.argument);
3042
+ if (path) {
3043
+ this.setVariable(path, newVal, scopeOverride);
3461
3044
  }
3462
3045
  return expr.prefix ? newVal : val;
3463
3046
  }
@@ -3782,10 +3365,12 @@ var HoloScriptRuntime = class {
3782
3365
  parent: previousScope
3783
3366
  };
3784
3367
  try {
3785
- const parser = new chunk7X2IEJIE_cjs.HoloScriptCodeParser();
3368
+ const parser = new chunkT7LEXZUZ_cjs.HoloScriptCodeParser();
3786
3369
  const result = parser.parse(migration.body);
3787
3370
  if (result.errors.length > 0) {
3788
- chunkILRBGFVD_cjs.logger.error(`Migration parse errors for ${orb.name}:`, { errors: result.errors });
3371
+ chunkILRBGFVD_cjs.logger.error(`Migration parse errors for ${orb.name}:`, {
3372
+ errors: result.errors
3373
+ });
3789
3374
  return;
3790
3375
  }
3791
3376
  await this.executeProgram(result.ast, 0);
@@ -3912,7 +3497,7 @@ var HoloScriptRuntime = class {
3912
3497
  skill.successRate = skill.successRate || 0;
3913
3498
  }
3914
3499
  this.proceduralSkills.set(skill.id, skill);
3915
- StateSynchronizer.getInstance().broadcastSkill(skill);
3500
+ mesh.StateSynchronizer.getInstance().broadcastSkill(skill);
3916
3501
  }
3917
3502
  async executeSkill(skillId, contextVariables = {}) {
3918
3503
  const skill = this.proceduralSkills.get(skillId);
@@ -3933,7 +3518,7 @@ var HoloScriptRuntime = class {
3933
3518
  } else {
3934
3519
  skill.successRate = Math.max(0, skill.successRate - 1);
3935
3520
  }
3936
- StateSynchronizer.getInstance().broadcastSkill(skill);
3521
+ mesh.StateSynchronizer.getInstance().broadcastSkill(skill);
3937
3522
  return {
3938
3523
  ...result,
3939
3524
  executionTime: Date.now() - startTime
@@ -4059,7 +3644,10 @@ var HoloScriptRuntime = class {
4059
3644
  if (event === "position_update") {
4060
3645
  const posPayload = payload;
4061
3646
  if (posPayload?.position) {
4062
- this.setOrbPosition(name, posPayload.position);
3647
+ this.setOrbPosition(
3648
+ name,
3649
+ posPayload.position
3650
+ );
4063
3651
  }
4064
3652
  }
4065
3653
  return this.emit(event, payload);
@@ -4080,18 +3668,14 @@ var HoloScriptRuntime = class {
4080
3668
  }
4081
3669
  }
4082
3670
  };
4083
- chunkEGIZHYJP_cjs.__decorateClass([
3671
+ chunk3SAK5KFL_cjs.__decorateClass([
4084
3672
  RuntimeOptimization.MethodMemoize(500)
4085
3673
  ], HoloScriptRuntime.prototype, "getMemberPath", 1);
4086
3674
 
4087
3675
  exports.EventBus = EventBus;
4088
3676
  exports.HoloScriptRuntime = HoloScriptRuntime;
4089
- exports.PriorityScorer = PriorityScorer;
4090
- exports.SpatialSharder = SpatialSharder;
4091
- exports.StateSynchronizer = StateSynchronizer;
4092
- exports.TransactionLog = TransactionLog;
4093
3677
  exports.getSharedEventBus = getSharedEventBus;
4094
3678
  exports.setSharedEventBus = setSharedEventBus;
4095
3679
  exports.telemetry = telemetry;
4096
- //# sourceMappingURL=chunk-HF4OFY25.cjs.map
4097
- //# sourceMappingURL=chunk-HF4OFY25.cjs.map
3680
+ //# sourceMappingURL=chunk-X6SEAXAX.cjs.map
3681
+ //# sourceMappingURL=chunk-X6SEAXAX.cjs.map
@@ -1,6 +1,7 @@
1
- import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileWeatherBlock, compileAudioSourceBlock, compilePostProcessingBlock, compileParticleBlock, compilePhysicsBlock, compileMaterialBlock } from './chunk-KDB6BUMB.js';
2
- import { init_CompilerBase, init_ANSNamespace, CompilerBase, ANSCapabilityPath } from './chunk-QWKUKVRE.js';
3
- import { __export, __esm } from './chunk-32TWR3HE.js';
1
+ import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileWeatherBlock, compileAudioSourceBlock, compilePostProcessingBlock, compileParticleBlock, compilePhysicsBlock, compileMaterialBlock } from './chunk-YQK5JNFK.js';
2
+ import { init_CompilerBase, CompilerBase } from './chunk-6XSERL6L.js';
3
+ import { __export, __esm } from './chunk-2CWOLHTE.js';
4
+ import { ANSCapabilityPath } from '@holoscript/platform';
4
5
 
5
6
  // src/compiler/OpenXRCompiler.ts
6
7
  var OpenXRCompiler_exports = {};
@@ -11,7 +12,6 @@ var OpenXRCompiler;
11
12
  var init_OpenXRCompiler = __esm({
12
13
  "src/compiler/OpenXRCompiler.ts"() {
13
14
  init_CompilerBase();
14
- init_ANSNamespace();
15
15
  init_DomainBlockCompilerMixin();
16
16
  OpenXRCompiler = class extends CompilerBase {
17
17
  constructor(options = {}) {
@@ -1039,5 +1039,5 @@ var init_OpenXRCompiler = __esm({
1039
1039
  });
1040
1040
 
1041
1041
  export { OpenXRCompiler, OpenXRCompiler_exports, init_OpenXRCompiler };
1042
- //# sourceMappingURL=chunk-C7BNX4XJ.js.map
1043
- //# sourceMappingURL=chunk-C7BNX4XJ.js.map
1042
+ //# sourceMappingURL=chunk-XCWFGZAA.js.map
1043
+ //# sourceMappingURL=chunk-XCWFGZAA.js.map