@holoscript/core 8.0.5 → 8.0.7

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 (248) hide show
  1. package/README.md +34 -34
  2. package/bin/holoscript.cjs +1 -1
  3. package/dist/GLTFPipeline-3EJLL3TS.cjs +38 -0
  4. package/dist/GLTFPipeline-3OWJV2VK.js +17 -0
  5. package/dist/{HoloScriptPlusParser-A2W7OCN2.cjs → HoloScriptPlusParser-ADWRY5OS.cjs} +15 -15
  6. package/dist/{HoloScriptPlusParser-7FBIFUFC.js → HoloScriptPlusParser-JLJDXHSC.js} +4 -4
  7. package/dist/HoloScriptPlusParser-QCGFPWIL.cjs +27 -0
  8. package/dist/{HoloScriptPlusParser-F2Z56FJR.js → HoloScriptPlusParser-WENAFEFV.js} +5 -5
  9. package/dist/HoloScriptRuntime-GGRVEU4T.cjs +19 -0
  10. package/dist/HoloScriptRuntime-GJK6VJPH.js +10 -0
  11. package/dist/{USDZExporter-3FWJ25JI.cjs → USDZExporter-AUHZODOF.cjs} +15 -4
  12. package/dist/{USDZExporter-D2HQLQYK.js → USDZExporter-GXB4AUSG.js} +15 -4
  13. package/dist/{chunk-V6MKC2FZ.js → chunk-22Q5A6RV.js} +3 -3
  14. package/dist/{chunk-IUDGEUDO.cjs → chunk-2BZHWUSR.cjs} +27 -15
  15. package/dist/{chunk-XJAN7CZG.cjs → chunk-2GCNOI2U.cjs} +2 -2
  16. package/dist/{chunk-CCATWPXM.js → chunk-2OWDB4FB.js} +13 -25
  17. package/dist/{chunk-N75IH2HY.js → chunk-2Y3V22SG.js} +5 -14
  18. package/dist/{chunk-MXFUTKCO.js → chunk-33YHE7HX.js} +3 -7
  19. package/dist/{chunk-GYZE55MO.js → chunk-3GWWJT7L.js} +4 -4
  20. package/dist/{chunk-CMT5NMMS.js → chunk-3NGDZZR4.js} +4 -4
  21. package/dist/{chunk-WRLUBRKS.cjs → chunk-3SKLAUDD.cjs} +2 -2
  22. package/dist/{chunk-KKFZ3B6J.cjs → chunk-3VBO3IYQ.cjs} +2 -2
  23. package/dist/{chunk-YF2I3MV3.js → chunk-47RUFYKR.js} +2 -2
  24. package/dist/{chunk-LHAXPADA.js → chunk-4JGRWHZJ.js} +7 -5
  25. package/dist/{chunk-ROHLEP2W.cjs → chunk-4W5G5QVL.cjs} +26 -26
  26. package/dist/{chunk-GQHQOPXZ.cjs → chunk-4YNYPHH3.cjs} +186 -17
  27. package/dist/{chunk-ZMCVKFXI.cjs → chunk-56VOWURB.cjs} +154 -47
  28. package/dist/{chunk-FXKAW7ZO.cjs → chunk-5A4TCHOC.cjs} +3 -3
  29. package/dist/{chunk-M56JSP4A.js → chunk-5EDVCNRT.js} +2 -2
  30. package/dist/{chunk-UJXISJBN.js → chunk-5ET6L4NS.js} +3 -3
  31. package/dist/{chunk-5NWINHR5.cjs → chunk-63ZGNR2T.cjs} +43 -39
  32. package/dist/{chunk-NG77ATEW.cjs → chunk-6PRZIHGL.cjs} +6 -6
  33. package/dist/{chunk-3WZEJHUQ.cjs → chunk-7DMMMBCY.cjs} +7 -7
  34. package/dist/{chunk-FHP6LXJS.js → chunk-7E7GCQCK.js} +2 -2
  35. package/dist/{chunk-YN2YWTXW.js → chunk-7VMGP2FW.js} +44 -28
  36. package/dist/{chunk-OJXHYNXN.js → chunk-7X5PNIQJ.js} +3 -3
  37. package/dist/{chunk-FYSPZT4V.cjs → chunk-7ZHYEITD.cjs} +11 -11
  38. package/dist/{chunk-KPJL34Y7.cjs → chunk-ACVWFGBI.cjs} +2 -2
  39. package/dist/{chunk-UWXE23BT.cjs → chunk-AWB7QYY6.cjs} +6 -6
  40. package/dist/{chunk-UO4WPSGQ.js → chunk-B4EKV6HQ.js} +154 -48
  41. package/dist/{chunk-2X7NGX3M.js → chunk-BRNUPDHJ.js} +5 -5
  42. package/dist/{chunk-D3STJ56J.js → chunk-BTKZGHAV.js} +23 -11
  43. package/dist/{chunk-I5CDNPPE.cjs → chunk-C4GSLCHE.cjs} +331 -125
  44. package/dist/{chunk-QPSKHBJP.js → chunk-C7ZBSV2Q.js} +13 -7
  45. package/dist/{chunk-YN6V7R3L.cjs → chunk-CCPSNT6B.cjs} +12 -7
  46. package/dist/{chunk-NW5G5FBQ.js → chunk-DD2JQ7TS.js} +4 -3
  47. package/dist/{chunk-JD7CIZ33.js → chunk-DUCB6LGL.js} +8 -10
  48. package/dist/{chunk-ANXZFVY2.js → chunk-DY72BMU5.js} +3 -3
  49. package/dist/{chunk-AIA52I7T.cjs → chunk-EBS32AJI.cjs} +6 -4
  50. package/dist/{chunk-6DO5IZ5N.cjs → chunk-EDPYCLRC.cjs} +85 -65
  51. package/dist/{chunk-WQKJSGVS.js → chunk-F2G6CWFT.js} +271 -66
  52. package/dist/{chunk-AVJHHUC5.cjs → chunk-F5LKJ6F5.cjs} +43 -31
  53. package/dist/{chunk-ZU7NIRT6.js → chunk-FGMDMJM7.js} +10 -5
  54. package/dist/{chunk-YVD3CSO3.js → chunk-FHQFPYV4.js} +4 -4
  55. package/dist/{chunk-YIMN575O.js → chunk-FNHJRI32.js} +8 -5
  56. package/dist/{chunk-EXUP2BUM.cjs → chunk-FT6TDR2O.cjs} +27 -27
  57. package/dist/{chunk-BRQJKJGT.cjs → chunk-FWVYAMNW.cjs} +4 -4
  58. package/dist/{chunk-PGANYCAG.cjs → chunk-G25QVBA5.cjs} +4 -3
  59. package/dist/{chunk-XB274MW5.cjs → chunk-G6PNEASF.cjs} +13 -13
  60. package/dist/{chunk-2BSMSUCE.js → chunk-GASCWJK5.js} +2 -2
  61. package/dist/{chunk-HKEXJUWS.cjs → chunk-GH6C2QGW.cjs} +12 -21
  62. package/dist/{chunk-WRKUDAZJ.js → chunk-GSOUNWEL.js} +35 -27
  63. package/dist/{chunk-QPOQ7VPI.js → chunk-GTA4Q3A3.js} +2 -2
  64. package/dist/{chunk-JIYN45TV.cjs → chunk-GVFJ6T4S.cjs} +3 -7
  65. package/dist/{chunk-IVY74O6C.js → chunk-GVOKJNUN.js} +50 -11
  66. package/dist/{chunk-GZG4KA4E.js → chunk-GW3LKD5C.js} +6 -4
  67. package/dist/{chunk-NCWCUZNS.cjs → chunk-HFSVMKM3.cjs} +14 -14
  68. package/dist/{chunk-IUTY5WQ2.cjs → chunk-HLFDZ35S.cjs} +5 -5
  69. package/dist/{chunk-IWC5DM2M.cjs → chunk-I76GIKN7.cjs} +20 -16
  70. package/dist/{chunk-ON5QSY35.cjs → chunk-KAIVDEIG.cjs} +175 -59
  71. package/dist/{chunk-R24NNAEG.js → chunk-KCPHASCO.js} +18 -6
  72. package/dist/{chunk-T5J7ZKP3.cjs → chunk-KOUAQL2B.cjs} +16 -13
  73. package/dist/{chunk-GMP623FG.cjs → chunk-KQU64CIX.cjs} +2 -2
  74. package/dist/{chunk-MVPBWHAC.js → chunk-L5U4W6JC.js} +4 -4
  75. package/dist/{chunk-2IWC4FP7.cjs → chunk-LMJ5EBV7.cjs} +10 -10
  76. package/dist/{chunk-KKP7JKN4.cjs → chunk-LODTHGST.cjs} +18 -12
  77. package/dist/{chunk-4V2E7U7Q.cjs → chunk-LPS5AMQD.cjs} +8 -8
  78. package/dist/{chunk-PY37LNDP.js → chunk-LWUOUCYL.js} +9 -5
  79. package/dist/{chunk-6CTRH7HT.cjs → chunk-LYJJI7ZK.cjs} +12 -14
  80. package/dist/{chunk-GTU2Z2WW.cjs → chunk-M7K4LE66.cjs} +5 -14
  81. package/dist/{chunk-URG2SJLK.js → chunk-MDR235RZ.js} +3 -7
  82. package/dist/{chunk-E4M5OAYO.js → chunk-MSYSQ2AJ.js} +132 -16
  83. package/dist/{chunk-TWUXUCEW.cjs → chunk-NGBXXZLL.cjs} +50 -62
  84. package/dist/{chunk-FFAOS5HQ.js → chunk-NHJLP37F.js} +6 -6
  85. package/dist/{chunk-S3MDHNKB.cjs → chunk-NHYRRAGI.cjs} +5 -5
  86. package/dist/{chunk-U44IKGG7.cjs → chunk-O3MGZDCT.cjs} +89 -52
  87. package/dist/{chunk-GIOYPNTH.js → chunk-OABEO6HH.js} +185 -16
  88. package/dist/{chunk-KQCN6AKJ.cjs → chunk-OS533P33.cjs} +37 -29
  89. package/dist/{chunk-DAJXW4KX.js → chunk-PABONWKI.js} +24 -11
  90. package/dist/{chunk-QACVP4PM.js → chunk-PXNZ6TME.js} +77 -59
  91. package/dist/{chunk-OMXII44L.js → chunk-Q2Q34NF3.js} +63 -26
  92. package/dist/{chunk-OH2FAIVU.js → chunk-QBWNJXNR.js} +10 -6
  93. package/dist/{chunk-XKTPFXGA.js → chunk-QFU53KRH.js} +4 -4
  94. package/dist/{chunk-CR4FMIWL.cjs → chunk-QGMUTVVH.cjs} +17 -17
  95. package/dist/{chunk-MYY4PMWX.cjs → chunk-RUVBFAF7.cjs} +50 -11
  96. package/dist/{chunk-QD32ADK6.js → chunk-S762UEV5.js} +5 -5
  97. package/dist/{chunk-HNDK4IQU.cjs → chunk-SH5PPVK7.cjs} +61 -45
  98. package/dist/{chunk-JC5YBPSF.cjs → chunk-SKZPC5AG.cjs} +5 -5
  99. package/dist/{chunk-TJHVSBP2.js → chunk-SLHLXUMO.js} +10 -4
  100. package/dist/{chunk-5KVXXUD4.js → chunk-SSSN7VAM.js} +3 -3
  101. package/dist/{chunk-KMC6CQH3.js → chunk-SXOSDZD6.js} +6 -6
  102. package/dist/{chunk-J32ZJZJH.js → chunk-SYTRBGDS.js} +2 -2
  103. package/dist/{chunk-CIWWXYHZ.cjs → chunk-T6W3Z3SH.cjs} +2 -2
  104. package/dist/{chunk-QXH7QDSZ.js → chunk-TEVX443G.js} +44 -51
  105. package/dist/{chunk-UFZZ7TSN.cjs → chunk-TQ377OLB.cjs} +23 -21
  106. package/dist/{chunk-PJGFU5DN.cjs → chunk-TRCGG42I.cjs} +195 -152
  107. package/dist/{chunk-H652NHX5.js → chunk-TVANHNJ7.js} +30 -23
  108. package/dist/{chunk-EKBKLK7P.js → chunk-UDE4OZMR.js} +3 -3
  109. package/dist/{chunk-LKWQNUE6.cjs → chunk-UGXHYIWT.cjs} +5 -5
  110. package/dist/{chunk-JBNDTXXV.cjs → chunk-ULMSSHCJ.cjs} +21 -21
  111. package/dist/{chunk-YWOBW2PV.cjs → chunk-UOL6Y5TD.cjs} +18 -18
  112. package/dist/{chunk-5S7RKFGR.cjs → chunk-UVFI7XIR.cjs} +10 -4
  113. package/dist/{chunk-7M3PNU2M.cjs → chunk-V7AKE5VT.cjs} +10 -10
  114. package/dist/{chunk-J7XZV333.js → chunk-VEPGBETF.js} +6 -6
  115. package/dist/{chunk-UWJHCOH2.js → chunk-VF257YKO.js} +4 -4
  116. package/dist/{chunk-4N4SXXWF.js → chunk-VSACG2AR.js} +3 -3
  117. package/dist/{chunk-ZDSYWBIE.cjs → chunk-VW5CRJBE.cjs} +3 -7
  118. package/dist/{chunk-YT5L3B57.cjs → chunk-WFKVS2K4.cjs} +65 -27
  119. package/dist/{chunk-J6M4FPK5.js → chunk-WXQ57LAO.js} +3 -3
  120. package/dist/{chunk-5H2G27PK.cjs → chunk-X27QRG4C.cjs} +38 -38
  121. package/dist/{chunk-TVHSPJ4N.cjs → chunk-X2AVEAZM.cjs} +30 -23
  122. package/dist/{chunk-DHO2YRIM.js → chunk-XQ5MWMP2.js} +4 -4
  123. package/dist/{chunk-XIVIE43A.cjs → chunk-XW6IXEQH.cjs} +26 -13
  124. package/dist/{chunk-YIVFJNYV.js → chunk-Y3ZFVUUU.js} +2 -2
  125. package/dist/{chunk-7H33U5SM.cjs → chunk-Y57W2CT5.cjs} +2 -2
  126. package/dist/{chunk-OBIYPYYS.cjs → chunk-YCM6QQRT.cjs} +46 -53
  127. package/dist/{chunk-MBOOR7X4.js → chunk-YFVQWSNJ.js} +3 -3
  128. package/dist/{chunk-ADADVMXY.js → chunk-YFWRJW4B.js} +2 -2
  129. package/dist/{chunk-ONDAWTW4.js → chunk-YN6IETRZ.js} +179 -136
  130. package/dist/{chunk-4SDKXQ4C.js → chunk-YRRAUB35.js} +4 -4
  131. package/dist/{chunk-OBP5REIV.js → chunk-Z6PMDS4G.js} +62 -24
  132. package/dist/{chunk-BOVPWH4H.js → chunk-ZA34AN3R.js} +8 -17
  133. package/dist/{chunk-EKYL4PE3.cjs → chunk-ZLF4YF3U.cjs} +2 -2
  134. package/dist/{chunk-6FH72EB2.cjs → chunk-ZPZAVHXL.cjs} +20 -20
  135. package/dist/cli/holoscript-runner.cjs +39 -22
  136. package/dist/cli/holoscript-runner.js +32 -15
  137. package/dist/compiler/GasOptimizationAnalyzer.d.ts +73 -0
  138. package/dist/compiler/NFTMarketplaceCompiler.d.ts +23 -0
  139. package/dist/compiler/agent-inference.cjs +7 -7
  140. package/dist/compiler/agent-inference.js +3 -3
  141. package/dist/compiler/android-xr.cjs +8 -8
  142. package/dist/compiler/android-xr.js +6 -6
  143. package/dist/compiler/android.cjs +6 -6
  144. package/dist/compiler/android.js +4 -4
  145. package/dist/compiler/ar.cjs +6 -6
  146. package/dist/compiler/ar.js +4 -4
  147. package/dist/compiler/babylon.cjs +8 -8
  148. package/dist/compiler/babylon.js +7 -7
  149. package/dist/compiler/business-quest.cjs +9 -9
  150. package/dist/compiler/business-quest.js +1 -1
  151. package/dist/compiler/context.cjs +6 -6
  152. package/dist/compiler/context.js +3 -3
  153. package/dist/compiler/domain-block-utils.cjs +153 -153
  154. package/dist/compiler/domain-block-utils.js +4 -4
  155. package/dist/compiler/dtdl.cjs +7 -7
  156. package/dist/compiler/dtdl.js +4 -4
  157. package/dist/compiler/gltf-pipeline.cjs +8 -8
  158. package/dist/compiler/gltf-pipeline.js +1 -1
  159. package/dist/compiler/godot.cjs +6 -6
  160. package/dist/compiler/godot.js +5 -5
  161. package/dist/compiler/incremental.cjs +8 -8
  162. package/dist/compiler/incremental.js +3 -3
  163. package/dist/compiler/index.cjs +530 -355
  164. package/dist/compiler/index.d.ts +20 -0
  165. package/dist/compiler/index.js +374 -210
  166. package/dist/compiler/ios.cjs +6 -6
  167. package/dist/compiler/ios.js +4 -4
  168. package/dist/compiler/llm-provider-capabilities.cjs +6 -6
  169. package/dist/compiler/llm-provider-capabilities.js +3 -3
  170. package/dist/compiler/multi-layer.cjs +10 -10
  171. package/dist/compiler/multi-layer.js +9 -9
  172. package/dist/compiler/openxr.cjs +7 -7
  173. package/dist/compiler/openxr.js +6 -6
  174. package/dist/compiler/playcanvas.cjs +6 -6
  175. package/dist/compiler/playcanvas.js +5 -5
  176. package/dist/compiler/r3f.cjs +13 -13
  177. package/dist/compiler/r3f.js +8 -8
  178. package/dist/compiler/sdf.cjs +7 -7
  179. package/dist/compiler/sdf.js +5 -5
  180. package/dist/compiler/state.cjs +6 -6
  181. package/dist/compiler/state.js +4 -4
  182. package/dist/compiler/trait-composition.cjs +8 -8
  183. package/dist/compiler/trait-composition.js +4 -4
  184. package/dist/compiler/unity.cjs +7 -7
  185. package/dist/compiler/unity.js +6 -6
  186. package/dist/compiler/unreal.cjs +8 -8
  187. package/dist/compiler/unreal.js +6 -6
  188. package/dist/compiler/urdf.cjs +14 -14
  189. package/dist/compiler/urdf.js +5 -5
  190. package/dist/compiler/usd-physics.cjs +7 -7
  191. package/dist/compiler/usd-physics.js +4 -4
  192. package/dist/compiler/visionos.cjs +7 -7
  193. package/dist/compiler/visionos.js +6 -6
  194. package/dist/compiler/vrchat.cjs +7 -7
  195. package/dist/compiler/vrchat.js +5 -5
  196. package/dist/compiler/vrr.cjs +7 -7
  197. package/dist/compiler/vrr.js +5 -5
  198. package/dist/compiler/wasm.cjs +10 -10
  199. package/dist/compiler/wasm.js +5 -5
  200. package/dist/compiler/webgpu.cjs +6 -6
  201. package/dist/compiler/webgpu.js +5 -5
  202. package/dist/coordinators/index.cjs +27 -10
  203. package/dist/coordinators/index.js +27 -10
  204. package/dist/debugger.cjs +6 -6
  205. package/dist/debugger.js +4 -4
  206. package/dist/entries/scripting.cjs +6 -6
  207. package/dist/entries/scripting.js +2 -2
  208. package/dist/hololand/index.cjs +36 -36
  209. package/dist/hololand/index.js +2 -2
  210. package/dist/index.cjs +1080 -2190
  211. package/dist/index.js +467 -1577
  212. package/dist/math/tropical-spmv.cjs +10 -10
  213. package/dist/math/tropical-spmv.js +1 -1
  214. package/dist/math/vec3.cjs +13 -13
  215. package/dist/math/vec3.js +1 -1
  216. package/dist/parser/NFTMarketplaceTypes.d.ts +191 -0
  217. package/dist/parser.cjs +16 -16
  218. package/dist/parser.js +5 -5
  219. package/dist/reconstruction/index.cjs +37 -37
  220. package/dist/reconstruction/index.js +4 -4
  221. package/dist/runtime.cjs +280 -74
  222. package/dist/runtime.d.ts +10 -1
  223. package/dist/runtime.js +268 -70
  224. package/dist/self-improvement/index.cjs +12 -4
  225. package/dist/self-improvement/index.js +12 -4
  226. package/dist/{src-HCCCSYP7.js → src-J6CM4AUR.js} +91 -33
  227. package/dist/{src-4ROC227P.cjs → src-PT2FERDV.cjs} +93 -35
  228. package/dist/testing.cjs +5 -5
  229. package/dist/testing.js +1 -1
  230. package/dist/traits/botanical-lotus.cjs +52 -48
  231. package/dist/traits/botanical-lotus.js +2 -2
  232. package/dist/traits/engines/index.cjs +39 -39
  233. package/dist/traits/engines/index.d.ts +279 -0
  234. package/dist/traits/engines/index.js +4 -4
  235. package/dist/traits/index.cjs +889 -773
  236. package/dist/traits/index.js +371 -259
  237. package/dist/world/index.cjs +21 -18
  238. package/dist/world/index.js +21 -18
  239. package/dist/world-model/index.cjs +11 -5
  240. package/dist/world-model/index.d.ts +8 -0
  241. package/dist/world-model/index.js +11 -5
  242. package/package.json +75 -69
  243. package/LICENSE +0 -21
  244. package/dist/GLTFPipeline-37FPRVPH.js +0 -17
  245. package/dist/GLTFPipeline-EK3LFJKW.cjs +0 -38
  246. package/dist/HoloScriptPlusParser-WKHRIH6T.cjs +0 -27
  247. package/dist/HoloScriptRuntime-ACDFKVVH.js +0 -10
  248. package/dist/HoloScriptRuntime-ON2OQVEF.cjs +0 -19
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkHKEXJUWS_cjs = require('./chunk-HKEXJUWS.cjs');
4
- var chunkKKP7JKN4_cjs = require('./chunk-KKP7JKN4.cjs');
3
+ var chunkGH6C2QGW_cjs = require('./chunk-GH6C2QGW.cjs');
4
+ var chunkLODTHGST_cjs = require('./chunk-LODTHGST.cjs');
5
5
  var chunkHCCQLAA4_cjs = require('./chunk-HCCQLAA4.cjs');
