@holoscript/core 6.0.4 → 6.1.2
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.
- package/LICENSE +21 -0
- package/README.md +3 -3
- package/bin/holoscript.cjs +3 -0
- package/dist/GLTFPipeline-SFIORFJU.js +16 -0
- package/dist/GLTFPipeline-VNNDPONV.cjs +37 -0
- package/dist/{HoloScriptPlusParser-BN6KVRCM.js → HoloScriptPlusParser-7FBIFUFC.js} +6 -5
- package/dist/{HoloScriptPlusParser-NC5FE6AL.cjs → HoloScriptPlusParser-A2W7OCN2.cjs} +17 -16
- package/dist/HoloScriptPlusParser-F2Z56FJR.js +10 -0
- package/dist/HoloScriptPlusParser-WKHRIH6T.cjs +27 -0
- package/dist/{USDZExporter-UWGWNMMD.cjs → USDZExporter-3FWJ25JI.cjs} +344 -16
- package/dist/{USDZExporter-NTMBNTDB.js → USDZExporter-D2HQLQYK.js} +344 -16
- package/dist/agents/index.cjs +19 -0
- package/dist/agents/index.d.ts +100 -0
- package/dist/agents/index.js +17 -0
- package/dist/chunk-22W6NGYN.js +725 -0
- package/dist/{chunk-5OEOHAAW.cjs → chunk-27MPVJVZ.cjs} +64 -28
- package/dist/{chunk-RVYPEYPX.js → chunk-2A7FURVO.js} +44 -8
- package/dist/{chunk-XCWFGZAA.js → chunk-2B7WVIDZ.js} +11 -8
- package/dist/{chunk-NDQNIJEH.js → chunk-2BSMSUCE.js} +250 -24
- package/dist/chunk-2HLIGOKU.cjs +5546 -0
- package/dist/{chunk-EONILVMF.js → chunk-2M2DPHKB.js} +4 -4
- package/dist/{chunk-G7CT3EMP.cjs → chunk-2YSNA2F2.cjs} +319 -47
- package/dist/{chunk-IWI6J7FX.js → chunk-33XCOVE3.js} +5 -5
- package/dist/chunk-3FOKASKO.cjs +348 -0
- package/dist/{chunk-DXJQDCFL.js → chunk-4C57PR42.js} +3 -3
- package/dist/{chunk-MPXBVFHQ.js → chunk-4N4SXXWF.js} +4 -3
- package/dist/chunk-4PDEPEQW.cjs +41 -0
- package/dist/chunk-4R6HPSHJ.js +2176 -0
- package/dist/chunk-4R6SBXDB.js +45 -0
- package/dist/chunk-4SY77NA4.cjs +413 -0
- package/dist/{chunk-YCXFCXDS.js → chunk-4UUKPCY4.js} +668 -110
- package/dist/{chunk-LGGRPKTV.cjs → chunk-52ULD552.cjs} +114 -35
- package/dist/{chunk-L4G4RLXX.js → chunk-5CKA5SXU.js} +438 -22
- package/dist/chunk-5FSKKMR7.cjs +2092 -0
- package/dist/{chunk-FF3Q7ADR.js → chunk-5JEU52DW.js} +5 -3
- package/dist/chunk-5N54COB6.cjs +327 -0
- package/dist/chunk-5S7RKFGR.cjs +446 -0
- package/dist/{chunk-KED34ILP.js → chunk-6ASWLXXN.js} +21 -9
- package/dist/chunk-6CTRH7HT.cjs +1985 -0
- package/dist/{chunk-CAUCGUEA.cjs → chunk-6EX3I5P4.cjs} +6 -6
- package/dist/chunk-6FGQNDR4.js +5731 -0
- package/dist/{chunk-72EQECGT.cjs → chunk-6KMK2UXT.cjs} +122 -46
- package/dist/{chunk-G4VZTCIB.js → chunk-6L4VE27M.js} +33 -23
- package/dist/{chunk-ATSKSYVE.cjs → chunk-6S6TKNEA.cjs} +6478 -1738
- package/dist/chunk-77V4GTCA.js +596 -0
- package/dist/{chunk-ZP4D3CSX.cjs → chunk-7AD52FRS.cjs} +16 -16
- package/dist/chunk-A6KINLZJ.js +236 -0
- package/dist/chunk-AIA52I7T.cjs +543 -0
- package/dist/chunk-AIX25INK.cjs +602 -0
- package/dist/{chunk-B5TCIAPQ.cjs → chunk-AO4I2Z7M.cjs} +17 -18
- package/dist/{chunk-Q5SJOGHQ.cjs → chunk-BPICAGBV.cjs} +324 -199
- package/dist/chunk-BRQJKJGT.cjs +20 -0
- package/dist/{chunk-3FXV5S25.cjs → chunk-C37BHB7N.cjs} +6 -3
- package/dist/{chunk-XUTX5CBW.js → chunk-CBJY23VL.js} +3 -3
- package/dist/chunk-CIWWXYHZ.cjs +50 -0
- package/dist/{chunk-XXINBTZK.cjs → chunk-DIL6DDDN.cjs} +101 -45
- package/dist/chunk-DMXC24WV.js +404 -0
- package/dist/{chunk-PMGODDJA.cjs → chunk-DTGBOSEM.cjs} +12 -12
- package/dist/chunk-E7JP3BS3.cjs +61 -0
- package/dist/{chunk-HJJLD366.js → chunk-EKBKLK7P.js} +3 -3
- package/dist/chunk-EKYL4PE3.cjs +404 -0
- package/dist/{chunk-UPJBDCVF.js → chunk-EMMC5CSQ.js} +12 -8
- package/dist/{chunk-GGHSW2NN.js → chunk-EOBB6A4B.js} +6389 -1718
- package/dist/chunk-EOFNVCM6.js +325 -0
- package/dist/{chunk-FHQVYCH2.js → chunk-ER4GATIU.js} +7 -7
- package/dist/{chunk-N5FTS757.cjs → chunk-EXKSFGSX.cjs} +7 -148
- package/dist/{chunk-LK5IAVH6.cjs → chunk-EXUP2BUM.cjs} +27 -27
- package/dist/chunk-FDSGHPAK.js +130 -0
- package/dist/chunk-FEWUHQNM.cjs +144 -0
- package/dist/{chunk-5TOFIR6L.js → chunk-FGGJQRLZ.js} +5 -142
- package/dist/chunk-FHP6LXJS.js +415 -0
- package/dist/{chunk-7LCYLPW2.cjs → chunk-FJPADH77.cjs} +7 -4
- package/dist/{chunk-T36DDXSF.js → chunk-FXKTYFYA.js} +150 -25
- package/dist/chunk-G2LS3RFO.js +623 -0
- package/dist/chunk-GCMWDSBZ.cjs +729 -0
- package/dist/chunk-GJNCFRJU.cjs +125 -0
- package/dist/{chunk-Q4QX3AET.cjs → chunk-GMP623FG.cjs} +16 -13
- package/dist/{chunk-XD6IYDUX.js → chunk-GN3KDX4W.js} +119 -43
- package/dist/{chunk-QLEAOI3Q.cjs → chunk-GQYKQSTC.cjs} +10 -10
- package/dist/chunk-GTU2Z2WW.cjs +262 -0
- package/dist/chunk-GZG4KA4E.js +529 -0
- package/dist/{chunk-BND3ST2K.cjs → chunk-H3MGK7TX.cjs} +42 -32
- package/dist/{chunk-XRKWN5PL.cjs → chunk-H5DZIHJP.cjs} +14 -18
- package/dist/{chunk-Z34RLXRA.cjs → chunk-HANL7K2Q.cjs} +65 -50
- package/dist/{chunk-3SAK5KFL.cjs → chunk-HCCQLAA4.cjs} +2 -11
- package/dist/{chunk-LXJ4667L.cjs → chunk-HGVXZDSK.cjs} +108 -20
- package/dist/{chunk-3FJCK5XA.js → chunk-HRODTEEO.js} +30 -10
- package/dist/{chunk-HQUEA5R6.cjs → chunk-HZCQO4JM.cjs} +6 -6
- package/dist/{chunk-S565K7NK.js → chunk-I2O7TW6B.js} +12 -8
- package/dist/chunk-IHESJZSW.js +4490 -0
- package/dist/{chunk-FSF7EQVA.cjs → chunk-IRWWS72C.cjs} +63 -22
- package/dist/{chunk-5O6TQC6M.cjs → chunk-IVIA7K75.cjs} +689 -127
- package/dist/chunk-IVY74O6C.js +247 -0
- package/dist/chunk-J32ZJZJH.js +554 -0
- package/dist/chunk-J56PTA46.cjs +639 -0
- package/dist/chunk-JD7CIZ33.js +1949 -0
- package/dist/{chunk-T7LEXZUZ.cjs → chunk-JIYN45TV.cjs} +14 -15
- package/dist/{chunk-FFKU7BTK.cjs → chunk-KHPCJRI3.cjs} +24 -21
- package/dist/chunk-KKFZ3B6J.cjs +557 -0
- package/dist/chunk-KPJL34Y7.cjs +186 -0
- package/dist/{chunk-HE7ULERA.cjs → chunk-KQTPCYTG.cjs} +128 -44
- package/dist/{chunk-OFKWH2IP.js → chunk-KX76JUQY.js} +3 -3
- package/dist/{chunk-33LSUQDD.cjs → chunk-L63H3SQ4.cjs} +43 -31
- package/dist/{chunk-K6EKD26I.js → chunk-LAOCQJ2M.js} +64 -8
- package/dist/chunk-LM2VU56C.cjs +37 -0
- package/dist/chunk-M56JSP4A.js +400 -0
- package/dist/chunk-MBOOR7X4.js +18 -0
- package/dist/{chunk-XWPNTWDN.cjs → chunk-MJVIRCUV.cjs} +31 -27
- package/dist/{chunk-SDAMZIRE.js → chunk-MSMIFMBL.js} +135 -18
- package/dist/{chunk-56IF4NTA.js → chunk-MXFUTKCO.js} +18 -18
- package/dist/{chunk-6UEHYZ7V.cjs → chunk-MXJ5SS53.cjs} +447 -31
- package/dist/chunk-MYY4PMWX.cjs +264 -0
- package/dist/chunk-N75IH2HY.js +258 -0
- package/dist/{chunk-GVUR45UF.cjs → chunk-NG77ATEW.cjs} +7 -6
- package/dist/chunk-NW5G5FBQ.js +215 -0
- package/dist/{chunk-E3FWRT3Z.js → chunk-OEFY723R.js} +28 -13
- package/dist/chunk-OEV5RMZO.cjs +3042 -0
- package/dist/{chunk-X4ZF6CNE.cjs → chunk-OIQYIIO3.cjs} +7 -7
- package/dist/{chunk-2CWOLHTE.js → chunk-OL46QLBJ.js} +3 -11
- package/dist/chunk-OPZ7XDDI.js +487 -0
- package/dist/chunk-OSYNRVOV.cjs +243 -0
- package/dist/{chunk-TEWCN33Y.js → chunk-P7YIA5LN.js} +91 -7
- package/dist/chunk-PGANYCAG.cjs +220 -0
- package/dist/{chunk-CS2EMTGF.js → chunk-QAVXL2IH.js} +62 -21
- package/dist/{chunk-T4NKMBDL.js → chunk-QCCBXSCE.js} +1666 -756
- package/dist/{chunk-F4IULT7N.js → chunk-QPOQ7VPI.js} +16 -13
- package/dist/{chunk-6XSERL6L.js → chunk-QTPMJRGS.js} +3108 -2827
- package/dist/{chunk-F3HH56EB.cjs → chunk-QWNQ523V.cjs} +1730 -823
- package/dist/{chunk-R7MA7QWV.js → chunk-R3IVNY6P.js} +102 -23
- package/dist/chunk-R75BSDH7.cjs +50 -0
- package/dist/chunk-RAXUF5DF.cjs +2196 -0
- package/dist/{chunk-BF2235SI.cjs → chunk-RMHC2VG7.cjs} +2876 -2592
- package/dist/chunk-RUXGBKPS.cjs +4517 -0
- package/dist/{chunk-UERJ3YJV.js → chunk-S5IFXW6E.js} +113 -9
- package/dist/{chunk-27LWW5FU.cjs → chunk-S6YWHCKV.cjs} +5 -5
- package/dist/{chunk-WB4Z63GG.js → chunk-SIEXCILW.js} +3 -3
- package/dist/{chunk-CLYEIWA5.cjs → chunk-SLU6UPJI.cjs} +5 -3
- package/dist/{chunk-LZ266PCM.cjs → chunk-T5J7ZKP3.cjs} +446 -60
- package/dist/chunk-TDCNJHWO.js +341 -0
- package/dist/{chunk-IHOUYQIA.js → chunk-TG7O4WBC.js} +5 -5
- package/dist/chunk-THCK6ECW.js +2085 -0
- package/dist/chunk-TJHVSBP2.js +439 -0
- package/dist/chunk-TK74TR4H.js +5541 -0
- package/dist/{chunk-CDPGV4DN.js → chunk-U4NBQJBY.js} +14 -15
- package/dist/{chunk-NOZZ46QU.js → chunk-UD3DSHZM.js} +10 -14
- package/dist/chunk-UDMYRFDZ.js +3038 -0
- package/dist/{chunk-WDW67DZB.cjs → chunk-UOIGFQXC.cjs} +90 -68
- package/dist/{chunk-BU7VWW2K.js → chunk-URG2SJLK.js} +14 -15
- package/dist/{chunk-EQV4R3EV.cjs → chunk-V73NPPTM.cjs} +152 -35
- package/dist/chunk-VECQYRXL.js +474 -0
- package/dist/chunk-VEXPG4WN.js +1989 -0
- package/dist/{chunk-LDP5OK6G.js → chunk-VMLKSV26.js} +5 -5
- package/dist/{chunk-5BGSECRJ.cjs → chunk-VSK7W3O5.cjs} +47 -27
- package/dist/chunk-VVKVQZI6.js +55 -0
- package/dist/{chunk-YQK5JNFK.js → chunk-W55Z7QIX.js} +103 -15
- package/dist/{chunk-KSGXLT74.cjs → chunk-W6P2GBHH.cjs} +3 -3
- package/dist/{chunk-IBDG74G2.cjs → chunk-W6RW64BB.cjs} +7 -7
- package/dist/chunk-WDT3JTGM.cjs +483 -0
- package/dist/{chunk-HPS76H7Q.js → chunk-WKX5AMOY.js} +3 -3
- package/dist/chunk-WNNE3PO3.js +34 -0
- package/dist/{chunk-XG23EUQX.cjs → chunk-WRLUBRKS.cjs} +538 -312
- package/dist/{chunk-IFNQFCTM.js → chunk-WRNEH5MO.js} +79 -8
- package/dist/{chunk-54FHG2MX.js → chunk-WRWEX5ZF.js} +7 -4
- package/dist/{chunk-KCQ5NDYC.cjs → chunk-X3GJPRVK.cjs} +154 -80
- package/dist/{chunk-7AGYRWKW.cjs → chunk-XFXGA5IW.cjs} +126 -22
- package/dist/{chunk-TQSZUOW5.cjs → chunk-XHIV6326.cjs} +4 -4
- package/dist/chunk-XJAN7CZG.cjs +432 -0
- package/dist/chunk-XL6INWKT.js +121 -0
- package/dist/{chunk-E3UALNFA.js → chunk-XMWZG36H.js} +4 -4
- package/dist/{chunk-BKIGPPVM.js → chunk-XSFNHP2E.js} +6 -3
- package/dist/{chunk-H5Z7NASB.js → chunk-XT6JY5W5.js} +25 -3
- package/dist/chunk-XXZJEFKW.cjs +490 -0
- package/dist/chunk-Y3MWXQSB.cjs +5737 -0
- package/dist/chunk-YF2I3MV3.js +46 -0
- package/dist/{chunk-V3NN3HPP.js → chunk-YIMN575O.js} +437 -52
- package/dist/chunk-YIVFJNYV.js +176 -0
- package/dist/{chunk-MD6KDHVE.cjs → chunk-YKGPCZEE.cjs} +10 -10
- package/dist/chunk-YQELFNJV.js +39 -0
- package/dist/chunk-Z5XMPRNC.cjs +5390 -0
- package/dist/{chunk-3FYZOR7S.cjs → chunk-ZDSYWBIE.cjs} +18 -18
- package/dist/{chunk-6TZPZCOJ.cjs → chunk-ZKSS47EV.cjs} +24 -19
- package/dist/chunk-ZUL5AVTX.cjs +1993 -0
- package/dist/chunk-ZXBZVXDW.js +5386 -0
- package/dist/{chunk-DMG7C4H2.js → chunk-ZZ7RO2UQ.js} +312 -44
- package/dist/cli/holoscript-runner.cjs +200 -204
- package/dist/cli/holoscript-runner.js +144 -148
- package/dist/codebase/index.cjs +1 -1
- package/dist/codebase/index.js +1 -1
- package/dist/compiler/agent-inference.cjs +10 -7
- package/dist/compiler/agent-inference.js +6 -3
- package/dist/compiler/android-xr.cjs +12 -7
- package/dist/compiler/android-xr.js +10 -5
- package/dist/compiler/android.cjs +12 -8
- package/dist/compiler/android.js +10 -6
- package/dist/compiler/ar.cjs +9 -6
- package/dist/compiler/ar.js +7 -4
- package/dist/compiler/babylon.cjs +12 -8
- package/dist/compiler/babylon.js +11 -7
- package/dist/compiler/business-quest.cjs +43 -0
- package/dist/compiler/business-quest.js +4 -0
- package/dist/compiler/coco.cjs +1 -1
- package/dist/compiler/coco.js +1 -1
- package/dist/compiler/context.cjs +25 -0
- package/dist/compiler/context.d.ts +28 -0
- package/dist/compiler/context.js +8 -0
- package/dist/compiler/domain-block-utils.cjs +155 -152
- package/dist/compiler/domain-block-utils.js +7 -4
- package/dist/compiler/dtdl.cjs +10 -7
- package/dist/compiler/dtdl.js +7 -4
- package/dist/compiler/gltf-pipeline.cjs +9 -9
- package/dist/compiler/gltf-pipeline.js +2 -2
- package/dist/compiler/godot.cjs +9 -6
- package/dist/compiler/godot.js +8 -5
- package/dist/compiler/incremental.cjs +12 -7
- package/dist/compiler/incremental.js +7 -2
- package/dist/compiler/index.cjs +3550 -268
- package/dist/compiler/index.d.ts +404 -21
- package/dist/compiler/index.js +3280 -138
- package/dist/compiler/ios.cjs +11 -8
- package/dist/compiler/ios.js +9 -6
- package/dist/compiler/llm-provider-capabilities.cjs +25 -0
- package/dist/compiler/llm-provider-capabilities.d.ts +43 -0
- package/dist/compiler/llm-provider-capabilities.js +8 -0
- package/dist/compiler/multi-layer.cjs +14 -10
- package/dist/compiler/multi-layer.js +13 -9
- package/dist/compiler/nodetoy.cjs +5 -5
- package/dist/compiler/nodetoy.js +2 -2
- package/dist/compiler/openxr.cjs +10 -6
- package/dist/compiler/openxr.js +9 -5
- package/dist/compiler/playcanvas.cjs +10 -7
- package/dist/compiler/playcanvas.js +9 -6
- package/dist/compiler/r3f.cjs +17 -13
- package/dist/compiler/r3f.d.ts +22 -0
- package/dist/compiler/r3f.js +12 -8
- package/dist/compiler/remotion.cjs +1 -1
- package/dist/compiler/remotion.js +1 -1
- package/dist/compiler/reproducibility.cjs +1 -1
- package/dist/compiler/reproducibility.js +1 -1
- package/dist/compiler/sdf.cjs +10 -7
- package/dist/compiler/sdf.js +8 -5
- package/dist/compiler/semantic-scene.cjs +1 -1
- package/dist/compiler/semantic-scene.js +1 -1
- package/dist/compiler/state.cjs +9 -5
- package/dist/compiler/state.js +7 -3
- package/dist/compiler/trait-composition.cjs +11 -7
- package/dist/compiler/trait-composition.js +7 -3
- package/dist/compiler/unity.cjs +10 -6
- package/dist/compiler/unity.js +9 -5
- package/dist/compiler/unreal.cjs +11 -7
- package/dist/compiler/unreal.js +9 -5
- package/dist/compiler/urdf.cjs +20 -13
- package/dist/compiler/urdf.js +8 -5
- package/dist/compiler/usd-physics.cjs +10 -7
- package/dist/compiler/usd-physics.js +7 -4
- package/dist/compiler/visionos.cjs +10 -6
- package/dist/compiler/visionos.js +9 -5
- package/dist/compiler/vrchat.cjs +10 -7
- package/dist/compiler/vrchat.js +8 -5
- package/dist/compiler/vrr.cjs +10 -7
- package/dist/compiler/vrr.js +8 -5
- package/dist/compiler/wasm.cjs +13 -10
- package/dist/compiler/wasm.js +8 -5
- package/dist/compiler/webgpu.cjs +9 -6
- package/dist/compiler/webgpu.js +8 -5
- package/dist/constants.d.ts +3 -2
- package/dist/coordinators/index.cjs +1266 -0
- package/dist/coordinators/index.d.ts +260 -0
- package/dist/coordinators/index.js +1259 -0
- package/dist/debugger.cjs +9 -7
- package/dist/debugger.js +7 -5
- package/dist/entries/interop.cjs +23 -21
- package/dist/entries/interop.js +5 -3
- package/dist/entries/scripting.cjs +18 -18
- package/dist/entries/scripting.js +8 -8
- package/dist/hololand/index.cjs +146 -0
- package/dist/hololand/index.d.ts +70 -0
- package/dist/hololand/index.js +5 -0
- package/dist/index.cjs +20332 -18121
- package/dist/index.d.ts +1477 -40
- package/dist/index.js +19451 -17638
- package/dist/math/tropical-spmv.cjs +45 -0
- package/dist/math/tropical-spmv.js +4 -0
- package/dist/math/vec3.cjs +14 -14
- package/dist/math/vec3.js +2 -2
- package/dist/{ml-dsa-PHCWUBPX.cjs → ml-dsa-FSKBTE3W.cjs} +177 -90
- package/dist/{ml-dsa-WYLJHJO6.js → ml-dsa-Z7JDKW4L.js} +158 -71
- package/dist/paper-0c-spike/index.cjs +150 -0
- package/dist/paper-0c-spike/index.d.ts +29 -0
- package/dist/paper-0c-spike/index.js +141 -0
- package/dist/parser.cjs +45 -11
- package/dist/parser.d.ts +11 -0
- package/dist/parser.js +10 -8
- package/dist/{playwright-RL6GY4F7.cjs → playwright-3AT3AKTV.cjs} +1985 -1985
- package/dist/{playwright-5OSAPTNH.js → playwright-VZPDVUEQ.js} +3 -3
- package/dist/reconstruction/index.cjs +153 -0
- package/dist/reconstruction/index.d.ts +105 -0
- package/dist/reconstruction/index.js +8 -0
- package/dist/runtime.cjs +7 -5
- package/dist/runtime.js +6 -4
- package/dist/self-improvement/index.cjs +563 -0
- package/dist/self-improvement/index.js +545 -0
- package/dist/storage/index.cjs +10 -9
- package/dist/storage/index.js +3 -2
- package/dist/testing.cjs +25 -0
- package/dist/testing.d.ts +70 -0
- package/dist/testing.js +4 -0
- package/dist/tools/index.d.ts +22 -1
- package/dist/traitDocs/traitDocs.cjs +33 -0
- package/dist/traitDocs/traitDocs.d.ts +69 -0
- package/dist/traitDocs/traitDocs.js +7 -0
- package/dist/traits/botanical-lotus.cjs +41 -0
- package/dist/traits/botanical-lotus.d.ts +172 -0
- package/dist/traits/botanical-lotus.js +4 -0
- package/dist/traits/engines/index.cjs +520 -0
- package/dist/traits/engines/index.js +380 -0
- package/dist/traits/index.cjs +17630 -7881
- package/dist/traits/index.d.ts +197 -0
- package/dist/traits/index.js +16573 -7193
- package/dist/traits/simulation-solver-factory.cjs +13 -0
- package/dist/traits/simulation-solver-factory.d.ts +23 -0
- package/dist/traits/simulation-solver-factory.js +4 -0
- package/dist/traits/webcam-gaze.cjs +35 -0
- package/dist/traits/webcam-gaze.d.ts +17 -0
- package/dist/traits/webcam-gaze.js +4 -0
- package/dist/type-checker.cjs +6 -5
- package/dist/type-checker.js +4 -3
- package/dist/world/index.cjs +947 -0
- package/dist/world/index.d.ts +147 -0
- package/dist/world/index.js +939 -0
- package/dist/world-model/index.cjs +1446 -0
- package/dist/world-model/index.d.ts +119 -0
- package/dist/world-model/index.js +1414 -0
- package/dist/wot/index.cjs +29 -0
- package/dist/wot/index.js +4 -0
- package/package.json +153 -61
- package/dist/GLTFPipeline-DEN36VNK.js +0 -12
- package/dist/GLTFPipeline-YPCAK236.cjs +0 -33
- package/dist/chunk-4XSNJCLC.cjs +0 -1859
- package/dist/chunk-A7PIMZGU.js +0 -263
- package/dist/chunk-BWFJEM5A.js +0 -5419
- package/dist/chunk-CBJSLA2E.cjs +0 -5423
- package/dist/chunk-K3JDKWGI.cjs +0 -270
- package/dist/chunk-LSW7P7ML.js +0 -3675
- package/dist/chunk-MEASWI2Y.js +0 -126
- package/dist/chunk-NCUKG4SK.cjs +0 -3075
- package/dist/chunk-Q5JT3YML.cjs +0 -129
- package/dist/chunk-QGKNANZ3.js +0 -3071
- package/dist/chunk-S2N5TNMA.js +0 -1855
- package/dist/chunk-TSH3MSQU.cjs +0 -129
- package/dist/chunk-WGMEAYBG.js +0 -126
- package/dist/chunk-X6SEAXAX.cjs +0 -3681
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
// src/traits/engines/tensor-ops.ts
|
|
2
|
+
function sizeOf(shape) {
|
|
3
|
+
return shape.reduce((a, b) => a * b, 1);
|
|
4
|
+
}
|
|
5
|
+
function createTensor(shape, data) {
|
|
6
|
+
if (!Array.isArray(shape) || shape.length === 0 || shape.some((d) => !Number.isInteger(d) || d <= 0)) {
|
|
7
|
+
throw new Error(`tensor-ops: invalid shape ${JSON.stringify(shape)}`);
|
|
8
|
+
}
|
|
9
|
+
const size = sizeOf(shape);
|
|
10
|
+
const buf = new Float32Array(size);
|
|
11
|
+
if (data) {
|
|
12
|
+
const n = Math.min(size, data.length);
|
|
13
|
+
for (let i = 0; i < n; i++) buf[i] = data[i];
|
|
14
|
+
}
|
|
15
|
+
return { shape: shape.slice(), data: buf };
|
|
16
|
+
}
|
|
17
|
+
function add(a, b) {
|
|
18
|
+
if (a.data.length !== b.data.length) {
|
|
19
|
+
throw new Error(
|
|
20
|
+
`tensor-ops: add shape mismatch ${JSON.stringify(a.shape)} vs ${JSON.stringify(b.shape)}`
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
const out = new Float32Array(a.data.length);
|
|
24
|
+
for (let i = 0; i < out.length; i++) out[i] = a.data[i] + b.data[i];
|
|
25
|
+
return { shape: a.shape.slice(), data: out };
|
|
26
|
+
}
|
|
27
|
+
function matmul(a, b) {
|
|
28
|
+
if (a.shape.length !== 2 || b.shape.length !== 2) {
|
|
29
|
+
throw new Error("tensor-ops: matmul requires 2D tensors");
|
|
30
|
+
}
|
|
31
|
+
const [m, k] = a.shape;
|
|
32
|
+
const [k2, n] = b.shape;
|
|
33
|
+
if (k !== k2) {
|
|
34
|
+
throw new Error(`tensor-ops: matmul inner dim mismatch ${k} vs ${k2}`);
|
|
35
|
+
}
|
|
36
|
+
const out = new Float32Array(m * n);
|
|
37
|
+
for (let i = 0; i < m; i++) {
|
|
38
|
+
for (let j = 0; j < n; j++) {
|
|
39
|
+
let acc = 0;
|
|
40
|
+
for (let p = 0; p < k; p++) acc += a.data[i * k + p] * b.data[p * n + j];
|
|
41
|
+
out[i * n + j] = acc;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return { shape: [m, n], data: out };
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// src/traits/engines/pfnn-network.ts
|
|
48
|
+
var PHASE_CONTROL_POINTS = 4;
|
|
49
|
+
var HIDDEN_DIM = 64;
|
|
50
|
+
function mulberry32(seed) {
|
|
51
|
+
let a = seed >>> 0;
|
|
52
|
+
return () => {
|
|
53
|
+
a |= 0;
|
|
54
|
+
a = a + 1831565813 | 0;
|
|
55
|
+
let t = Math.imul(a ^ a >>> 15, 1 | a);
|
|
56
|
+
t = t + Math.imul(t ^ t >>> 7, 61 | t) ^ t;
|
|
57
|
+
return ((t ^ t >>> 14) >>> 0) / 4294967296;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function eluInPlace(data) {
|
|
61
|
+
for (let i = 0; i < data.length; i++) {
|
|
62
|
+
const x = data[i];
|
|
63
|
+
data[i] = x >= 0 ? x : Math.exp(x) - 1;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function initWeight(rng, inDim, outDim) {
|
|
67
|
+
const limit = Math.sqrt(6 / (inDim + outDim));
|
|
68
|
+
const data = new Float32Array(inDim * outDim);
|
|
69
|
+
for (let i = 0; i < data.length; i++) data[i] = (rng() * 2 - 1) * limit;
|
|
70
|
+
return { shape: [inDim, outDim], data };
|
|
71
|
+
}
|
|
72
|
+
function initBias(rng, outDim) {
|
|
73
|
+
const data = new Float32Array(outDim);
|
|
74
|
+
for (let i = 0; i < data.length; i++) data[i] = (rng() * 2 - 1) * 0.01;
|
|
75
|
+
return { shape: [1, outDim], data };
|
|
76
|
+
}
|
|
77
|
+
var PfnnNetwork = class {
|
|
78
|
+
constructor(inputDim, outputDim, seed = 2654435769, hiddenDim = HIDDEN_DIM) {
|
|
79
|
+
this.inputDim = inputDim;
|
|
80
|
+
this.outputDim = outputDim;
|
|
81
|
+
this.hiddenDim = hiddenDim;
|
|
82
|
+
const rng = mulberry32(seed);
|
|
83
|
+
this.controlPoints = [];
|
|
84
|
+
for (let c = 0; c < PHASE_CONTROL_POINTS; c++) {
|
|
85
|
+
const layers = [
|
|
86
|
+
{ weight: initWeight(rng, inputDim, hiddenDim), bias: initBias(rng, hiddenDim) },
|
|
87
|
+
{ weight: initWeight(rng, hiddenDim, hiddenDim), bias: initBias(rng, hiddenDim) },
|
|
88
|
+
{ weight: initWeight(rng, hiddenDim, outputDim), bias: initBias(rng, outputDim) }
|
|
89
|
+
];
|
|
90
|
+
this.controlPoints.push({ layers });
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Export the raw weights — used by the .onnx provisioning script so the
|
|
95
|
+
* ONNX graph carries the identical numbers. Returned arrays are copies.
|
|
96
|
+
*/
|
|
97
|
+
exportWeights() {
|
|
98
|
+
return {
|
|
99
|
+
controlPoints: this.controlPoints.map((cp) => ({
|
|
100
|
+
layers: cp.layers.map((l) => ({
|
|
101
|
+
weight: Array.from(l.weight.data),
|
|
102
|
+
bias: Array.from(l.bias.data),
|
|
103
|
+
shape: [l.weight.shape[0], l.weight.shape[1]]
|
|
104
|
+
}))
|
|
105
|
+
}))
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Cyclic cubic Catmull-Rom blend of the four control points at phase φ.
|
|
110
|
+
* Holden 2017 eq. 4: the four banks are knots on a periodic spline indexed
|
|
111
|
+
* by φ·4, and the fractional part drives a Catmull-Rom interpolation. We
|
|
112
|
+
* blend per-layer weight and bias buffers.
|
|
113
|
+
*/
|
|
114
|
+
blendLayer(layerIdx, phase) {
|
|
115
|
+
const t = (phase % 1 + 1) % 1;
|
|
116
|
+
const scaled = t * PHASE_CONTROL_POINTS;
|
|
117
|
+
const k = Math.floor(scaled);
|
|
118
|
+
const f = scaled - k;
|
|
119
|
+
const mod = (n) => (n % PHASE_CONTROL_POINTS + PHASE_CONTROL_POINTS) % PHASE_CONTROL_POINTS;
|
|
120
|
+
const p0 = this.controlPoints[mod(k - 1)].layers[layerIdx];
|
|
121
|
+
const p1 = this.controlPoints[mod(k)].layers[layerIdx];
|
|
122
|
+
const p2 = this.controlPoints[mod(k + 1)].layers[layerIdx];
|
|
123
|
+
const p3 = this.controlPoints[mod(k + 2)].layers[layerIdx];
|
|
124
|
+
const f2 = f * f;
|
|
125
|
+
const f3 = f2 * f;
|
|
126
|
+
const w0 = -0.5 * f3 + f2 - 0.5 * f;
|
|
127
|
+
const w1 = 1.5 * f3 - 2.5 * f2 + 1;
|
|
128
|
+
const w2 = -1.5 * f3 + 2 * f2 + 0.5 * f;
|
|
129
|
+
const w3 = 0.5 * f3 - 0.5 * f2;
|
|
130
|
+
const blend = (a, b, c, d) => {
|
|
131
|
+
const out = new Float32Array(a.data.length);
|
|
132
|
+
for (let i = 0; i < out.length; i++) {
|
|
133
|
+
out[i] = w0 * a.data[i] + w1 * b.data[i] + w2 * c.data[i] + w3 * d.data[i];
|
|
134
|
+
}
|
|
135
|
+
return { shape: a.shape.slice(), data: out };
|
|
136
|
+
};
|
|
137
|
+
return {
|
|
138
|
+
weight: blend(p0.weight, p1.weight, p2.weight, p3.weight),
|
|
139
|
+
bias: blend(p0.bias, p1.bias, p2.bias, p3.bias)
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Run a real forward pass. `input` is a Float32Array of length inputDim.
|
|
144
|
+
* `phase` ∈ [0,1) selects the blended weights. Returns a Float32Array of
|
|
145
|
+
* length outputDim. Pure, deterministic, no native deps.
|
|
146
|
+
*/
|
|
147
|
+
forward(input, phase) {
|
|
148
|
+
if (input.length !== this.inputDim) {
|
|
149
|
+
throw new Error(
|
|
150
|
+
`PfnnNetwork.forward: input length ${input.length} != inputDim ${this.inputDim}`
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
let x = createTensor([1, this.inputDim], input);
|
|
154
|
+
const layer0 = this.blendLayer(0, phase);
|
|
155
|
+
const layer1 = this.blendLayer(1, phase);
|
|
156
|
+
const layer2 = this.blendLayer(2, phase);
|
|
157
|
+
x = add(matmul(x, layer0.weight), layer0.bias);
|
|
158
|
+
eluInPlace(x.data);
|
|
159
|
+
x = add(matmul(x, layer1.weight), layer1.bias);
|
|
160
|
+
eluInPlace(x.data);
|
|
161
|
+
x = add(matmul(x, layer2.weight), layer2.bias);
|
|
162
|
+
return x.data;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Forward pass using ONLY control point `cp` (no phase blending). This is the
|
|
166
|
+
* exact computation the provisioned .onnx graph encodes (it bakes a single
|
|
167
|
+
* control point). Used by the pure-JS ↔ ONNX numerical-parity test to prove
|
|
168
|
+
* both paths run the identical genuine forward pass.
|
|
169
|
+
*/
|
|
170
|
+
forwardControlPoint(input, cp = 0) {
|
|
171
|
+
if (input.length !== this.inputDim) {
|
|
172
|
+
throw new Error(
|
|
173
|
+
`PfnnNetwork.forwardControlPoint: input length ${input.length} != inputDim ${this.inputDim}`
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
const layers = this.controlPoints[(cp % PHASE_CONTROL_POINTS + PHASE_CONTROL_POINTS) % PHASE_CONTROL_POINTS].layers;
|
|
177
|
+
let x = createTensor([1, this.inputDim], input);
|
|
178
|
+
x = add(matmul(x, layers[0].weight), layers[0].bias);
|
|
179
|
+
eluInPlace(x.data);
|
|
180
|
+
x = add(matmul(x, layers[1].weight), layers[1].bias);
|
|
181
|
+
eluInPlace(x.data);
|
|
182
|
+
x = add(matmul(x, layers[2].weight), layers[2].bias);
|
|
183
|
+
return x.data;
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
var BUNDLED_MODEL_SEED = 2654435769;
|
|
187
|
+
function createBundledPfnn(inputDim, outputDim) {
|
|
188
|
+
return new PfnnNetwork(inputDim, outputDim, BUNDLED_MODEL_SEED);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// src/traits/engines/onnx-adapter.ts
|
|
192
|
+
var NoOpInferenceAdapter = class {
|
|
193
|
+
constructor() {
|
|
194
|
+
this.name = "NoOpInferenceAdapter";
|
|
195
|
+
this.preferredProvider = "cpu";
|
|
196
|
+
this.loaded = false;
|
|
197
|
+
this.modelUrl = null;
|
|
198
|
+
}
|
|
199
|
+
async load(modelUrl) {
|
|
200
|
+
this.modelUrl = modelUrl;
|
|
201
|
+
this.loaded = true;
|
|
202
|
+
}
|
|
203
|
+
runSync(request) {
|
|
204
|
+
if (!this.loaded) {
|
|
205
|
+
throw new Error("NoOpInferenceAdapter: load() must be called before run()");
|
|
206
|
+
}
|
|
207
|
+
const inputNames = Object.keys(request.inputs);
|
|
208
|
+
if (inputNames.length === 0) {
|
|
209
|
+
throw new Error("NoOpInferenceAdapter: at least one input required");
|
|
210
|
+
}
|
|
211
|
+
const firstInput = request.inputs[inputNames[0]];
|
|
212
|
+
const outputNames = request.outputs && request.outputs.length > 0 ? request.outputs : ["output"];
|
|
213
|
+
const outputs = {};
|
|
214
|
+
for (const name of outputNames) {
|
|
215
|
+
outputs[name] = {
|
|
216
|
+
data: new Float32Array(firstInput.data.length),
|
|
217
|
+
shape: firstInput.shape
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
return {
|
|
221
|
+
outputs,
|
|
222
|
+
durationMs: 0,
|
|
223
|
+
providerUsed: this.preferredProvider
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
async run(request) {
|
|
227
|
+
return this.runSync(request);
|
|
228
|
+
}
|
|
229
|
+
dispose() {
|
|
230
|
+
this.loaded = false;
|
|
231
|
+
this.modelUrl = null;
|
|
232
|
+
}
|
|
233
|
+
/** Returns the URL the adapter was loaded with — diagnostic only. */
|
|
234
|
+
get loadedModelUrl() {
|
|
235
|
+
return this.modelUrl;
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
function createNoOpInferenceAdapter() {
|
|
239
|
+
return new NoOpInferenceAdapter();
|
|
240
|
+
}
|
|
241
|
+
var PureJsInferenceAdapter = class {
|
|
242
|
+
constructor(inputDim, outputDim) {
|
|
243
|
+
this.inputDim = inputDim;
|
|
244
|
+
this.outputDim = outputDim;
|
|
245
|
+
this.name = "PureJsInferenceAdapter";
|
|
246
|
+
this.preferredProvider = "cpu";
|
|
247
|
+
this.loaded = false;
|
|
248
|
+
this.net = null;
|
|
249
|
+
this.modelUrl = null;
|
|
250
|
+
}
|
|
251
|
+
async load(modelUrl) {
|
|
252
|
+
this.modelUrl = modelUrl;
|
|
253
|
+
if (this.inputDim != null && this.outputDim != null) {
|
|
254
|
+
this.net = createBundledPfnn(this.inputDim, this.outputDim);
|
|
255
|
+
}
|
|
256
|
+
this.loaded = true;
|
|
257
|
+
}
|
|
258
|
+
ensureNet(inputDim) {
|
|
259
|
+
if (this.net && this.net.inputDim === inputDim) return this.net;
|
|
260
|
+
const outDim = this.outputDim ?? MOTION_OUTPUT_DIM_DEFAULT;
|
|
261
|
+
this.net = createBundledPfnn(inputDim, outDim);
|
|
262
|
+
return this.net;
|
|
263
|
+
}
|
|
264
|
+
/** Recover the locomotion phase from the engine's phase channels. */
|
|
265
|
+
phaseFromInput(data) {
|
|
266
|
+
const n = data.length;
|
|
267
|
+
const sinP = data[n - 4] ?? 0;
|
|
268
|
+
const cosP = data[n - 3] ?? 1;
|
|
269
|
+
return (Math.atan2(sinP, cosP) / (2 * Math.PI) + 1) % 1;
|
|
270
|
+
}
|
|
271
|
+
runSync(request) {
|
|
272
|
+
if (!this.loaded) {
|
|
273
|
+
throw new Error("PureJsInferenceAdapter: load() must be called before run()");
|
|
274
|
+
}
|
|
275
|
+
const inputNames = Object.keys(request.inputs);
|
|
276
|
+
if (inputNames.length === 0) {
|
|
277
|
+
throw new Error("PureJsInferenceAdapter: at least one input required");
|
|
278
|
+
}
|
|
279
|
+
const input = request.inputs[inputNames[0]];
|
|
280
|
+
const net = this.ensureNet(input.data.length);
|
|
281
|
+
const phase = this.phaseFromInput(input.data);
|
|
282
|
+
const start = nowMs();
|
|
283
|
+
const out = net.forward(input.data, phase);
|
|
284
|
+
const durationMs = nowMs() - start;
|
|
285
|
+
const outName = request.outputs && request.outputs.length > 0 ? request.outputs[0] : "motion_output";
|
|
286
|
+
return {
|
|
287
|
+
outputs: { [outName]: { data: out, shape: [1, out.length] } },
|
|
288
|
+
durationMs,
|
|
289
|
+
providerUsed: this.preferredProvider
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
async run(request) {
|
|
293
|
+
return this.runSync(request);
|
|
294
|
+
}
|
|
295
|
+
dispose() {
|
|
296
|
+
this.loaded = false;
|
|
297
|
+
this.net = null;
|
|
298
|
+
this.modelUrl = null;
|
|
299
|
+
}
|
|
300
|
+
};
|
|
301
|
+
var MOTION_OUTPUT_DIM_DEFAULT = 50;
|
|
302
|
+
function nowMs() {
|
|
303
|
+
return typeof performance !== "undefined" && performance.now ? performance.now() : Date.now();
|
|
304
|
+
}
|
|
305
|
+
function createPureJsInferenceAdapter(inputDim, outputDim) {
|
|
306
|
+
return new PureJsInferenceAdapter(inputDim, outputDim);
|
|
307
|
+
}
|
|
308
|
+
var OnnxNodeInferenceAdapter = class {
|
|
309
|
+
constructor(preferredProvider = "cpu") {
|
|
310
|
+
this.name = "OnnxNodeInferenceAdapter";
|
|
311
|
+
this.loaded = false;
|
|
312
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
313
|
+
this.session = null;
|
|
314
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
315
|
+
this.ort = null;
|
|
316
|
+
this.resolvedPath = null;
|
|
317
|
+
this.preferredProvider = preferredProvider;
|
|
318
|
+
}
|
|
319
|
+
async load(modelUrl) {
|
|
320
|
+
const path = await resolveOnnxModelPath(modelUrl);
|
|
321
|
+
if (!path) {
|
|
322
|
+
throw new Error(
|
|
323
|
+
`OnnxNodeInferenceAdapter: no .onnx model file resolved for "${modelUrl}". Provision it with scripts/provision-motion-model.mjs or set HOLOSCRIPT_MOTION_MODELS_DIR.`
|
|
324
|
+
);
|
|
325
|
+
}
|
|
326
|
+
this.ort = await import('onnxruntime-node');
|
|
327
|
+
this.session = await this.ort.InferenceSession.create(path);
|
|
328
|
+
this.resolvedPath = path;
|
|
329
|
+
this.loaded = true;
|
|
330
|
+
}
|
|
331
|
+
async run(request) {
|
|
332
|
+
if (!this.loaded || !this.session || !this.ort) {
|
|
333
|
+
throw new Error("OnnxNodeInferenceAdapter: load() must be called before run()");
|
|
334
|
+
}
|
|
335
|
+
const inputNames = Object.keys(request.inputs);
|
|
336
|
+
if (inputNames.length === 0) {
|
|
337
|
+
throw new Error("OnnxNodeInferenceAdapter: at least one input required");
|
|
338
|
+
}
|
|
339
|
+
const feeds = {};
|
|
340
|
+
const sessionInputs = this.session.inputNames ?? [];
|
|
341
|
+
const requestEntries = Object.entries(request.inputs);
|
|
342
|
+
requestEntries.forEach(([name, tensor], i) => {
|
|
343
|
+
const target = sessionInputs[i] ?? name;
|
|
344
|
+
feeds[target] = new this.ort.Tensor("float32", tensor.data, Array.from(tensor.shape));
|
|
345
|
+
});
|
|
346
|
+
const start = nowMs();
|
|
347
|
+
const results = await this.session.run(feeds);
|
|
348
|
+
const durationMs = nowMs() - start;
|
|
349
|
+
const sessionOutputs = this.session.outputNames ?? Object.keys(results);
|
|
350
|
+
const wanted = request.outputs && request.outputs.length > 0 ? request.outputs : sessionOutputs;
|
|
351
|
+
const outputs = {};
|
|
352
|
+
wanted.forEach((name, i) => {
|
|
353
|
+
const srcName = sessionOutputs[i] ?? name;
|
|
354
|
+
const t = results[srcName] ?? results[name];
|
|
355
|
+
if (t) {
|
|
356
|
+
outputs[name] = { data: t.data, shape: t.dims.slice() };
|
|
357
|
+
}
|
|
358
|
+
});
|
|
359
|
+
return { outputs, durationMs, providerUsed: this.preferredProvider };
|
|
360
|
+
}
|
|
361
|
+
dispose() {
|
|
362
|
+
if (this.session && typeof this.session.release === "function") {
|
|
363
|
+
try {
|
|
364
|
+
void this.session.release();
|
|
365
|
+
} catch {
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
this.session = null;
|
|
369
|
+
this.ort = null;
|
|
370
|
+
this.resolvedPath = null;
|
|
371
|
+
this.loaded = false;
|
|
372
|
+
}
|
|
373
|
+
/** The on-disk path the session was created from — diagnostic only. */
|
|
374
|
+
get loadedModelPath() {
|
|
375
|
+
return this.resolvedPath;
|
|
376
|
+
}
|
|
377
|
+
};
|
|
378
|
+
function createOnnxNodeInferenceAdapter(preferredProvider = "cpu") {
|
|
379
|
+
return new OnnxNodeInferenceAdapter(preferredProvider);
|
|
380
|
+
}
|
|
381
|
+
async function resolveOnnxModelPath(modelUrl) {
|
|
382
|
+
let fs;
|
|
383
|
+
let path;
|
|
384
|
+
try {
|
|
385
|
+
fs = await import('fs');
|
|
386
|
+
path = await import('path');
|
|
387
|
+
} catch {
|
|
388
|
+
return null;
|
|
389
|
+
}
|
|
390
|
+
const exists = (p) => {
|
|
391
|
+
try {
|
|
392
|
+
return fs.existsSync(p);
|
|
393
|
+
} catch {
|
|
394
|
+
return false;
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
if (!modelUrl.startsWith("bundled://") && exists(modelUrl)) return modelUrl;
|
|
398
|
+
const id = modelUrl.startsWith("bundled://") ? modelUrl.slice("bundled://".length) : path.basename(modelUrl);
|
|
399
|
+
const fileName = id.endsWith(".onnx") ? id : `${id}.onnx`;
|
|
400
|
+
const candidates = [];
|
|
401
|
+
const envDir = process?.env?.HOLOSCRIPT_MOTION_MODELS_DIR?.trim();
|
|
402
|
+
if (envDir) candidates.push(path.join(path.resolve(envDir), fileName));
|
|
403
|
+
let dir = process?.cwd?.() ?? ".";
|
|
404
|
+
for (let i = 0; i < 8; i++) {
|
|
405
|
+
candidates.push(path.join(dir, ".models", "motion", fileName));
|
|
406
|
+
const parent = path.dirname(dir);
|
|
407
|
+
if (parent === dir) break;
|
|
408
|
+
dir = parent;
|
|
409
|
+
}
|
|
410
|
+
return candidates.find(exists) ?? null;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
export { BUNDLED_MODEL_SEED, HIDDEN_DIM, NoOpInferenceAdapter, OnnxNodeInferenceAdapter, PHASE_CONTROL_POINTS, PfnnNetwork, PureJsInferenceAdapter, add, createBundledPfnn, createNoOpInferenceAdapter, createOnnxNodeInferenceAdapter, createPureJsInferenceAdapter, createTensor, eluInPlace, matmul, resolveOnnxModelPath };
|
|
414
|
+
//# sourceMappingURL=chunk-FHP6LXJS.js.map
|
|
415
|
+
//# sourceMappingURL=chunk-FHP6LXJS.js.map
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var chunkE7JP3BS3_cjs = require('./chunk-E7JP3BS3.cjs');
|
|
4
|
+
|
|
3
5
|
// src/storage/IPFSTypes.ts
|
|
4
6
|
var IPFSUploadError = class extends Error {
|
|
5
7
|
constructor(message, provider, originalError) {
|
|
@@ -27,6 +29,7 @@ var FileSizeExceededError = class extends Error {
|
|
|
27
29
|
};
|
|
28
30
|
|
|
29
31
|
// src/storage/IPFSProviders.ts
|
|
32
|
+
chunkE7JP3BS3_cjs.init_safeJsonParse();
|
|
30
33
|
var PinataProvider = class {
|
|
31
34
|
constructor(apiKey, apiSecret) {
|
|
32
35
|
this.baseUrl = "https://api.pinata.cloud";
|
|
@@ -267,10 +270,10 @@ var InfuraProvider = class {
|
|
|
267
270
|
}
|
|
268
271
|
const text = await response.text();
|
|
269
272
|
const lines = text.trim().split("\n");
|
|
270
|
-
const lastLine =
|
|
273
|
+
const lastLine = chunkE7JP3BS3_cjs.readJson(lines[lines.length - 1]);
|
|
271
274
|
let totalSize = 0;
|
|
272
275
|
for (const line of lines) {
|
|
273
|
-
const data =
|
|
276
|
+
const data = chunkE7JP3BS3_cjs.readJson(line);
|
|
274
277
|
totalSize += data.Size || 0;
|
|
275
278
|
}
|
|
276
279
|
return {
|
|
@@ -659,5 +662,5 @@ exports.IPFSUploadError = IPFSUploadError;
|
|
|
659
662
|
exports.InfuraProvider = InfuraProvider;
|
|
660
663
|
exports.NFTStorageProvider = NFTStorageProvider;
|
|
661
664
|
exports.PinataProvider = PinataProvider;
|
|
662
|
-
//# sourceMappingURL=chunk-
|
|
663
|
-
//# sourceMappingURL=chunk-
|
|
665
|
+
//# sourceMappingURL=chunk-FJPADH77.cjs.map
|
|
666
|
+
//# sourceMappingURL=chunk-FJPADH77.cjs.map
|