@holoscript/core 7.0.0 → 8.0.0

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 (345) hide show
  1. package/README.md +2 -2
  2. package/bin/holoscript.cjs +3 -0
  3. package/dist/GLTFPipeline-276GE64O.js +16 -0
  4. package/dist/GLTFPipeline-M7WSSJED.cjs +37 -0
  5. package/dist/HoloScriptPlusParser-7FBIFUFC.js +693 -0
  6. package/dist/HoloScriptPlusParser-A2W7OCN2.cjs +698 -0
  7. package/dist/HoloScriptPlusParser-F2Z56FJR.js +10 -0
  8. package/dist/HoloScriptPlusParser-WKHRIH6T.cjs +27 -0
  9. package/dist/HoloScriptRuntime-3URVTKPJ.js +10 -0
  10. package/dist/HoloScriptRuntime-SXEAEU2N.cjs +19 -0
  11. package/dist/USDZExporter-3FWJ25JI.cjs +1037 -0
  12. package/dist/USDZExporter-D2HQLQYK.js +1035 -0
  13. package/dist/agents/index.cjs +19 -0
  14. package/dist/agents/index.d.ts +100 -0
  15. package/dist/agents/index.js +17 -0
  16. package/dist/chunk-23J755AR.js +1046 -0
  17. package/dist/chunk-253GBQZY.cjs +627 -0
  18. package/dist/chunk-25IQCHTO.cjs +781 -0
  19. package/dist/chunk-2BSMSUCE.js +1941 -0
  20. package/dist/chunk-2M2DPHKB.js +762 -0
  21. package/dist/chunk-2YSNA2F2.cjs +1274 -0
  22. package/dist/chunk-3AO425MZ.cjs +886 -0
  23. package/dist/chunk-3FOKASKO.cjs +348 -0
  24. package/dist/chunk-3HYYMEXI.cjs +56578 -0
  25. package/dist/chunk-3NFFOWGG.js +4287 -0
  26. package/dist/chunk-3WZEJHUQ.cjs +116 -0
  27. package/dist/chunk-4C57PR42.js +468 -0
  28. package/dist/chunk-4N4SXXWF.js +769 -0
  29. package/dist/chunk-4PDEPEQW.cjs +41 -0
  30. package/dist/chunk-4R6SBXDB.js +45 -0
  31. package/dist/chunk-4V2E7U7Q.cjs +2015 -0
  32. package/dist/chunk-5FSKKMR7.cjs +2092 -0
  33. package/dist/chunk-5GLCTO44.js +161 -0
  34. package/dist/chunk-5JEU52DW.js +382 -0
  35. package/dist/chunk-5S7RKFGR.cjs +446 -0
  36. package/dist/chunk-5WUNN6ZN.cjs +428 -0
  37. package/dist/chunk-62FBK3B7.js +70 -0
  38. package/dist/chunk-6CTRH7HT.cjs +1985 -0
  39. package/dist/chunk-6DPSFNJB.cjs +847 -0
  40. package/dist/chunk-6EX3I5P4.cjs +130 -0
  41. package/dist/chunk-73FELZVJ.cjs +611 -0
  42. package/dist/chunk-7CUEMLDZ.cjs +6445 -0
  43. package/dist/chunk-7HIASF7S.cjs +814 -0
  44. package/dist/chunk-A6KINLZJ.js +236 -0
  45. package/dist/chunk-AIA52I7T.cjs +543 -0
  46. package/dist/chunk-ANXZFVY2.js +113 -0
  47. package/dist/chunk-AYBXB26F.js +2176 -0
  48. package/dist/chunk-B4TFTDG4.js +449 -0
  49. package/dist/chunk-BE4UJCQT.js +623 -0
  50. package/dist/chunk-BRQJKJGT.cjs +20 -0
  51. package/dist/chunk-C2A5DUMF.cjs +689 -0
  52. package/dist/chunk-C37BHB7N.cjs +636 -0
  53. package/dist/chunk-CBJY23VL.js +126 -0
  54. package/dist/chunk-CIWWXYHZ.cjs +50 -0
  55. package/dist/chunk-CXFDRBQU.cjs +672 -0
  56. package/dist/chunk-D54CNIAJ.cjs +413 -0
  57. package/dist/chunk-DAJXW4KX.js +725 -0
  58. package/dist/chunk-DTGBOSEM.cjs +319 -0
  59. package/dist/chunk-E7JP3BS3.cjs +61 -0
  60. package/dist/chunk-EKBKLK7P.js +1169 -0
  61. package/dist/chunk-EKYL4PE3.cjs +404 -0
  62. package/dist/chunk-EUDQTK7N.cjs +4310 -0
  63. package/dist/chunk-EXKSFGSX.cjs +274 -0
  64. package/dist/chunk-EXUP2BUM.cjs +1173 -0
  65. package/dist/chunk-F43YAA34.js +623 -0
  66. package/dist/chunk-FDSGHPAK.js +130 -0
  67. package/dist/chunk-FEWUHQNM.cjs +144 -0
  68. package/dist/chunk-FGGJQRLZ.js +270 -0
  69. package/dist/chunk-FHP6LXJS.js +415 -0
  70. package/dist/chunk-FJPADH77.cjs +666 -0
  71. package/dist/chunk-FYSPZT4V.cjs +169 -0
  72. package/dist/chunk-GIOYPNTH.js +5575 -0
  73. package/dist/chunk-GJNCFRJU.cjs +125 -0
  74. package/dist/chunk-GMP623FG.cjs +1508 -0
  75. package/dist/chunk-GQHQOPXZ.cjs +5580 -0
  76. package/dist/chunk-GQT4TYKY.cjs +4381 -0
  77. package/dist/chunk-GTU2Z2WW.cjs +262 -0
  78. package/dist/chunk-GYZE55MO.js +2007 -0
  79. package/dist/chunk-GZG4KA4E.js +529 -0
  80. package/dist/chunk-H652NHX5.js +600 -0
  81. package/dist/chunk-HCCQLAA4.cjs +74 -0
  82. package/dist/chunk-HINXWAOD.cjs +1049 -0
  83. package/dist/chunk-HYNTS5CP.js +422 -0
  84. package/dist/chunk-HZSPDCXV.cjs +457 -0
  85. package/dist/chunk-HZTDET3N.js +1399 -0
  86. package/dist/chunk-I6XZ5DZF.cjs +488 -0
  87. package/dist/chunk-ILRBGFVD.cjs +72 -0
  88. package/dist/chunk-IPWSXCCN.js +1183 -0
  89. package/dist/chunk-IUTY5WQ2.cjs +424 -0
  90. package/dist/chunk-IVSZDECV.js +882 -0
  91. package/dist/chunk-IVY74O6C.js +247 -0
  92. package/dist/chunk-IZM5VQZD.js +714 -0
  93. package/dist/chunk-J32ZJZJH.js +554 -0
  94. package/dist/chunk-J6M4FPK5.js +421 -0
  95. package/dist/chunk-JC5YBPSF.cjs +984 -0
  96. package/dist/chunk-JCLBKPMX.js +3813 -0
  97. package/dist/chunk-JD7CIZ33.js +1949 -0
  98. package/dist/chunk-JIYN45TV.cjs +2525 -0
  99. package/dist/chunk-JJBE3TIH.cjs +1189 -0
  100. package/dist/chunk-JX7YL6ZE.js +2252 -0
  101. package/dist/chunk-K4VVR7CN.cjs +2433 -0
  102. package/dist/chunk-KEFNV2WM.cjs +2257 -0
  103. package/dist/chunk-KH4CNH66.cjs +424 -0
  104. package/dist/chunk-KJLB4OPV.js +5731 -0
  105. package/dist/chunk-KKFZ3B6J.cjs +557 -0
  106. package/dist/chunk-KKP7JKN4.cjs +6002 -0
  107. package/dist/chunk-KPJL34Y7.cjs +186 -0
  108. package/dist/chunk-KQCN6AKJ.cjs +3042 -0
  109. package/dist/chunk-KVRSTFNH.cjs +72 -0
  110. package/dist/chunk-LICPB5HZ.cjs +1409 -0
  111. package/dist/chunk-LM2VU56C.cjs +37 -0
  112. package/dist/chunk-M56JSP4A.js +400 -0
  113. package/dist/chunk-MBOOR7X4.js +18 -0
  114. package/dist/chunk-MGE5Z4GS.js +608 -0
  115. package/dist/chunk-MXFUTKCO.js +56 -0
  116. package/dist/chunk-MYY4PMWX.cjs +264 -0
  117. package/dist/chunk-N75IH2HY.js +258 -0
  118. package/dist/chunk-NBMHU6SW.js +669 -0
  119. package/dist/chunk-NG77ATEW.cjs +778 -0
  120. package/dist/chunk-NGKREZ36.js +6384 -0
  121. package/dist/chunk-NHWSN2SD.cjs +718 -0
  122. package/dist/chunk-NV4VMVXU.js +421 -0
  123. package/dist/chunk-NW5G5FBQ.js +215 -0
  124. package/dist/chunk-NXZFOPVD.cjs +5737 -0
  125. package/dist/chunk-OBIYPYYS.cjs +1993 -0
  126. package/dist/chunk-OIQYIIO3.cjs +473 -0
  127. package/dist/chunk-OL46QLBJ.js +61 -0
  128. package/dist/chunk-OMXII44L.js +5386 -0
  129. package/dist/chunk-OR4Q2BGL.cjs +759 -0
  130. package/dist/chunk-OSYNRVOV.cjs +243 -0
  131. package/dist/chunk-PGANYCAG.cjs +220 -0
  132. package/dist/chunk-PHENW4MQ.js +65 -0
  133. package/dist/chunk-PHVRG4I2.js +844 -0
  134. package/dist/chunk-Q56TT7IL.js +483 -0
  135. package/dist/chunk-QPOQ7VPI.js +1491 -0
  136. package/dist/chunk-QPSKHBJP.js +5963 -0
  137. package/dist/chunk-QXH7QDSZ.js +1989 -0
  138. package/dist/chunk-R75BSDH7.cjs +50 -0
  139. package/dist/chunk-RARB3MBR.js +207 -0
  140. package/dist/chunk-RVBHAXFG.js +56160 -0
  141. package/dist/chunk-S3MDHNKB.cjs +490 -0
  142. package/dist/chunk-S4W6Z2MN.js +2426 -0
  143. package/dist/chunk-S6YWHCKV.cjs +410 -0
  144. package/dist/chunk-SIEXCILW.js +229 -0
  145. package/dist/chunk-SJBGLS25.cjs +2196 -0
  146. package/dist/chunk-SLU6UPJI.cjs +410 -0
  147. package/dist/chunk-SMIWS6DE.cjs +212 -0
  148. package/dist/chunk-T2QCTZMO.js +811 -0
  149. package/dist/chunk-T5J7ZKP3.cjs +4885 -0
  150. package/dist/chunk-TDCNJHWO.js +341 -0
  151. package/dist/chunk-TG7O4WBC.js +406 -0
  152. package/dist/chunk-THCK6ECW.js +2085 -0
  153. package/dist/chunk-TJHVSBP2.js +439 -0
  154. package/dist/chunk-TVHSPJ4N.cjs +606 -0
  155. package/dist/chunk-U44IKGG7.cjs +5390 -0
  156. package/dist/chunk-UJXISJBN.js +487 -0
  157. package/dist/chunk-UM6C3CGK.js +4375 -0
  158. package/dist/chunk-UMABK6SI.js +686 -0
  159. package/dist/chunk-UOIGFQXC.cjs +9750 -0
  160. package/dist/chunk-URG2SJLK.js +2521 -0
  161. package/dist/chunk-V6MKC2FZ.js +979 -0
  162. package/dist/chunk-VECQYRXL.js +474 -0
  163. package/dist/chunk-VJ3L7CHT.cjs +169 -0
  164. package/dist/chunk-VMLKSV26.js +1216 -0
  165. package/dist/chunk-VVKVQZI6.js +55 -0
  166. package/dist/chunk-W6RW64BB.cjs +1219 -0
  167. package/dist/chunk-W7VDOASB.cjs +639 -0
  168. package/dist/chunk-WDT3JTGM.cjs +483 -0
  169. package/dist/chunk-WJIHFLMJ.js +404 -0
  170. package/dist/chunk-WKX5AMOY.js +309 -0
  171. package/dist/chunk-WNNE3PO3.js +34 -0
  172. package/dist/chunk-WRKUDAZJ.js +3038 -0
  173. package/dist/chunk-WRLUBRKS.cjs +1943 -0
  174. package/dist/chunk-WRNEH5MO.js +3169 -0
  175. package/dist/chunk-WRWEX5ZF.js +658 -0
  176. package/dist/chunk-X3GJPRVK.cjs +3246 -0
  177. package/dist/chunk-XHIV6326.cjs +793 -0
  178. package/dist/chunk-XIVIE43A.cjs +729 -0
  179. package/dist/chunk-XJAN7CZG.cjs +432 -0
  180. package/dist/chunk-XKTPFXGA.js +164 -0
  181. package/dist/chunk-XL6INWKT.js +121 -0
  182. package/dist/chunk-XSFNHP2E.js +632 -0
  183. package/dist/chunk-XT6JY5W5.js +9684 -0
  184. package/dist/chunk-XUILI4KB.cjs +430 -0
  185. package/dist/chunk-XUUVDHIF.cjs +3962 -0
  186. package/dist/chunk-YF2I3MV3.js +46 -0
  187. package/dist/chunk-YIMN575O.js +4847 -0
  188. package/dist/chunk-YIVFJNYV.js +176 -0
  189. package/dist/chunk-YKGPCZEE.cjs +237 -0
  190. package/dist/chunk-YN6V7R3L.cjs +327 -0
  191. package/dist/chunk-YQELFNJV.js +39 -0
  192. package/dist/chunk-YYXH45E2.js +426 -0
  193. package/dist/chunk-ZBQXLH2L.js +756 -0
  194. package/dist/chunk-ZDSYWBIE.cjs +69 -0
  195. package/dist/chunk-ZU7NIRT6.js +325 -0
  196. package/dist/chunk-ZZ7RO2UQ.js +1243 -0
  197. package/dist/chunk-ZZEI7MV4.js +778 -0
  198. package/dist/cli/holoscript-runner.cjs +2255 -0
  199. package/dist/cli/holoscript-runner.js +2230 -0
  200. package/dist/codebase/index.cjs +336 -0
  201. package/dist/codebase/index.js +331 -0
  202. package/dist/compiler/agent-inference.cjs +31 -0
  203. package/dist/compiler/agent-inference.js +8 -0
  204. package/dist/compiler/android-xr.cjs +24 -0
  205. package/dist/compiler/android-xr.js +14 -0
  206. package/dist/compiler/android.cjs +24 -0
  207. package/dist/compiler/android.js +14 -0
  208. package/dist/compiler/ar.cjs +23 -0
  209. package/dist/compiler/ar.js +11 -0
  210. package/dist/compiler/babylon.cjs +21 -0
  211. package/dist/compiler/babylon.js +15 -0
  212. package/dist/compiler/business-quest.cjs +43 -0
  213. package/dist/compiler/business-quest.js +4 -0
  214. package/dist/compiler/coco.cjs +27 -0
  215. package/dist/compiler/coco.js +4 -0
  216. package/dist/compiler/context.cjs +25 -0
  217. package/dist/compiler/context.d.ts +28 -0
  218. package/dist/compiler/context.js +8 -0
  219. package/dist/compiler/domain-block-utils.cjs +605 -0
  220. package/dist/compiler/domain-block-utils.js +11 -0
  221. package/dist/compiler/dtdl.cjs +27 -0
  222. package/dist/compiler/dtdl.js +11 -0
  223. package/dist/compiler/gltf-pipeline.cjs +39 -0
  224. package/dist/compiler/gltf-pipeline.js +4 -0
  225. package/dist/compiler/godot.cjs +18 -0
  226. package/dist/compiler/godot.js +12 -0
  227. package/dist/compiler/incremental.cjs +34 -0
  228. package/dist/compiler/incremental.js +9 -0
  229. package/dist/compiler/index.cjs +5860 -0
  230. package/dist/compiler/index.d.ts +322 -21
  231. package/dist/compiler/index.js +5525 -0
  232. package/dist/compiler/ios.cjs +23 -0
  233. package/dist/compiler/ios.js +13 -0
  234. package/dist/compiler/llm-provider-capabilities.cjs +25 -0
  235. package/dist/compiler/llm-provider-capabilities.d.ts +43 -0
  236. package/dist/compiler/llm-provider-capabilities.js +8 -0
  237. package/dist/compiler/multi-layer.cjs +24 -0
  238. package/dist/compiler/multi-layer.js +15 -0
  239. package/dist/compiler/nodetoy.cjs +23 -0
  240. package/dist/compiler/nodetoy.js +4 -0
  241. package/dist/compiler/openxr.cjs +19 -0
  242. package/dist/compiler/openxr.js +13 -0
  243. package/dist/compiler/playcanvas.cjs +19 -0
  244. package/dist/compiler/playcanvas.js +13 -0
  245. package/dist/compiler/r3f.cjs +38 -0
  246. package/dist/compiler/r3f.d.ts +22 -0
  247. package/dist/compiler/r3f.js +16 -0
  248. package/dist/compiler/remotion.cjs +23 -0
  249. package/dist/compiler/remotion.js +4 -0
  250. package/dist/compiler/reproducibility.cjs +39 -0
  251. package/dist/compiler/reproducibility.js +4 -0
  252. package/dist/compiler/sdf.cjs +24 -0
  253. package/dist/compiler/sdf.js +12 -0
  254. package/dist/compiler/semantic-scene.cjs +31 -0
  255. package/dist/compiler/semantic-scene.js +4 -0
  256. package/dist/compiler/state.cjs +21 -0
  257. package/dist/compiler/state.js +11 -0
  258. package/dist/compiler/trait-composition.cjs +30 -0
  259. package/dist/compiler/trait-composition.js +9 -0
  260. package/dist/compiler/unity.cjs +19 -0
  261. package/dist/compiler/unity.js +13 -0
  262. package/dist/compiler/unreal.cjs +23 -0
  263. package/dist/compiler/unreal.js +13 -0
  264. package/dist/compiler/urdf.cjs +52 -0
  265. package/dist/compiler/urdf.js +12 -0
  266. package/dist/compiler/usd-physics.cjs +26 -0
  267. package/dist/compiler/usd-physics.js +9 -0
  268. package/dist/compiler/visionos.cjs +19 -0
  269. package/dist/compiler/visionos.js +13 -0
  270. package/dist/compiler/vrchat.cjs +22 -0
  271. package/dist/compiler/vrchat.js +12 -0
  272. package/dist/compiler/vrr.cjs +24 -0
  273. package/dist/compiler/vrr.js +12 -0
  274. package/dist/compiler/wasm.cjs +36 -0
  275. package/dist/compiler/wasm.js +12 -0
  276. package/dist/compiler/webgpu.cjs +18 -0
  277. package/dist/compiler/webgpu.js +12 -0
  278. package/dist/coordinators/index.cjs +1266 -0
  279. package/dist/coordinators/index.d.ts +72 -1
  280. package/dist/coordinators/index.js +1259 -0
  281. package/dist/debugger.cjs +24 -0
  282. package/dist/debugger.js +11 -0
  283. package/dist/entries/interop.cjs +64 -0
  284. package/dist/entries/interop.js +7 -0
  285. package/dist/entries/scripting.cjs +55 -0
  286. package/dist/entries/scripting.js +10 -0
  287. package/dist/hololand/index.cjs +146 -0
  288. package/dist/hololand/index.d.ts +70 -0
  289. package/dist/hololand/index.js +5 -0
  290. package/dist/index.cjs +43233 -0
  291. package/dist/index.d.ts +976 -21
  292. package/dist/index.js +39995 -0
  293. package/dist/math/tropical-spmv.cjs +45 -0
  294. package/dist/math/tropical-spmv.js +4 -0
  295. package/dist/math/vec3.cjs +57 -0
  296. package/dist/math/vec3.js +4 -0
  297. package/dist/ml-dsa-FSKBTE3W.cjs +1265 -0
  298. package/dist/ml-dsa-Z7JDKW4L.js +1265 -0
  299. package/dist/paper-0c-spike/index.cjs +150 -0
  300. package/dist/paper-0c-spike/index.js +141 -0
  301. package/dist/parser.cjs +61 -0
  302. package/dist/parser.d.ts +11 -0
  303. package/dist/parser.js +12 -0
  304. package/dist/playwright-3AT3AKTV.cjs +98673 -0
  305. package/dist/playwright-VZPDVUEQ.js +98660 -0
  306. package/dist/reconstruction/index.cjs +153 -0
  307. package/dist/reconstruction/index.d.ts +29 -2
  308. package/dist/reconstruction/index.js +8 -0
  309. package/dist/runtime.cjs +316 -0
  310. package/dist/runtime.d.ts +61 -0
  311. package/dist/runtime.js +31 -0
  312. package/dist/self-improvement/index.cjs +563 -0
  313. package/dist/self-improvement/index.js +545 -0
  314. package/dist/storage/index.cjs +38 -0
  315. package/dist/storage/index.js +5 -0
  316. package/dist/testing.cjs +25 -0
  317. package/dist/testing.d.ts +70 -0
  318. package/dist/testing.js +4 -0
  319. package/dist/traitDocs/traitDocs.cjs +33 -0
  320. package/dist/traitDocs/traitDocs.js +7 -0
  321. package/dist/traits/botanical-lotus.cjs +41 -0
  322. package/dist/traits/botanical-lotus.d.ts +172 -0
  323. package/dist/traits/botanical-lotus.js +4 -0
  324. package/dist/traits/engines/index.cjs +520 -0
  325. package/dist/traits/engines/index.js +380 -0
  326. package/dist/traits/index.cjs +24409 -0
  327. package/dist/traits/index.d.ts +171 -35
  328. package/dist/traits/index.js +21634 -0
  329. package/dist/traits/simulation-solver-factory.cjs +13 -0
  330. package/dist/traits/simulation-solver-factory.d.ts +23 -0
  331. package/dist/traits/simulation-solver-factory.js +4 -0
  332. package/dist/traits/webcam-gaze.cjs +35 -0
  333. package/dist/traits/webcam-gaze.d.ts +17 -0
  334. package/dist/traits/webcam-gaze.js +4 -0
  335. package/dist/type-checker.cjs +19 -0
  336. package/dist/type-checker.js +6 -0
  337. package/dist/world/index.cjs +947 -0
  338. package/dist/world/index.d.ts +147 -0
  339. package/dist/world/index.js +939 -0
  340. package/dist/world-model/index.cjs +1446 -0
  341. package/dist/world-model/index.d.ts +119 -0
  342. package/dist/world-model/index.js +1414 -0
  343. package/dist/wot/index.cjs +29 -0
  344. package/dist/wot/index.js +4 -0
  345. package/package.json +93 -49