6
6
  var ans = require('@holoscript/core-types/ans');
7
7
 
@@ -19,7 +19,7 @@ function createWASMCompiler(options) {
19
19
  }
20
20
  function compileToWASM(composition, options) {
21
21
  const compiler = new exports.WASMCompiler(options);
22
- return compiler.compile(composition, chunkKKP7JKN4_cjs.createTestCompilerToken());
22
+ return compiler.compile(composition, chunkLODTHGST_cjs.createTestCompilerToken());
23
23
  }
24
24
  function compileASTToWASM(ast, options) {
25
25
  const compiler = new exports.WASMCompiler(options);
@@ -28,8 +28,8 @@ function compileASTToWASM(ast, options) {
28
28
  var WASM_WAT_LIMITATIONS, WASM_BINARY_LIMITATIONS; exports.WASMCompiler = void 0; exports.WASMCompiler_default = void 0;
29
29
  var init_WASMCompiler = chunkHCCQLAA4_cjs.__esm({
30
30
  "src/compiler/WASMCompiler.ts"() {
31
- chunkKKP7JKN4_cjs.init_CompilerBase();
32
- chunkHKEXJUWS_cjs.init_DomainBlockCompilerMixin();
31
+ chunkLODTHGST_cjs.init_CompilerBase();
32
+ chunkGH6C2QGW_cjs.init_DomainBlockCompilerMixin();
33
33
  WASM_WAT_LIMITATIONS = [
34
34
  "Emits WebAssembly Text Format scaffolding only.",
35
35
  'Does not return instantiable bytes unless format is set to "wasm".',
@@ -40,7 +40,7 @@ var init_WASMCompiler = chunkHCCQLAA4_cjs.__esm({
40
40
  "Lowers trait/lifecycle/event hooks to deterministic host event calls, not arbitrary user code.",
41
41
  "Does not run a general-purpose WAT parser for unsupported custom WAT extensions."
42
42
  ];
43
- exports.WASMCompiler = class extends chunkKKP7JKN4_cjs.CompilerBase {
43
+ exports.WASMCompiler = class extends chunkLODTHGST_cjs.CompilerBase {
44
44
  constructor(options = {}) {
45
45
  super();
46
46
  this.compilerName = "WASMCompiler";
@@ -100,11 +100,11 @@ var init_WASMCompiler = chunkHCCQLAA4_cjs.__esm({
100
100
  if (domainBlocks.length > 0) {
101
101
  this.emit("");
102
102
  this.emit(" ;; === v4.2 Domain Blocks ===");
103
- chunkHKEXJUWS_cjs.compileDomainBlocks(
103
+ chunkGH6C2QGW_cjs.compileDomainBlocks(
104
104
  domainBlocks,
105
105
  {
106
106
  material: (block) => {
107
- const mat = chunkHKEXJUWS_cjs.compileMaterialBlock(block);
107
+ const mat = chunkGH6C2QGW_cjs.compileMaterialBlock(block);
108
108
  this.emit(
109
109
  ` ;; Material: "${this.escapeStringValue(mat.name, "TypeScript")}" type=${mat.type}`
110
110
  );
@@ -1185,5 +1185,5 @@ exports.compileASTToWASM = compileASTToWASM;
1185
1185
  exports.compileToWASM = compileToWASM;
1186
1186
  exports.createWASMCompiler = createWASMCompiler;
1187
1187
  exports.init_WASMCompiler = init_WASMCompiler;
1188
- //# sourceMappingURL=chunk-2IWC4FP7.cjs.map
1189
- //# sourceMappingURL=chunk-2IWC4FP7.cjs.map
1188
+ //# sourceMappingURL=chunk-LMJ5EBV7.cjs.map
1189
+ //# sourceMappingURL=chunk-LMJ5EBV7.cjs.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunk5FSKKMR7_cjs = require('./chunk-5FSKKMR7.cjs');
4
- var chunkGTU2Z2WW_cjs = require('./chunk-GTU2Z2WW.cjs');
4
+ var chunkM7K4LE66_cjs = require('./chunk-M7K4LE66.cjs');
5
5
  var chunkE7JP3BS3_cjs = require('./chunk-E7JP3BS3.cjs');
6
6
  var chunkHCCQLAA4_cjs = require('./chunk-HCCQLAA4.cjs');
7
7
  var crypto3 = require('crypto');
@@ -3449,7 +3449,7 @@ var init_AgentRBAC = chunkHCCQLAA4_cjs.__esm({
3449
3449
  init_AgentTokenIssuer();
3450
3450
  init_CulturalCompatibilityChecker();
3451
3451
  init_ConfabulationValidator();
3452
- chunkGTU2Z2WW_cjs.init_AgentRiskRegistry();
3452
+ chunkM7K4LE66_cjs.init_AgentRiskRegistry();
3453
3453
  RESOURCE_PERMISSION_MAP = {
3454
3454
  ["source_file" /* SOURCE_FILE */]: {
3455
3455
  read: "read:source" /* READ_SOURCE */,
@@ -3742,7 +3742,7 @@ var init_AgentRBAC = chunkHCCQLAA4_cjs.__esm({
3742
3742
  * @returns Extended access decision including risk tier and applied cap.
3743
3743
  */
3744
3744
  checkAccessWithRiskGate(request, composition, options) {
3745
- const registry = options?.registry ?? chunkGTU2Z2WW_cjs.getAgentRiskRegistry();
3745
+ const registry = options?.registry ?? chunkM7K4LE66_cjs.getAgentRiskRegistry();
3746
3746
  const dryRun = options?.dryRun ?? false;
3747
3747
  const rbacDecision = this.checkAccess(request);
3748
3748
  if (!rbacDecision.allowed) {
@@ -3761,8 +3761,8 @@ var init_AgentRBAC = chunkHCCQLAA4_cjs.__esm({
3761
3761
  const confabResult = validator.validateComposition(composition);
3762
3762
  const tier = registry.getTier(agentId);
3763
3763
  const riskScore = registry.getScore(agentId);
3764
- const cap = chunkGTU2Z2WW_cjs.TIER_COMPOSITION_RISK_CAP[tier];
3765
- if (chunkGTU2Z2WW_cjs.isDangerousOperation(request.operation)) {
3764
+ const cap = chunkM7K4LE66_cjs.TIER_COMPOSITION_RISK_CAP[tier];
3765
+ if (chunkM7K4LE66_cjs.isDangerousOperation(request.operation)) {
3766
3766
  if (tier === "quarantined" /* QUARANTINED */) {
3767
3767
  return {
3768
3768
  allowed: false,
@@ -3826,7 +3826,7 @@ var init_AgentRBAC = chunkHCCQLAA4_cjs.__esm({
3826
3826
  getAgentRiskTier(token, registry) {
3827
3827
  const verification = this.tokenIssuer.verifyToken(token);
3828
3828
  if (!verification.valid || !verification.payload) return null;
3829
- const reg = registry ?? chunkGTU2Z2WW_cjs.getAgentRiskRegistry();
3829
+ const reg = registry ?? chunkM7K4LE66_cjs.getAgentRiskRegistry();
3830
3830
  return reg.getTier(verification.payload.sub);
3831
3831
  }
3832
3832
  // ===========================================================================
@@ -3983,7 +3983,9 @@ var init_ANSNamespace = chunkHCCQLAA4_cjs.__esm({
3983
3983
  STATE: "/compile/meta/state",
3984
3984
  TRAIT_COMPOSITION: "/compile/meta/trait-composition",
3985
3985
  // ── mixin ────────────────────────────────────────────────────────────
3986
- DOMAIN_BLOCK: "/compile/mixin/domain-block"
3986
+ DOMAIN_BLOCK: "/compile/mixin/domain-block",
3987
+ // ── studio ───────────────────────────────────────────────────────────
3988
+ CODE_EDITOR: "/compile/studio/code-editor"
3987
3989
  };
3988
3990
  COMPILER_DOMAIN_MAP = {
3989
3991
  // gamedev
@@ -4041,7 +4043,9 @@ var init_ANSNamespace = chunkHCCQLAA4_cjs.__esm({
4041
4043
  state: ANSDomain.META,
4042
4044
  "trait-composition": ANSDomain.META,
4043
4045
  // mixin
4044
- "domain-block": ANSDomain.MIXIN
4046
+ "domain-block": ANSDomain.MIXIN,
4047
+ // studio
4048
+ "code-editor": ANSDomain.META
4045
4049
  };
4046
4050
  COMPILER_ANS_MAP = {
4047
4051
  unity: exports.ANSCapabilityPath.UNITY,
@@ -4084,7 +4088,8 @@ var init_ANSNamespace = chunkHCCQLAA4_cjs.__esm({
4084
4088
  incremental: exports.ANSCapabilityPath.INCREMENTAL,
4085
4089
  state: exports.ANSCapabilityPath.STATE,
4086
4090
  "trait-composition": exports.ANSCapabilityPath.TRAIT_COMPOSITION,
4087
- "domain-block": exports.ANSCapabilityPath.DOMAIN_BLOCK
4091
+ "domain-block": exports.ANSCapabilityPath.DOMAIN_BLOCK,
4092
+ "code-editor": exports.ANSCapabilityPath.CODE_EDITOR
4088
4093
  };
4089
4094
  ALL_COMPILER_NAMES = Object.keys(
4090
4095
  COMPILER_DOMAIN_MAP
@@ -5530,7 +5535,8 @@ var init_CompilerBase = chunkHCCQLAA4_cjs.__esm({
5530
5535
  NodeServiceCompiler: "node-service",
5531
5536
  NextJSAPICompiler: "nextjs-api",
5532
5537
  MCPConfigCompiler: "domain-block",
5533
- AgentInferenceCompiler: "agent-inference"
5538
+ AgentInferenceCompiler: "agent-inference",
5539
+ CodeEditorCompiler: "code-editor"
5534
5540
  };
5535
5541
  exports.UnauthorizedCompilerAccessError = class extends Error {
5536
5542
  constructor(decision, operation, compilerName) {
@@ -5998,5 +6004,5 @@ exports.isCapabilityTokenCredential = isCapabilityTokenCredential;
5998
6004
  exports.normalizeNormProvenance = normalizeNormProvenance;
5999
6005
  exports.normsByCategory = normsByCategory;
6000
6006
  exports.serializeNormProvenance = serializeNormProvenance;
6001
- //# sourceMappingURL=chunk-KKP7JKN4.cjs.map
6002
- //# sourceMappingURL=chunk-KKP7JKN4.cjs.map
6007
+ //# sourceMappingURL=chunk-LODTHGST.cjs.map
6008
+ //# sourceMappingURL=chunk-LODTHGST.cjs.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkR75BSDH7_cjs = require('./chunk-R75BSDH7.cjs');
4
- var chunkKKP7JKN4_cjs = require('./chunk-KKP7JKN4.cjs');
4
+ var chunkLODTHGST_cjs = require('./chunk-LODTHGST.cjs');
5
5
  var chunkE7JP3BS3_cjs = require('./chunk-E7JP3BS3.cjs');
6
6
  var crypto = require('crypto');
7
7
 
@@ -727,7 +727,7 @@ var ImportResolver = class {
727
727
  throw new Error(`File not found: '${canonicalPath}' (imported from '${importedBy}')`);
728
728
  }
729
729
  }
730
- const { HoloScriptPlusParser } = await import('./HoloScriptPlusParser-WKHRIH6T.cjs');
730
+ const { HoloScriptPlusParser } = await import('./HoloScriptPlusParser-QCGFPWIL.cjs');
731
731
  const parser = new HoloScriptPlusParser({ enableTypeScriptImports: true });
732
732
  const result = parser.parse(source);
733
733
  if (!result.success && result.errors.length > 0) {
@@ -1268,8 +1268,8 @@ function createSemanticCache(options) {
1268
1268
  }
1269
1269
 
1270
1270
  // src/compiler/IncrementalCompiler.ts
1271
- chunkKKP7JKN4_cjs.init_AgentRBAC();
1272
- chunkKKP7JKN4_cjs.init_CompilerBase();
1271
+ chunkLODTHGST_cjs.init_AgentRBAC();
1272
+ chunkLODTHGST_cjs.init_CompilerBase();
1273
1273
  chunkE7JP3BS3_cjs.init_safeJsonParse();
1274
1274
  function hashContent(content) {
1275
1275
  let hash = 0;
@@ -1772,7 +1772,7 @@ var IncrementalCompiler = class _IncrementalCompiler {
1772
1772
  */
1773
1773
  validateAccess(agentToken) {
1774
1774
  if (!agentToken) return;
1775
- const rbac = chunkKKP7JKN4_cjs.getRBAC();
1775
+ const rbac = chunkLODTHGST_cjs.getRBAC();
1776
1776
  const decision = rbac.checkAccess({
1777
1777
  token: agentToken,
1778
1778
  resourceType: "ast" /* AST */,
@@ -1997,7 +1997,7 @@ function deserializeCache(json) {
1997
1997
  }
1998
1998
  return compiler;
1999
1999
  }
2000
- var UnauthorizedIncrementalCompilerAccessError = class extends chunkKKP7JKN4_cjs.UnauthorizedCompilerAccessError {
2000
+ var UnauthorizedIncrementalCompilerAccessError = class extends chunkLODTHGST_cjs.UnauthorizedCompilerAccessError {
2001
2001
  constructor(decision, compilerName) {
2002
2002
  super(decision, "incremental compilation", compilerName);
2003
2003
  this.name = "UnauthorizedIncrementalCompilerAccessError";
@@ -2011,5 +2011,5 @@ exports.createIncrementalCompiler = createIncrementalCompiler;
2011
2011
  exports.deserializeCache = deserializeCache;
2012
2012
  exports.globalTraitGraph = globalTraitGraph;
2013
2013
  exports.serializeCache = serializeCache;
2014
- //# sourceMappingURL=chunk-4V2E7U7Q.cjs.map
2015
- //# sourceMappingURL=chunk-4V2E7U7Q.cjs.map
2014
+ //# sourceMappingURL=chunk-LPS5AMQD.cjs.map
2015
+ //# sourceMappingURL=chunk-LPS5AMQD.cjs.map
@@ -1,5 +1,5 @@
1
- import { init_DomainBlockCompilerMixin, compileDomainBlocks, inputToGodot, compileInputBlock, navigationToGodot, compileNavigationBlock, renderingToGodot, compileRenderingBlock, proceduralToGodot, compileProceduralBlock, web3ToGodot, compileWeb3Block, architectureToGodot, compileArchitectureBlock, musicToGodot, compileMusicBlock, educationToGodot, compileEducationBlock, datavizToGodot, compileDataVizBlock, iotToGodot, compileIoTBlock, compileRoboticsBlock, roboticsToGodot, compileHealthcareBlock, healthcareToGodot, compilePaymentBlock, paymentToGodot, compileNarrativeBlock, narrativeToGodot, compileWeatherBlock, weatherToGodot, compileAudioSourceBlock, audioSourceToGodot, compilePostProcessingBlock, postProcessingToGodot, compileParticleBlock, particlesToGodot, compilePhysicsBlock, physicsToGodot, compileMaterialBlock, materialToGodot } from './chunk-BOVPWH4H.js';
2
- import { init_CompilerBase, CompilerBase } from './chunk-QPSKHBJP.js';
1
+ import { init_DomainBlockCompilerMixin, compileDomainBlocks, inputToGodot, compileInputBlock, navigationToGodot, compileNavigationBlock, renderingToGodot, compileRenderingBlock, proceduralToGodot, compileProceduralBlock, web3ToGodot, compileWeb3Block, architectureToGodot, compileArchitectureBlock, musicToGodot, compileMusicBlock, educationToGodot, compileEducationBlock, datavizToGodot, compileDataVizBlock, iotToGodot, compileIoTBlock, compileRoboticsBlock, roboticsToGodot, compileHealthcareBlock, healthcareToGodot, compilePaymentBlock, paymentToGodot, compileNarrativeBlock, narrativeToGodot, compileWeatherBlock, weatherToGodot, compileAudioSourceBlock, audioSourceToGodot, compilePostProcessingBlock, postProcessingToGodot, compileParticleBlock, particlesToGodot, compilePhysicsBlock, physicsToGodot, compileMaterialBlock, materialToGodot } from './chunk-ZA34AN3R.js';
2
+ import { init_CompilerBase, CompilerBase } from './chunk-C7ZBSV2Q.js';
3
3
  import { __esm, __export } from './chunk-OL46QLBJ.js';
4
4
  import { ANSCapabilityPath } from '@holoscript/core-types/ans';
5
5
 
@@ -431,7 +431,11 @@ var init_GodotCompiler = __esm({
431
431
  this.emit(`var ${varName}_reverb = AudioEffectReverb.new()`);
432
432
  this.emit(`# @reverb_zone \u2014 add to AudioBus`);
433
433
  } else if (tn === "audio_material" || tn === "audio_occlusion" || tn === "audio_portal") {
434
- const acoustic = compileAcousticTrait(tn, trait.config || {}, varName);
434
+ const acoustic = compileAcousticTrait(
435
+ tn,
436
+ trait.config || {},
437
+ varName
438
+ );
435
439
  if (acoustic) {
436
440
  for (const line of acoustic.lines) this.emit(line);
437
441
  }
@@ -682,5 +686,5 @@ var init_GodotCompiler = __esm({
682
686
  });
683
687
 
684
688
  export { GodotCompiler, GodotCompiler_exports, init_GodotCompiler };
685
- //# sourceMappingURL=chunk-PY37LNDP.js.map
686
- //# sourceMappingURL=chunk-PY37LNDP.js.map
689
+ //# sourceMappingURL=chunk-LWUOUCYL.js.map
690
+ //# sourceMappingURL=chunk-LWUOUCYL.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkGTU2Z2WW_cjs = require('./chunk-GTU2Z2WW.cjs');
3
+ var chunkM7K4LE66_cjs = require('./chunk-M7K4LE66.cjs');
4
4
  var chunkHCCQLAA4_cjs = require('./chunk-HCCQLAA4.cjs');
5
5
 
6
6
  // src/hololand/index.ts
@@ -622,7 +622,9 @@ var _HololandClient = class _HololandClient {
622
622
  signal: controller.signal
623
623
  });
624
624
  if (!response.ok) {
625
- throw new Error(`Failed to fetch world "${worldId}": ${response.status} ${response.statusText}`);
625
+ throw new Error(
626
+ `Failed to fetch world "${worldId}": ${response.status} ${response.statusText}`
627
+ );
626
628
  }
627
629
  return await response.json();
628
630
  } finally {
@@ -650,7 +652,7 @@ function disconnectFromHololand() {
650
652
  }
651
653
 
652
654
  // src/hololand/PhysicsBoundsRegistry.ts
653
- chunkGTU2Z2WW_cjs.init_AgentRiskRegistry();
655
+ chunkM7K4LE66_cjs.init_AgentRiskRegistry();
654
656
  var DEFAULT_ENVELOPES = {
655
657
  ["low" /* LOW */]: {
656
658
  maxForceN: 1e3,
@@ -721,7 +723,7 @@ function resetPhysicsBoundsRegistry() {
721
723
  globalBoundsRegistry = null;
722
724
  }
723
725
  function wrapPhysicsService(service, agentId, options = {}) {
724
- const riskRegistry = options.riskRegistry ?? chunkGTU2Z2WW_cjs.getAgentRiskRegistry();
726
+ const riskRegistry = options.riskRegistry ?? chunkM7K4LE66_cjs.getAgentRiskRegistry();
725
727
  const boundsRegistry = options.boundsRegistry ?? getPhysicsBoundsRegistry();
726
728
  const onViolation = options.onViolation;
727
729
  function currentEnvelope() {
@@ -937,7 +939,7 @@ function clampVector(v, maxMagnitude) {
937
939
  }
938
940
 
939
941
  // src/hololand/CrossValidationRegistry.ts
940
- chunkGTU2Z2WW_cjs.init_AgentRiskRegistry();
942
+ chunkM7K4LE66_cjs.init_AgentRiskRegistry();
941
943
  var DEFAULT_MIN_OBSERVERS = 3;
942
944
  var DEFAULT_NUMERIC_TOLERANCE = 1;
943
945
  var DEFAULT_AGREEMENT_SEVERITY = 15;
@@ -957,7 +959,7 @@ var CrossValidationRegistry = class {
957
959
  perField: config.tolerance?.perField
958
960
  };
959
961
  this.agreementSeverityThreshold = config.agreementSeverityThreshold ?? DEFAULT_AGREEMENT_SEVERITY;
960
- this.riskRegistry = config.riskRegistry ?? chunkGTU2Z2WW_cjs.getAgentRiskRegistry();
962
+ this.riskRegistry = config.riskRegistry ?? chunkM7K4LE66_cjs.getAgentRiskRegistry();
961
963
  this.maxRounds = config.maxRounds ?? DEFAULT_MAX_ROUNDS;
962
964
  this.now = config.now ?? (() => Date.now());
963
965
  if (this.defaultMinObservers < 2) {
@@ -966,14 +968,10 @@ var CrossValidationRegistry = class {
966
968
  );
967
969
  }
968
970
  if (this.agreementSeverityThreshold < 0 || this.agreementSeverityThreshold > 100) {
969
- throw new Error(
970
- "CrossValidationRegistry: agreementSeverityThreshold must be in [0,100]"
971
- );
971
+ throw new Error("CrossValidationRegistry: agreementSeverityThreshold must be in [0,100]");
972
972
  }
973
973
  if (this.tolerance.defaultNumericTolerance <= 0) {
974
- throw new Error(
975
- "CrossValidationRegistry: defaultNumericTolerance must be > 0"
976
- );
974
+ throw new Error("CrossValidationRegistry: defaultNumericTolerance must be > 0");
977
975
  }
978
976
  if (this.maxRounds < 1) {
979
977
  throw new Error("CrossValidationRegistry: maxRounds must be >= 1");
@@ -1981,5 +1979,5 @@ exports.resetCrossValidationRegistry = resetCrossValidationRegistry;
1981
1979
  exports.resetPhysicsBoundsRegistry = resetPhysicsBoundsRegistry;
1982
1980
  exports.suggestedQuorum = suggestedQuorum;
1983
1981
  exports.wrapPhysicsService = wrapPhysicsService;
1984
- //# sourceMappingURL=chunk-6CTRH7HT.cjs.map
1985
- //# sourceMappingURL=chunk-6CTRH7HT.cjs.map
1982
+ //# sourceMappingURL=chunk-LYJJI7ZK.cjs.map
1983
+ //# sourceMappingURL=chunk-LYJJI7ZK.cjs.map
@@ -78,10 +78,7 @@ var init_AgentRiskRegistry = chunkHCCQLAA4_cjs.__esm({
78
78
  ring.shift();
79
79
  }
80
80
  this.events.set(event.agentId, ring);
81
- this.lifetimeEvents.set(
82
- event.agentId,
83
- (this.lifetimeEvents.get(event.agentId) ?? 0) + 1
84
- );
81
+ this.lifetimeEvents.set(event.agentId, (this.lifetimeEvents.get(event.agentId) ?? 0) + 1);
85
82
  }
86
83
  /**
87
84
  * Record a successful (clean) operation. Reduces the agent's accrued score
@@ -92,10 +89,7 @@ var init_AgentRiskRegistry = chunkHCCQLAA4_cjs.__esm({
92
89
  */
93
90
  recordSuccess(agentId) {
94
91
  if (this.successCreditPerOp <= 0) {
95
- this.lifetimeSuccesses.set(
96
- agentId,
97
- (this.lifetimeSuccesses.get(agentId) ?? 0) + 1
98
- );
92
+ this.lifetimeSuccesses.set(agentId, (this.lifetimeSuccesses.get(agentId) ?? 0) + 1);
99
93
  return;
100
94
  }
101
95
  const ring = this.events.get(agentId) ?? [];
@@ -109,10 +103,7 @@ var init_AgentRiskRegistry = chunkHCCQLAA4_cjs.__esm({
109
103
  ring.shift();
110
104
  }
111
105
  this.events.set(agentId, ring);
112
- this.lifetimeSuccesses.set(
113
- agentId,
114
- (this.lifetimeSuccesses.get(agentId) ?? 0) + 1
115
- );
106
+ this.lifetimeSuccesses.set(agentId, (this.lifetimeSuccesses.get(agentId) ?? 0) + 1);
116
107
  }
117
108
  /**
118
109
  * Compute the current decayed risk score for an agent (0-100).
@@ -258,5 +249,5 @@ var init_AgentRiskRegistry = chunkHCCQLAA4_cjs.__esm({
258
249
  exports.getAgentRiskRegistry = getAgentRiskRegistry;
259
250
  exports.init_AgentRiskRegistry = init_AgentRiskRegistry;
260
251
  exports.isDangerousOperation = isDangerousOperation;
261
- //# sourceMappingURL=chunk-GTU2Z2WW.cjs.map
262
- //# sourceMappingURL=chunk-GTU2Z2WW.cjs.map
252
+ //# sourceMappingURL=chunk-M7K4LE66.cjs.map
253
+ //# sourceMappingURL=chunk-M7K4LE66.cjs.map
@@ -2281,11 +2281,7 @@ var HoloScriptCodeParser = class {
2281
2281
  */
2282
2282
  parsePosition(value) {
2283
2283
  if (Array.isArray(value)) {
2284
- return [
2285
- Number(value[0]) || 0,
2286
- Number(value[1]) || 0,
2287
- Number(value[2]) || 0
2288
- ];
2284
+ return [Number(value[0]) || 0, Number(value[1]) || 0, Number(value[2]) || 0];
2289
2285
  }
2290
2286
  if (typeof value === "object" && value !== null) {
2291
2287
  const v = value;
@@ -2517,5 +2513,5 @@ var HoloScriptCodeParser = class {
2517
2513
  };
2518
2514
 
2519
2515
  export { ERROR_CODES, HoloScriptCodeParser, ParserPools };
2520
- //# sourceMappingURL=chunk-URG2SJLK.js.map
2521
- //# sourceMappingURL=chunk-URG2SJLK.js.map
2516
+ //# sourceMappingURL=chunk-MDR235RZ.js.map
2517
+ //# sourceMappingURL=chunk-MDR235RZ.js.map
@@ -1,10 +1,10 @@
1
1
  import { init_material_properties_visual, init_surface_texture_visual, init_lighting_visual, init_gems_minerals_visual, init_fabric_cloth_visual, init_visual_effects_visual, init_age_condition_visual, init_water_fluid_visual, init_weather_phenomena_visual, init_emotion_mood_visual, init_size_scale_visual, init_environmental_biome_visual, init_magic_fantasy_visual, init_scifi_technology_visual, init_creatures_mythical_visual, init_nature_life_visual, init_furniture_decor_visual, init_construction_building_visual, init_containers_storage_visual, init_shape_form_visual, init_animals_visual, init_maritime_naval_visual, init_time_period_visual, init_accessibility_visual, init_accessibility_extended_visual, init_architecture_realestate_visual, init_audio_visual, init_cooking_food_visual, init_core_vr_interaction_visual, init_data_visualization_visual, init_education_learning_visual, init_environment_input_visual, init_game_mechanics_visual, init_geospatial_web3_visual, init_healthcare_medical_visual, init_humanoid_avatar_visual, init_intelligence_behavior_visual, init_interop_copresence_visual, init_iot_autonomous_agents_visual, init_locomotion_movement_visual, init_measurement_sensing_visual, init_media_analytics_visual, init_multisensory_haptic_visual, init_musical_sound_visual, init_music_performance_visual, init_narrative_storytelling_visual, init_networking_ai_visual, init_npc_roles_visual, init_object_interaction_visual, init_parser_core_ui_visual, init_physical_affordances_visual, init_physics_expansion_visual, init_procedural_generation_visual, init_resource_gathering_visual, init_safety_boundaries_visual, init_signs_communication_visual, init_simple_modifiers_visual, init_social_commerce_visual, init_social_effects_visual, init_sports_fitness_visual, init_state_persistence_visual, init_transportation_vehicles_visual, init_volumetric_webgpu_visual, init_weather_particles_visual, init_xr_platform_visual, MATERIAL_PROPERTIES_VISUALS, SURFACE_TEXTURE_VISUALS, LIGHTING_VISUALS, GEMS_MINERALS_VISUALS, FABRIC_CLOTH_VISUALS, VISUAL_EFFECTS_VISUALS, AGE_CONDITION_VISUALS, WATER_FLUID_VISUALS, WEATHER_PHENOMENA_VISUALS, EMOTION_MOOD_VISUALS, SIZE_SCALE_VISUALS, ENVIRONMENTAL_BIOME_VISUALS, MAGIC_FANTASY_VISUALS, SCIFI_TECHNOLOGY_VISUALS, CREATURES_MYTHICAL_VISUALS, NATURE_LIFE_VISUALS, FURNITURE_DECOR_VISUALS, CONSTRUCTION_BUILDING_VISUALS, CONTAINERS_STORAGE_VISUALS, SHAPE_FORM_VISUALS, ANIMALS_VISUALS, MARITIME_NAVAL_VISUALS, TIME_PERIOD_VISUALS, ACCESSIBILITY_VISUALS, ACCESSIBILITY_EXTENDED_VISUALS, ARCHITECTURE_REALESTATE_VISUALS, AUDIO_VISUALS, COOKING_FOOD_VISUALS, CORE_VR_INTERACTION_VISUALS, DATA_VISUALIZATION_VISUALS, EDUCATION_LEARNING_VISUALS, ENVIRONMENT_INPUT_VISUALS, GAME_MECHANICS_VISUALS, GEOSPATIAL_WEB3_VISUALS, HEALTHCARE_MEDICAL_VISUALS, HUMANOID_AVATAR_VISUALS, INTELLIGENCE_BEHAVIOR_VISUALS, INTEROP_COPRESENCE_VISUALS, IOT_AUTONOMOUS_AGENTS_VISUALS, LOCOMOTION_MOVEMENT_VISUALS, MEASUREMENT_SENSING_VISUALS, MEDIA_ANALYTICS_VISUALS, MULTISENSORY_HAPTIC_VISUALS, MUSICAL_SOUND_VISUALS, MUSIC_PERFORMANCE_VISUALS, NARRATIVE_STORYTELLING_VISUALS, NETWORKING_AI_VISUALS, NPC_ROLES_VISUALS, OBJECT_INTERACTION_VISUALS, PARSER_CORE_UI_VISUALS, PHYSICAL_AFFORDANCES_VISUALS, PHYSICS_EXPANSION_VISUALS, PROCEDURAL_GENERATION_VISUALS, RESOURCE_GATHERING_VISUALS, SAFETY_BOUNDARIES_VISUALS, SIGNS_COMMUNICATION_VISUALS, SIMPLE_MODIFIERS_VISUALS, SOCIAL_COMMERCE_VISUALS, SOCIAL_EFFECTS_VISUALS, SPORTS_FITNESS_VISUALS, STATE_PERSISTENCE_VISUALS, TRANSPORTATION_VEHICLES_VISUALS, VOLUMETRIC_WEBGPU_VISUALS, WEATHER_PARTICLES_VISUALS, XR_PLATFORM_VISUALS } from './chunk-XT6JY5W5.js';
2
- import { init_BotanicalLotusTrait, createBotanicalLotusRenderProfile, buildLotusPetalMaterialSpec, LOTUS_PETAL_UNIFORM_BINDINGS, buildLotusPetalGeometryData, lotusPetalGeometryParamsFromProfile, buildLotusFlowerPlacements } from './chunk-UO4WPSGQ.js';
3
- import { init_ProvenanceSemiring, ProvenanceSemiring } from './chunk-TJHVSBP2.js';
2
+ import { init_BotanicalLotusTrait, createBotanicalLotusRenderProfile, buildLotusPetalMaterialSpec, LOTUS_PETAL_UNIFORM_BINDINGS, buildLotusPetalGeometryData, lotusPetalGeometryParamsFromProfile, buildLotusFlowerPlacements, buildLotusSceneScaffold } from './chunk-B4EKV6HQ.js';
3
+ import { init_ProvenanceSemiring, ProvenanceSemiring } from './chunk-SLHLXUMO.js';
4
4
  import { init_TraitVisualRegistry, init_types, init_TraitCompositor, TraitCompositor, TraitVisualRegistry } from './chunk-4C57PR42.js';
5
- import { init_PlatformConditionalCompilerMixin, createPlatformTarget, PlatformConditionalCompilerMixin } from './chunk-GZG4KA4E.js';
6
- import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileSimulationBlock, simulationToR3F, compileWeatherBlock, weatherToR3F, compileAudioSourceBlock, audioSourceToR3F, compilePostProcessingBlock, postProcessingToR3F, compileParticleBlock, particlesToR3F, compilePhysicsBlock, physicsToR3F, compileMaterialBlock, materialToR3F } from './chunk-BOVPWH4H.js';
7
- import { init_AgentRBAC, init_CompilerBase, getRBAC, UnauthorizedCompilerAccessError, escapeStringValue } from './chunk-QPSKHBJP.js';
5
+ import { init_PlatformConditionalCompilerMixin, createPlatformTarget, PlatformConditionalCompilerMixin } from './chunk-GW3LKD5C.js';
6
+ import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileSimulationBlock, simulationToR3F, compileWeatherBlock, weatherToR3F, compileAudioSourceBlock, audioSourceToR3F, compilePostProcessingBlock, postProcessingToR3F, compileParticleBlock, particlesToR3F, compilePhysicsBlock, physicsToR3F, compileMaterialBlock, materialToR3F } from './chunk-ZA34AN3R.js';
7
+ import { init_AgentRBAC, init_CompilerBase, getRBAC, UnauthorizedCompilerAccessError, escapeStringValue } from './chunk-C7ZBSV2Q.js';
8
8
  import { __esm, __export } from './chunk-OL46QLBJ.js';
9
9
 
10
10
  // src/traits/visual/presets/hologram-media.visual.ts
@@ -2898,7 +2898,9 @@ var init_R3FCompiler = __esm({
2898
2898
  const childNodes = [];
2899
2899
  if (world.children && world.children.length > 0) {
2900
2900
  for (const child of world.children) {
2901
- childNodes.push(this.compileObjectDecl(child, templateMap));
2901
+ childNodes.push(
2902
+ this.compileObjectDecl(child, templateMap)
2903
+ );
2902
2904
  }
2903
2905
  }
2904
2906
  if (childNodes.length === 0) {
@@ -2938,8 +2940,10 @@ var init_R3FCompiler = __esm({
2938
2940
  lotusPetalGeometryParamsFromProfile(profile)
2939
2941
  );
2940
2942
  props.__petalPlacements = buildLotusFlowerPlacements(profile);
2943
+ const scaffold = buildLotusSceneScaffold();
2941
2944
  props.__lotusScene = {
2942
- stemHeight: 2.4,
2945
+ stemHeight: scaffold.stem.height,
2946
+ scaffold,
2943
2947
  colors: {
2944
2948
  water: profile.colors.water,
2945
2949
  leaf: profile.colors.leaf,
@@ -2952,9 +2956,109 @@ var init_R3FCompiler = __esm({
2952
2956
  seedPodRim: profile.colors.seed_pod_rim,
2953
2957
  stamen: profile.colors.stamen,
2954
2958
  stamenTip: profile.colors.stamen_tip,
2955
- stamenCount: profile.stamen_filament_count
2959
+ stamenCount: profile.stamen_filament_count,
2960
+ // Carpel layout for the flat-topped "shower-head" seed pod, parsed from the
2961
+ // profile's declared dot pattern (e.g. '1_center_7_12_18_radial' → [1,7,12,18]
2962
+ // = 1 central carpel + radial rings of 7, 12, 18). The renderer recesses a
2963
+ // carpel well per entry — the iconic lotus receptacle, compiled from `.holo`.
2964
+ carpelRings: (profile.seed_pod_dot_pattern?.match(/\d+/g) ?? [
2965
+ "1",
2966
+ "7",
2967
+ "12",
2968
+ "18"
2969
+ ]).map(Number)
2956
2970
  }
2957
2971
  };
2972
+ const waterColor = profile.colors.water;
2973
+ const leafColor = profile.colors.leaf;
2974
+ const leafDarkColor = profile.colors.leaf_dark;
2975
+ const stemHeight = scaffold.stem.height;
2976
+ const scaffoldNodes = [
2977
+ this.createNode("mesh", {
2978
+ hsType: "plane",
2979
+ width: scaffold.waterSize,
2980
+ height: scaffold.waterSize,
2981
+ rotation: [-Math.PI / 2, 0, 0],
2982
+ color: waterColor,
2983
+ roughness: 0.22,
2984
+ metalness: 0.5,
2985
+ // Mark the pond as a REFLECTIVE surface — the renderer's generic MeshNode draws
2986
+ // it with a mirror material so the flower + pads reflect (a real water read).
2987
+ reflective: true
2988
+ }),
2989
+ ...scaffold.pads.map(
2990
+ (pad, padIdx) => this.createNode("mesh", {
2991
+ hsType: "lilypad",
2992
+ radius: pad.radius,
2993
+ // Per-pad notch width variation so the pads don't look stamped.
2994
+ notchAngle: 0.48 + padIdx % 3 * 0.07,
2995
+ position: pad.pos,
2996
+ rotation: [-Math.PI / 2, 0, pad.rotation],
2997
+ color: pad.dark ? leafDarkColor : leafColor,
2998
+ roughness: 0.85
2999
+ })
3000
+ )
3001
+ ];
3002
+ const stemNode = this.createNode("group", {
3003
+ __animatedTransform: [
3004
+ { prop: "scaleY", target: "developmentalTime", edge0: 0, edge1: 0.42, from: 1e-3, to: 1 },
3005
+ {
3006
+ prop: "posY",
3007
+ target: "developmentalTime",
3008
+ edge0: 0,
3009
+ edge1: 0.42,
3010
+ from: 0,
3011
+ to: stemHeight / 2
3012
+ }
3013
+ ]
3014
+ });
3015
+ stemNode.children = [
3016
+ this.createNode("mesh", {
3017
+ hsType: "cylinder",
3018
+ radiusTop: scaffold.stem.topRadius,
3019
+ radiusBottom: scaffold.stem.bottomRadius,
3020
+ height: stemHeight,
3021
+ color: leafDarkColor,
3022
+ roughness: 0.7
3023
+ })
3024
+ ];
3025
+ scaffoldNodes.push(stemNode);
3026
+ scaffold.leaves.forEach((lf, i) => {
3027
+ const leafNode = this.createNode("group", {
3028
+ position: lf.pos,
3029
+ __animatedTransform: [
3030
+ {
3031
+ prop: "scaleUniform",
3032
+ target: "developmentalTime",
3033
+ edge0: 0.15 + i * 0.08,
3034
+ edge1: 0.55 + i * 0.08,
3035
+ from: 0,
3036
+ to: 1
3037
+ }
3038
+ ]
3039
+ });
3040
+ leafNode.children = [
3041
+ this.createNode("mesh", {
3042
+ hsType: "cylinder",
3043
+ radiusTop: 0.03,
3044
+ radiusBottom: 0.045,
3045
+ height: lf.height,
3046
+ position: [0, lf.height / 2, 0],
3047
+ color: leafDarkColor,
3048
+ roughness: 0.7
3049
+ }),
3050
+ this.createNode("mesh", {
3051
+ hsType: "circle",
3052
+ radius: lf.radius,
3053
+ position: [0, lf.height, 0],
3054
+ rotation: [-Math.PI / 2 + lf.tilt, 0, lf.rotation],
3055
+ color: lf.dark ? leafDarkColor : leafColor,
3056
+ roughness: 0.8
3057
+ })
3058
+ ];
3059
+ scaffoldNodes.push(leafNode);
3060
+ });
3061
+ props.__scaffoldNodes = scaffoldNodes;
2958
3062
  }
2959
3063
  compileNode(node) {
2960
3064
  if (node.type === "system") {
@@ -3030,7 +3134,9 @@ var init_R3FCompiler = __esm({
3030
3134
  }
3031
3135
  if (composition.environment) {
3032
3136
  root.children.push(
3033
- ...this.compileEnvironmentBlock(composition.environment)
3137
+ ...this.compileEnvironmentBlock(
3138
+ composition.environment
3139
+ )
3034
3140
  );
3035
3141
  }
3036
3142
  if (Array.isArray(composition.lights)) {
@@ -3050,7 +3156,9 @@ var init_R3FCompiler = __esm({
3050
3156
  }
3051
3157
  if (Array.isArray(composition.timelines)) {
3052
3158
  for (const timeline of composition.timelines) {
3053
- root.children.push(this.compileTimelineBlock(timeline));
3159
+ root.children.push(
3160
+ this.compileTimelineBlock(timeline)
3161
+ );
3054
3162
  }
3055
3163
  }
3056
3164
  if (Array.isArray(composition.audio)) {
@@ -3074,11 +3182,15 @@ var init_R3FCompiler = __esm({
3074
3182
  }
3075
3183
  }
3076
3184
  if (composition.ui) {
3077
- root.children.push(this.compileUIBlock(composition.ui));
3185
+ root.children.push(
3186
+ this.compileUIBlock(composition.ui)
3187
+ );
3078
3188
  }
3079
3189
  if (Array.isArray(composition.transitions)) {
3080
3190
  for (const transition of composition.transitions) {
3081
- root.children.push(this.compileTransitionBlock(transition));
3191
+ root.children.push(
3192
+ this.compileTransitionBlock(transition)
3193
+ );
3082
3194
  }
3083
3195
  }
3084
3196
  if (Array.isArray(composition.conditionals)) {
@@ -3092,7 +3204,9 @@ var init_R3FCompiler = __esm({
3092
3204
  }
3093
3205
  }
3094
3206
  if (composition.camera) {
3095
- root.children.push(this.compileCameraBlock(composition.camera));
3207
+ root.children.push(
3208
+ this.compileCameraBlock(composition.camera)
3209
+ );
3096
3210
  }
3097
3211
  if (composition.effects) {
3098
3212
  root.children.unshift(
@@ -4287,7 +4401,9 @@ var init_R3FCompiler = __esm({
4287
4401
  } else if (d.name === "spatial_audio" || d.name === "voice") {
4288
4402
  props.spatial = true;
4289
4403
  } else if (d.name === "gem_resonance") {
4290
- props.gemResonance = gemResonanceConfig(d.config);
4404
+ props.gemResonance = gemResonanceConfig(
4405
+ d.config
4406
+ );
4291
4407
  props.spatial = true;
4292
4408
  } else if (d.name === "networked") {
4293
4409
  props.networked = d.config || true;
@@ -4413,5 +4529,5 @@ var init_R3FCompiler = __esm({
4413
4529
  });
4414
4530
 
4415
4531
  export { ASTNodePool, ENVIRONMENT_PRESETS, MATERIAL_PRESETS, QUALITY_TIER_SCALES, R3FCompiler, R3FCompiler_exports, UI_COMPONENT_PRESETS, init_ObjectPool, init_R3FCompiler, init_visual, registerAllPresets };
4416
- //# sourceMappingURL=chunk-E4M5OAYO.js.map
4417
- //# sourceMappingURL=chunk-E4M5OAYO.js.map
4532
+ //# sourceMappingURL=chunk-MSYSQ2AJ.js.map
4533
+ //# sourceMappingURL=chunk-MSYSQ2AJ.js.map