@@ -0,0 +1,404 @@
1
+ import { z } from 'zod';
2
+
3
+ // src/compiler/BusinessQuestTools.ts
4
+ var vrrQuestEntrySchema = z.object({
5
+ id: z.string().min(1),
6
+ title: z.string().min(1),
7
+ steps: z.array(z.string()).min(1)
8
+ });
9
+ var businessVRRDraftSchema = z.object({
10
+ compositionName: z.string().min(1).regex(/^[A-Za-z_][A-Za-z0-9_]*$/, "compositionName must be a valid HoloScript identifier"),
11
+ twin: z.object({
12
+ mirrorId: z.string().min(1),
13
+ realitySync: z.array(z.string()).min(1),
14
+ geoSync: z.object({
15
+ center: z.string().min(1),
16
+ radius: z.number().nonnegative().optional()
17
+ }).optional()
18
+ }),
19
+ weather: z.object({
20
+ provider: z.enum(["weather.gov", "openweathermap"]),
21
+ refresh: z.string().optional()
22
+ }).optional(),
23
+ events: z.object({
24
+ provider: z.enum(["eventbrite", "ticketmaster"]),
25
+ refresh: z.string().optional()
26
+ }).optional(),
27
+ businesses: z.array(
28
+ z.object({
29
+ id: z.string().min(1),
30
+ displayName: z.string().optional(),
31
+ geo: z.object({
32
+ lat: z.number().gte(-90).lte(90),
33
+ lng: z.number().gte(-180).lte(180)
34
+ }),
35
+ inventory: z.object({
36
+ provider: z.enum(["square_pos", "shopify", "woocommerce"]),
37
+ refresh: z.string().optional(),
38
+ websocket: z.boolean().optional()
39
+ }).optional(),
40
+ quests: z.array(vrrQuestEntrySchema).min(1)
41
+ })
42
+ ).min(1),
43
+ layerShift: z.object({
44
+ from: z.enum(["ar", "vrr", "vr"]),
45
+ to: z.enum(["ar", "vrr", "vr"]),
46
+ price: z.number().nonnegative().optional(),
47
+ persistState: z.boolean().optional()
48
+ }).optional()
49
+ });
50
+ function vrrTrait(name, params) {
51
+ return {
52
+ type: "ObjectTrait",
53
+ name,
54
+ config: params,
55
+ params
56
+ };
57
+ }
58
+ function emptyCompositionShell(name) {
59
+ return {
60
+ type: "Composition",
61
+ name,
62
+ templates: [],
63
+ objects: [],
64
+ spatialGroups: [],
65
+ lights: [],
66
+ imports: [],
67
+ timelines: [],
68
+ audio: [],
69
+ zones: [],
70
+ transitions: [],
71
+ conditionals: [],
72
+ iterators: [],
73
+ npcs: [],
74
+ quests: [],
75
+ abilities: [],
76
+ dialogues: [],
77
+ stateMachines: [],
78
+ achievements: [],
79
+ talentTrees: [],
80
+ shapes: [],
81
+ metadata: {
82
+ source: "business-quest-tools",
83
+ draftKind: "hololand-vrr"
84
+ }
85
+ };
86
+ }
87
+ function buildVRRCompositionFromDraft(draft) {
88
+ const composition = emptyCompositionShell(draft.compositionName);
89
+ const twinTraits = [
90
+ vrrTrait("vrr_twin", { mirror: draft.twin.mirrorId }),
91
+ vrrTrait("reality_mirror", { sync: draft.twin.realitySync })
92
+ ];
93
+ if (draft.twin.geoSync) {
94
+ twinTraits.push(
95
+ vrrTrait("geo_sync", {
96
+ center: draft.twin.geoSync.center,
97
+ radius: draft.twin.geoSync.radius ?? 0
98
+ })
99
+ );
100
+ }
101
+ const twinObject = {
102
+ type: "Object",
103
+ name: `${draft.compositionName}_twin_root`,
104
+ properties: [],
105
+ traits: twinTraits
106
+ };
107
+ const objects = [twinObject];
108
+ if (draft.weather) {
109
+ objects.push({
110
+ type: "Object",
111
+ name: `${draft.compositionName}_weather`,
112
+ properties: [],
113
+ traits: [
114
+ vrrTrait("weather_sync", {
115
+ provider: draft.weather.provider,
116
+ refresh: draft.weather.refresh ?? "5_minutes"
117
+ })
118
+ ]
119
+ });
120
+ }
121
+ if (draft.events) {
122
+ objects.push({
123
+ type: "Object",
124
+ name: `${draft.compositionName}_events`,
125
+ properties: [],
126
+ traits: [
127
+ vrrTrait("event_sync", {
128
+ provider: draft.events.provider,
129
+ refresh: draft.events.refresh ?? "5_minutes"
130
+ })
131
+ ]
132
+ });
133
+ }
134
+ for (const biz of draft.businesses) {
135
+ const questPayload = biz.quests.map((q) => ({
136
+ id: q.id,
137
+ title: q.title,
138
+ steps: q.steps
139
+ }));
140
+ const bizTraits = [
141
+ vrrTrait("geo_anchor", { lat: biz.geo.lat, lng: biz.geo.lng }),
142
+ vrrTrait("quest_hub", { quests: questPayload })
143
+ ];
144
+ if (biz.inventory) {
145
+ bizTraits.push(
146
+ vrrTrait("inventory_sync", {
147
+ provider: biz.inventory.provider,
148
+ refresh: biz.inventory.refresh ?? "1_minute",
149
+ websocket: biz.inventory.websocket ?? false
150
+ })
151
+ );
152
+ }
153
+ objects.push({
154
+ type: "Object",
155
+ name: biz.displayName ?? biz.id,
156
+ properties: [],
157
+ traits: bizTraits
158
+ });
159
+ }
160
+ if (draft.layerShift) {
161
+ objects.push({
162
+ type: "Object",
163
+ name: `${draft.compositionName}_layer_shift`,
164
+ properties: [],
165
+ traits: [
166
+ vrrTrait("layer_shift", {
167
+ from: draft.layerShift.from,
168
+ to: draft.layerShift.to,
169
+ price: draft.layerShift.price ?? 0,
170
+ persist_state: draft.layerShift.persistState !== false
171
+ })
172
+ ]
173
+ });
174
+ }
175
+ composition.objects = objects;
176
+ return composition;
177
+ }
178
+ function validateBusinessVRRDraft(draft, options) {
179
+ const issues = [];
180
+ const parsed = businessVRRDraftSchema.safeParse(draft);
181
+ if (!parsed.success) {
182
+ for (const err of parsed.error.issues) {
183
+ issues.push({
184
+ path: err.path.join("."),
185
+ message: err.message,
186
+ severity: "error"
187
+ });
188
+ }
189
+ return Promise.resolve({ ok: false, issues });
190
+ }
191
+ if (options?.parseWithVrrCompiler) {
192
+ return import('./compiler/vrr.js').then(({ VRRCompiler }) => {
193
+ const composition = buildVRRCompositionFromDraft(parsed.data);
194
+ const compiler = new VRRCompiler({
195
+ target: "threejs",
196
+ minify: false,
197
+ source_maps: false,
198
+ api_integrations: {},
199
+ performance: { target_fps: 60, max_players: 1e3, lazy_loading: true }
200
+ });
201
+ const data = compiler.parseVRRComposition(composition);
202
+ if (data.questNodes.length === 0) {
203
+ issues.push({
204
+ path: "businesses",
205
+ message: "VRR parse found no @quest_hub nodes \u2014 check draft.quests",
206
+ severity: "warning"
207
+ });
208
+ }
209
+ if (data.twinNodes.length === 0) {
210
+ issues.push({
211
+ path: "twin",
212
+ message: "VRR parse found no @vrr_twin nodes",
213
+ severity: "warning"
214
+ });
215
+ }
216
+ return { ok: issues.every((i) => i.severity !== "error"), issues };
217
+ }).catch((err) => {
218
+ issues.push({
219
+ path: "",
220
+ message: err instanceof Error ? err.message : String(err),
221
+ severity: "error"
222
+ });
223
+ return { ok: false, issues };
224
+ });
225
+ }
226
+ return Promise.resolve({ ok: true, issues });
227
+ }
228
+ function draftToHoloPreview(draft) {
229
+ const lines = [];
230
+ lines.push(`// Preview \u2014 generated by BusinessQuestTools (no-code VRR draft)`);
231
+ lines.push(`composition "${draft.compositionName}" {`);
232
+ lines.push(
233
+ ` // twin: mirror=${draft.twin.mirrorId} sync=[${draft.twin.realitySync.join(", ")}]`
234
+ );
235
+ if (draft.weather) {
236
+ lines.push(` // weather: ${draft.weather.provider}`);
237
+ }
238
+ if (draft.events) {
239
+ lines.push(` // events: ${draft.events.provider}`);
240
+ }
241
+ for (const biz of draft.businesses) {
242
+ lines.push(` // business "${biz.id}" @ geo ${biz.geo.lat},${biz.geo.lng}`);
243
+ for (const q of biz.quests) {
244
+ lines.push(` // quest "${q.title}" (${q.steps.length} steps)`);
245
+ }
246
+ }
247
+ lines.push(`}`);
248
+ return lines.join("\n");
249
+ }
250
+ var BUSINESS_QUEST_TOOLS = [
251
+ {
252
+ name: "holoscript_business_quest_scaffold_vrr",
253
+ description: "Build a HoloComposition JSON for Hololand VRR from a structured draft (no .holo source). Includes @vrr_twin, @reality_mirror, optional @geo_sync, @weather_sync, @event_sync, per-business @geo_anchor + @quest_hub + optional @inventory_sync, and optional @layer_shift.",
254
+ inputSchema: {
255
+ type: "object",
256
+ properties: {
257
+ draft: {
258
+ type: "object",
259
+ description: "BusinessVRRDraft \u2014 see businessVRRDraftSchema in @holoscript/core"
260
+ },
261
+ runVrrParse: {
262
+ type: "boolean",
263
+ description: "If true, run VRRCompiler.parseVRRComposition and return trait counts",
264
+ default: false
265
+ },
266
+ agentToken: {
267
+ type: "string",
268
+ description: "Optional agent token for future RBAC (reserved)"
269
+ }
270
+ },
271
+ required: ["draft"]
272
+ }
273
+ },
274
+ {
275
+ name: "holoscript_business_quest_validate_vrr_draft",
276
+ description: "Validate a BusinessVRRDraft (Zod). Optionally run VRRCompiler parse smoke check.",
277
+ inputSchema: {
278
+ type: "object",
279
+ properties: {
280
+ draft: { type: "object", description: "Candidate BusinessVRRDraft JSON" },
281
+ parseWithVrrCompiler: {
282
+ type: "boolean",
283
+ description: "When true, dynamically loads VRRCompiler for wiring verification",
284
+ default: false
285
+ }
286
+ },
287
+ required: ["draft"]
288
+ }
289
+ },
290
+ {
291
+ name: "holoscript_business_quest_preview_holo",
292
+ description: "Return a commented HoloScript-style preview string for founder review (not a full parser round-trip).",
293
+ inputSchema: {
294
+ type: "object",
295
+ properties: {
296
+ draft: { type: "object" }
297
+ },
298
+ required: ["draft"]
299
+ }
300
+ }
301
+ ];
302
+ async function handleBusinessQuestToolCall(request) {
303
+ try {
304
+ switch (request.name) {
305
+ case "holoscript_business_quest_scaffold_vrr":
306
+ return await handleScaffold(request.arguments);
307
+ case "holoscript_business_quest_validate_vrr_draft":
308
+ return await handleValidate(request.arguments);
309
+ case "holoscript_business_quest_preview_holo":
310
+ return await handlePreview(request.arguments);
311
+ default:
312
+ return {
313
+ isError: true,
314
+ content: [{ type: "text", text: `Unknown tool: ${request.name}` }]
315
+ };
316
+ }
317
+ } catch (error) {
318
+ return {
319
+ isError: true,
320
+ content: [
321
+ {
322
+ type: "text",
323
+ text: `Error: ${error instanceof Error ? error.message : String(error)}`
324
+ }
325
+ ]
326
+ };
327
+ }
328
+ }
329
+ async function handleScaffold(args) {
330
+ const parsed = businessVRRDraftSchema.safeParse(args.draft);
331
+ if (!parsed.success) {
332
+ return {
333
+ isError: true,
334
+ content: [{ type: "text", text: JSON.stringify(parsed.error.flatten(), null, 2) }]
335
+ };
336
+ }
337
+ const composition = buildVRRCompositionFromDraft(parsed.data);
338
+ const runParse = Boolean(args.runVrrParse);
339
+ let vrrSummary;
340
+ if (runParse) {
341
+ const { VRRCompiler } = await import('./compiler/vrr.js');
342
+ const compiler = new VRRCompiler({
343
+ target: "threejs",
344
+ minify: false,
345
+ source_maps: false,
346
+ api_integrations: {},
347
+ performance: { target_fps: 60, max_players: 1e3, lazy_loading: true }
348
+ });
349
+ const data = compiler.parseVRRComposition(composition);
350
+ vrrSummary = {
351
+ twinNodes: data.twinNodes.length,
352
+ weatherNodes: data.weatherNodes.length,
353
+ eventNodes: data.eventNodes.length,
354
+ inventoryNodes: data.inventoryNodes.length,
355
+ questNodes: data.questNodes.length,
356
+ layerShiftNodes: data.layerShiftNodes.length,
357
+ paywallNodes: data.paywallNodes.length,
358
+ geoAnchorNodes: data.geoAnchorNodes.length
359
+ };
360
+ }
361
+ const payload = {
362
+ success: true,
363
+ compositionName: composition.name,
364
+ objectCount: composition.objects.length,
365
+ composition,
366
+ vrrTraitCounts: vrrSummary
367
+ };
368
+ return {
369
+ isError: false,
370
+ content: [{ type: "text", text: JSON.stringify(payload, null, 2) }]
371
+ };
372
+ }
373
+ async function handleValidate(args) {
374
+ const parseWithVrrCompiler = Boolean(args.parseWithVrrCompiler);
375
+ const result = await validateBusinessVRRDraft(args.draft, { parseWithVrrCompiler });
376
+ return {
377
+ isError: !result.ok,
378
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
379
+ };
380
+ }
381
+ async function handlePreview(args) {
382
+ const parsed = businessVRRDraftSchema.safeParse(args.draft);
383
+ if (!parsed.success) {
384
+ return {
385
+ isError: true,
386
+ content: [{ type: "text", text: JSON.stringify(parsed.error.flatten(), null, 2) }]
387
+ };
388
+ }
389
+ const text = draftToHoloPreview(parsed.data);
390
+ return {
391
+ isError: false,
392
+ content: [{ type: "text", text }]
393
+ };
394
+ }
395
+ function registerBusinessQuestTools(server) {
396
+ for (const tool of BUSINESS_QUEST_TOOLS) {
397
+ server.registerTool(tool, handleBusinessQuestToolCall);
398
+ }
399
+ }
400
+ var BusinessQuestTools_default = handleBusinessQuestToolCall;
401
+
402
+ export { BUSINESS_QUEST_TOOLS, BusinessQuestTools_default, buildVRRCompositionFromDraft, businessVRRDraftSchema, draftToHoloPreview, handleBusinessQuestToolCall, registerBusinessQuestTools, validateBusinessVRRDraft };
403
+ //# sourceMappingURL=chunk-WJIHFLMJ.js.map
404
+ //# sourceMappingURL=chunk-WJIHFLMJ.js.map
@@ -0,0 +1,309 @@
1
+ import { __esm } from './chunk-OL46QLBJ.js';
2
+
3
+ // src/traits/constants/mobile/geospatial.ts
4
+ var GEOSPATIAL_ARCORE_TRAITS, GEOSPATIAL_DEFAULTS;
5
+ var init_geospatial = __esm({
6
+ "src/traits/constants/mobile/geospatial.ts"() {
7
+ GEOSPATIAL_ARCORE_TRAITS = [
8
+ // --- VPS Core ---
9
+ "geospatial_vps",
10
+ // enables ARCore GeospatialMode.ENABLED on session
11
+ "geospatial_heading",
12
+ // heading/orientation alignment from VPS compass data
13
+ // --- Anchoring ---
14
+ "geospatial_anchor",
15
+ // lat/lng/alt/heading anchor via Earth.createAnchor
16
+ "geospatial_terrain_anchor",
17
+ // resolveAnchorOnTerrain — snaps to terrain surface
18
+ "geospatial_rooftop_anchor",
19
+ // resolveAnchorOnRooftop — snaps to building rooftops
20
+ // --- Streetscape ---
21
+ "geospatial_streetscape"
22
+ // Streetscape Geometry mesh access for buildings/terrain
23
+ ];
24
+ GEOSPATIAL_DEFAULTS = {
25
+ vps: {
26
+ accuracyThreshold: 25,
27
+ headingAccuracyThreshold: 25,
28
+ localizationTimeout: 3e4
29
+ },
30
+ anchor: {
31
+ latitude: 0,
32
+ longitude: 0,
33
+ altitude: 0,
34
+ heading: 0,
35
+ resolveTimeout: 1e4
36
+ },
37
+ terrainAnchor: {
38
+ latitude: 0,
39
+ longitude: 0,
40
+ altitudeOffset: 0,
41
+ heading: 0,
42
+ resolveTimeout: 1e4
43
+ },
44
+ rooftopAnchor: {
45
+ latitude: 0,
46
+ longitude: 0,
47
+ altitudeOffset: 0,
48
+ heading: 0,
49
+ resolveTimeout: 1e4
50
+ },
51
+ streetscape: {
52
+ enableTerrain: true,
53
+ enableBuildings: true
54
+ }
55
+ };
56
+ }
57
+ });
58
+
59
+ // src/traits/constants/mobile/spatial-authoring.ts
60
+ var SPATIAL_AUTHORING_TRAITS, SPATIAL_AUTHORING_DEFAULTS;
61
+ var init_spatial_authoring = __esm({
62
+ "src/traits/constants/mobile/spatial-authoring.ts"() {
63
+ SPATIAL_AUTHORING_TRAITS = [
64
+ // --- Gyro Placement ---
65
+ "author_gyro_place",
66
+ // gyroscope-stabilised AR object placement
67
+ // --- Pinch Scale ---
68
+ "author_pinch_scale",
69
+ // pinch-to-scale selected entity
70
+ // --- Swipe Browse ---
71
+ "author_swipe_browse",
72
+ // horizontal swipe to browse trait palette
73
+ // --- Voice Commands ---
74
+ "author_voice_cmd",
75
+ // speech recognition → parse and execute commands
76
+ // --- Shake Undo ---
77
+ "author_shake_undo"
78
+ // shake device to undo last action
79
+ ];
80
+ SPATIAL_AUTHORING_DEFAULTS = {
81
+ /** Gyro low-pass filter alpha (0-1, lower = smoother) */
82
+ gyroFilterAlpha: 0.15,
83
+ /** Minimum pinch scale factor */
84
+ pinchScaleMin: 0.1,
85
+ /** Maximum pinch scale factor */
86
+ pinchScaleMax: 10,
87
+ /** Shake acceleration threshold (m/s^2) to trigger undo */
88
+ shakeThreshold: 12,
89
+ /** Speech recognition locale */
90
+ speechLocale: "en-US",
91
+ /** Maximum undo stack depth */
92
+ undoStackDepth: 50
93
+ };
94
+ }
95
+ });
96
+
97
+ // src/traits/constants/mobile/haptic-feedback.ts
98
+ var HAPTIC_FEEDBACK_TRAITS;
99
+ var init_haptic_feedback = __esm({
100
+ "src/traits/constants/mobile/haptic-feedback.ts"() {
101
+ HAPTIC_FEEDBACK_TRAITS = [
102
+ // --- Interaction ---
103
+ "haptic_touch",
104
+ // vibration on hologram touch
105
+ "haptic_grab",
106
+ // resistance pulse when grabbing
107
+ "haptic_throw",
108
+ // release burst when throwing
109
+ "haptic_impact",
110
+ // impact feedback on collision
111
+ "haptic_select",
112
+ // click feedback on selection
113
+ // --- Ambient ---
114
+ "haptic_proximity",
115
+ // increasing vibration as hand nears hologram
116
+ "haptic_texture",
117
+ // surface texture simulation (rough, smooth, bumpy)
118
+ "haptic_resistance",
119
+ // force feedback simulation via vibration patterns
120
+ // --- System ---
121
+ "haptic_enable",
122
+ // enable haptic feedback engine
123
+ "haptic_intensity",
124
+ // global intensity multiplier (0.0-1.0)
125
+ "haptic_pattern_library"
126
+ // load custom haptic patterns (AHAP on iOS, VibrationEffect on Android)
127
+ ];
128
+ }
129
+ });
130
+
131
+ // src/traits/constants/mobile/nearby-connections.ts
132
+ var NEARBY_CONNECTIONS_TRAITS;
133
+ var init_nearby_connections = __esm({
134
+ "src/traits/constants/mobile/nearby-connections.ts"() {
135
+ NEARBY_CONNECTIONS_TRAITS = [
136
+ // --- Discovery ---
137
+ "nearby_discover",
138
+ // discover nearby devices running same .holo scene
139
+ "nearby_advertise",
140
+ // advertise this device as joinable
141
+ "nearby_auto_connect",
142
+ // automatically connect when same scene detected
143
+ // --- Mesh ---
144
+ "nearby_mesh",
145
+ // form local mesh network (star or mesh topology)
146
+ "nearby_max_peers",
147
+ // maximum number of connected peers
148
+ "nearby_bandwidth",
149
+ // connection strategy: HIGH_BANDWIDTH or LOW_POWER
150
+ // --- Sync ---
151
+ "nearby_p2p_sync",
152
+ // sync .holo scene state P2P via Loro CRDT
153
+ "nearby_broadcast",
154
+ // broadcast events to all connected peers
155
+ "nearby_spatial_anchor_share"
156
+ // share spatial anchors between nearby devices
157
+ ];
158
+ }
159
+ });
160
+
161
+ // src/traits/constants/mobile/foldable-display.ts
162
+ var FOLDABLE_DISPLAY_TRAITS;
163
+ var init_foldable_display = __esm({
164
+ "src/traits/constants/mobile/foldable-display.ts"() {
165
+ FOLDABLE_DISPLAY_TRAITS = [
166
+ "foldable_detect",
167
+ // detect foldable device and fold state
168
+ "foldable_split_view",
169
+ // AR viewfinder on one panel, controls on other
170
+ "foldable_flex_mode",
171
+ // Flip flex mode: top AR, bottom controls
172
+ "foldable_tabletop",
173
+ // tabletop mode: phone stands up, AR projects forward
174
+ "foldable_hinge_angle",
175
+ // expose hinge angle as input parameter
176
+ "foldable_continuity"
177
+ // seamless transition between fold states
178
+ ];
179
+ }
180
+ });
181
+
182
+ // src/traits/constants/mobile/samsung-dex.ts
183
+ var SAMSUNG_DEX_TRAITS;
184
+ var init_samsung_dex = __esm({
185
+ "src/traits/constants/mobile/samsung-dex.ts"() {
186
+ SAMSUNG_DEX_TRAITS = [
187
+ "dex_detect",
188
+ // detect Samsung DeX connection
189
+ "dex_handoff",
190
+ // hand off .holo scene from mobile AR to desktop view
191
+ "dex_desktop_controls",
192
+ // enable mouse/keyboard controls in DeX mode
193
+ "dex_multi_window",
194
+ // support multi-window layout in DeX
195
+ "dex_resolution_adapt"
196
+ // adapt rendering resolution to external display
197
+ ];
198
+ }
199
+ });
200
+
201
+ // src/traits/constants/mobile/webxr.ts
202
+ var WEBXR_TRAITS;
203
+ var init_webxr = __esm({
204
+ "src/traits/constants/mobile/webxr.ts"() {
205
+ WEBXR_TRAITS = [
206
+ // --- Session ---
207
+ "webxr_session",
208
+ // request immersive-ar or immersive-vr session
209
+ "webxr_inline",
210
+ // inline XR (non-immersive, preview mode)
211
+ // --- Features ---
212
+ "webxr_hit_test",
213
+ // ray-surface hit testing for placement
214
+ "webxr_anchors",
215
+ // persistent anchors across frames
216
+ "webxr_light_estimation",
217
+ // real-world lighting probe for hologram shading
218
+ "webxr_dom_overlay",
219
+ // HTML DOM overlay on top of XR scene
220
+ "webxr_depth_sensing",
221
+ // depth buffer access for occlusion
222
+ "webxr_hand_tracking",
223
+ // WebXR hand tracking API (where supported)
224
+ // --- Rendering ---
225
+ "webxr_layers",
226
+ // XR composition layers (projection, quad, cylinder)
227
+ "webxr_framebuffer",
228
+ // direct framebuffer access for custom rendering
229
+ "webxr_reference_space"
230
+ // reference space type (local, local-floor, bounded-floor)
231
+ ];
232
+ }
233
+ });
234
+
235
+ // src/traits/constants/mobile/google-lens.ts
236
+ var GOOGLE_LENS_TRAITS;
237
+ var init_google_lens = __esm({
238
+ "src/traits/constants/mobile/google-lens.ts"() {
239
+ GOOGLE_LENS_TRAITS = [
240
+ "lens_recognize",
241
+ // enable object/scene recognition
242
+ "lens_text_overlay",
243
+ // OCR text as holographic overlay
244
+ "lens_product_id",
245
+ // product identification and info overlay
246
+ "lens_translate",
247
+ // real-time text translation overlay
248
+ "lens_entity_pipe",
249
+ // pipe recognized entities into .holo scene graph
250
+ "lens_plant_animal_id",
251
+ // plant/animal species identification
252
+ "lens_landmark_info"
253
+ // landmark/building information overlay
254
+ ];
255
+ }
256
+ });
257
+
258
+ // src/traits/constants/mobile/depth-scanner.ts
259
+ var DEPTH_SCANNER_TRAITS, DEPTH_SCANNER_DEFAULTS;
260
+ var init_depth_scanner = __esm({
261
+ "src/traits/constants/mobile/depth-scanner.ts"() {
262
+ DEPTH_SCANNER_TRAITS = [
263
+ // --- Core ---
264
+ "depth_scan",
265
+ // enables depth scanning pipeline
266
+ "depth_auto_select",
267
+ // runtime picks best source: ToF > ARCore ML > stereo
268
+ // --- Backends ---
269
+ "depth_ml_arcore",
270
+ // ARCore Depth API — ML-based monocular depth (200+ devices)
271
+ "depth_tof",
272
+ // Time-of-Flight sensor path (hardware ToF required)
273
+ "depth_stereo",
274
+ // dual-camera stereo depth estimation
275
+ // --- Processing ---
276
+ "depth_confidence_map",
277
+ // per-pixel confidence image (0-255)
278
+ "depth_mesh_generate",
279
+ // convert depth map to triangle mesh
280
+ "depth_mesh_to_holo",
281
+ // convert reconstructed mesh to .holo scene graph
282
+ // --- Output ---
283
+ "depth_realtime",
284
+ // live depth updates every frame
285
+ "depth_export"
286
+ // export mesh as OBJ/GLB
287
+ ];
288
+ DEPTH_SCANNER_DEFAULTS = {
289
+ scan: {
290
+ confidenceThreshold: 128,
291
+ maxDepthMeters: 5,
292
+ meshDecimation: 0.5
293
+ },
294
+ export: {
295
+ format: "glb",
296
+ includeColor: true,
297
+ includeNormals: true
298
+ },
299
+ realtime: {
300
+ targetFps: 30,
301
+ temporalSmoothing: true
302
+ }
303
+ };
304
+ }
305
+ });
306
+
307
+ export { DEPTH_SCANNER_DEFAULTS, DEPTH_SCANNER_TRAITS, FOLDABLE_DISPLAY_TRAITS, GEOSPATIAL_ARCORE_TRAITS, GEOSPATIAL_DEFAULTS, GOOGLE_LENS_TRAITS, HAPTIC_FEEDBACK_TRAITS, NEARBY_CONNECTIONS_TRAITS, SAMSUNG_DEX_TRAITS, SPATIAL_AUTHORING_DEFAULTS, SPATIAL_AUTHORING_TRAITS, WEBXR_TRAITS, init_depth_scanner, init_foldable_display, init_geospatial, init_google_lens, init_haptic_feedback, init_nearby_connections, init_samsung_dex, init_spatial_authoring, init_webxr };
308
+ //# sourceMappingURL=chunk-WKX5AMOY.js.map
309
+ //# sourceMappingURL=chunk-WKX5AMOY.js.map