@holoscript/core 8.0.8 → 8.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/holoscript.cjs +5 -1
- package/dist/GLTFPipeline-L76YTXKA.js +15 -0
- package/dist/GLTFPipeline-ZWJN7GI6.cjs +36 -0
- package/dist/HoloCompositionParser-K76KTEEE.js +12 -0
- package/dist/HoloCompositionParser-UZH6Y4HO.cjs +45 -0
- package/dist/HoloScriptCodeParser-2D4ERFUZ.js +6 -0
- package/dist/HoloScriptCodeParser-UDRLDA7I.cjs +23 -0
- package/dist/HoloScriptPlusParser-FTMCGWXD.js +13 -0
- package/dist/HoloScriptPlusParser-LQR5GIKF.cjs +30 -0
- package/dist/HoloScriptRuntime-UTRLJI5L.js +12 -0
- package/dist/HoloScriptRuntime-YBYXJHJN.cjs +21 -0
- package/dist/SceneIRCompiler-63KA3M2F.js +17 -0
- package/dist/SceneIRCompiler-KWUFHZ4O.cjs +42 -0
- package/dist/{USDZExporter-AUHZODOF.cjs → USDZExporter-ML4UMIGC.cjs} +3 -3
- package/dist/{USDZExporter-GXB4AUSG.js → USDZExporter-ZFKLQ76G.js} +3 -3
- package/dist/agents/index.cjs +1 -1
- package/dist/agents/index.js +1 -1
- package/dist/audit/AuditLogger.d.ts +106 -0
- package/dist/audit/AuditQueryBuilder.d.ts +79 -0
- package/dist/audit/ComplianceReporter.d.ts +90 -0
- package/dist/audit/index.d.ts +13 -0
- package/dist/{chunk-FGMDMJM7.js → chunk-2BYAUHBO.js} +3 -3
- package/dist/{chunk-EDPYCLRC.cjs → chunk-2E6PP5UE.cjs} +83 -59
- package/dist/{chunk-GASCWJK5.js → chunk-2EGGAZT3.js} +65 -287
- package/dist/{chunk-SIEXCILW.js → chunk-2I3XAGMF.js} +3 -3
- package/dist/{chunk-OS533P33.cjs → chunk-2KKOYZYI.cjs} +1074 -1655
- package/dist/chunk-2MQKNDNH.js +51 -0
- package/dist/{chunk-7DMMMBCY.cjs → chunk-2X3IPCBK.cjs} +10 -10
- package/dist/chunk-2ZOTBO25.cjs +202 -0
- package/dist/chunk-356N4NPM.cjs +152 -0
- package/dist/{chunk-X3GJPRVK.cjs → chunk-36NPLOI4.cjs} +92 -81
- package/dist/{chunk-SLU6UPJI.cjs → chunk-37HHY7RH.cjs} +5 -5
- package/dist/{chunk-YDPEHCCI.cjs → chunk-3CDDRUER.cjs} +3 -118
- package/dist/chunk-3F7ZZWIN.js +1651 -0
- package/dist/chunk-3ILD7TKP.cjs +187 -0
- package/dist/{chunk-X27QRG4C.cjs → chunk-3IUHTGDD.cjs} +153 -41
- package/dist/{chunk-PXNZ6TME.js → chunk-4376VHNJ.js} +60 -36
- package/dist/{chunk-YKGPCZEE.cjs → chunk-4FIBOJW6.cjs} +10 -10
- package/dist/chunk-4Q7RKQQI.cjs +14195 -0
- package/dist/{chunk-YCM6QQRT.cjs → chunk-566ZB4LZ.cjs} +180 -8
- package/dist/{chunk-2Y3V22SG.js → chunk-5CURIYGT.js} +3 -3
- package/dist/{chunk-QBWNJXNR.js → chunk-5FYMCVBY.js} +5 -5
- package/dist/{chunk-ZA34AN3R.js → chunk-5LVFTGKH.js} +841 -12
- package/dist/chunk-63AUAIL6.js +48 -0
- package/dist/chunk-655FATJU.js +110 -0
- package/dist/{chunk-TQ377OLB.cjs → chunk-65S62L4D.cjs} +28 -22
- package/dist/chunk-6NTAZN5Z.cjs +502 -0
- package/dist/chunk-6TRX6AR2.js +9376 -0
- package/dist/chunk-6ZCCLKS2.cjs +51 -0
- package/dist/{chunk-MDR235RZ.js → chunk-734OB5SK.js} +721 -8
- package/dist/{chunk-Q2Q34NF3.js → chunk-77QI552M.js} +6 -6
- package/dist/{chunk-WKX5AMOY.js → chunk-7I74JWPW.js} +3 -3
- package/dist/{chunk-5FSKKMR7.cjs → chunk-7IDJDMPU.cjs} +232 -4
- package/dist/chunk-7VBKRGIZ.cjs +847 -0
- package/dist/{chunk-KCPHASCO.js → chunk-AATYYLYK.js} +5 -5
- package/dist/{chunk-WFKVS2K4.cjs → chunk-AUZRKIHQ.cjs} +1101 -55
- package/dist/{chunk-DTGBOSEM.cjs → chunk-AWXFEAQL.cjs} +12 -12
- package/dist/{chunk-THCK6ECW.js → chunk-B3CWTCK2.js} +231 -3
- package/dist/chunk-BCP4E7MD.cjs +997 -0
- package/dist/chunk-BG7RPYJP.js +91 -0
- package/dist/{chunk-VF257YKO.js → chunk-BP4KTMLY.js} +117 -5
- package/dist/{chunk-YN6IETRZ.js → chunk-BQJ3YBF3.js} +6424 -987
- package/dist/{chunk-KOUAQL2B.cjs → chunk-CANAL6CT.cjs} +1569 -168
- package/dist/{chunk-FDSGHPAK.js → chunk-CBSDJF3B.js} +3 -3
- package/dist/{chunk-FEWUHQNM.cjs → chunk-CFVK26P4.cjs} +4 -4
- package/dist/{chunk-M7K4LE66.cjs → chunk-CI33NINL.cjs} +4 -4
- package/dist/{chunk-2OWDB4FB.js → chunk-CKV5NYAE.js} +6 -6
- package/dist/{chunk-LPS5AMQD.cjs → chunk-CM4NHXVO.cjs} +24 -24
- package/dist/chunk-D3HSRXYB.js +115 -0
- package/dist/{chunk-FNHJRI32.js → chunk-DBH3D2MU.js} +1561 -160
- package/dist/{chunk-GW3LKD5C.js → chunk-DJNH4HFW.js} +3 -3
- package/dist/{chunk-2GCNOI2U.cjs → chunk-DN6F4DHH.cjs} +9 -3
- package/dist/chunk-DQRJ5RJG.js +432 -0
- package/dist/{chunk-C7ZBSV2Q.js → chunk-DUG3OQAS.js} +106 -43
- package/dist/chunk-ECUYJOJ2.cjs +199 -0
- package/dist/chunk-EEMTCAK7.js +182 -0
- package/dist/{chunk-3SKLAUDD.cjs → chunk-EI3J6LTW.cjs} +359 -581
- package/dist/{chunk-SSSN7VAM.js → chunk-EM2OGPYE.js} +4 -4
- package/dist/{chunk-56VOWURB.cjs → chunk-ENZCIQZC.cjs} +522 -453
- package/dist/chunk-ESBXUYOC.cjs +836 -0
- package/dist/{chunk-L5U4W6JC.js → chunk-ESSEF6U2.js} +4 -4
- package/dist/chunk-ET3AN4W3.js +824 -0
- package/dist/chunk-EXKSFGSX.cjs +14 -14
- package/dist/{chunk-I76GIKN7.cjs → chunk-F3YT6GUF.cjs} +17 -17
- package/dist/{chunk-WRWEX5ZF.js → chunk-F75DZBBI.js} +3 -3
- package/dist/{chunk-4JGRWHZJ.js → chunk-FG6PYGIZ.js} +12 -6
- package/dist/chunk-FGGJQRLZ.js +14 -14
- package/dist/{chunk-SXOSDZD6.js → chunk-FWCHPCD4.js} +128 -10
- package/dist/{chunk-XW6IXEQH.cjs → chunk-G35CAQ7I.cjs} +5 -5
- package/dist/{chunk-7VMGP2FW.js → chunk-G6KACNMO.js} +132 -188
- package/dist/{chunk-FJPADH77.cjs → chunk-GAWJJAGT.cjs} +6 -6
- package/dist/chunk-GGR7QUKK.cjs +4724 -0
- package/dist/chunk-GIBF4BHH.js +14098 -0
- package/dist/{chunk-AWB7QYY6.cjs → chunk-GILYQ5VH.cjs} +6 -6
- package/dist/{chunk-FWVYAMNW.cjs → chunk-GKFCHGCM.cjs} +4 -4
- package/dist/{chunk-Y3ZFVUUU.js → chunk-GLEJ2TLS.js} +3 -3
- package/dist/{chunk-3GWWJT7L.js → chunk-GP3OKSKT.js} +13 -13
- package/dist/chunk-GTIPOEHN.js +196 -0
- package/dist/{chunk-LMJ5EBV7.cjs → chunk-GZPUA2TL.cjs} +16 -15
- package/dist/{chunk-IELX2OKI.js → chunk-H4LJ4HEA.js} +3 -115
- package/dist/{chunk-ACVWFGBI.cjs → chunk-HCX4SMFK.cjs} +3 -3
- package/dist/{chunk-HYNTS5CP.js → chunk-HHRZ6STP.js} +24 -2
- package/dist/chunk-HIDEIEFG.js +48 -0
- package/dist/{chunk-W6RW64BB.cjs → chunk-HSWBIDZM.cjs} +228 -5
- package/dist/{chunk-GSOUNWEL.js → chunk-HVX7QQYK.js} +1035 -1616
- package/dist/{chunk-TRCGG42I.cjs → chunk-IFW5IW4L.cjs} +6502 -1019
- package/dist/{chunk-F5LKJ6F5.cjs → chunk-IJU6AS67.cjs} +32 -28
- package/dist/{chunk-TVANHNJ7.js → chunk-IK6Z2HNC.js} +173 -3
- package/dist/{chunk-QGMUTVVH.cjs → chunk-IS7NTKY5.cjs} +20 -20
- package/dist/{chunk-YFVQWSNJ.js → chunk-IXWGYWH6.js} +3 -3
- package/dist/chunk-J2DAS2PL.js +148 -0
- package/dist/chunk-JBQXZIWB.js +148 -0
- package/dist/chunk-JBYBMBMW.js +261 -0
- package/dist/{chunk-LWUOUCYL.js → chunk-JEJ7TT54.js} +5 -5
- package/dist/{chunk-DUCB6LGL.js → chunk-JOTCTHN5.js} +211 -5
- package/dist/{chunk-47RUFYKR.js → chunk-K56UVEXV.js} +3 -3
- package/dist/{chunk-XSFNHP2E.js → chunk-KB26H447.js} +3 -3
- package/dist/{chunk-3NGDZZR4.js → chunk-KEYG7HGY.js} +430 -37
- package/dist/{chunk-DY72BMU5.js → chunk-KFVNCW4Q.js} +4 -4
- package/dist/chunk-KPGC7SK2.js +192 -0
- package/dist/chunk-KROXXBK5.cjs +53 -0
- package/dist/{chunk-ZPZAVHXL.cjs → chunk-LB3ZZMKT.cjs} +137 -19
- package/dist/chunk-LDYZWNJW.cjs +1654 -0
- package/dist/{chunk-ULMSSHCJ.cjs → chunk-LMB555QB.cjs} +405 -38
- package/dist/{chunk-CBJY23VL.js → chunk-MD4IVS42.js} +3 -3
- package/dist/{chunk-VMLKSV26.js → chunk-MDDWEBCX.js} +226 -3
- package/dist/chunk-MUWH4QK5.cjs +94 -0
- package/dist/{chunk-T6W3Z3SH.cjs → chunk-N2ILK7BF.cjs} +4 -4
- package/dist/{chunk-6EX3I5P4.cjs → chunk-N74QRJGP.cjs} +6 -6
- package/dist/chunk-NFFHLX37.cjs +132 -0
- package/dist/chunk-NJSYWX7H.js +190 -0
- package/dist/{chunk-SH5PPVK7.cjs → chunk-NQN5LFN4.cjs} +165 -221
- package/dist/chunk-NTQRFOPP.cjs +56 -0
- package/dist/{chunk-YFWRJW4B.js → chunk-NWMJPTVL.js} +51 -55
- package/dist/{chunk-63ZGNR2T.cjs → chunk-OC6GV5QH.cjs} +42 -42
- package/dist/{chunk-7E7GCQCK.js → chunk-OG3MBHM3.js} +9 -3
- package/dist/chunk-OMNHTCS4.cjs +264 -0
- package/dist/chunk-OQXB6NNC.cjs +117 -0
- package/dist/{chunk-Y57W2CT5.cjs → chunk-OV46CCA2.cjs} +51 -55
- package/dist/{chunk-6PRZIHGL.cjs → chunk-OV6HHKLE.cjs} +21 -266
- package/dist/{chunk-C37BHB7N.cjs → chunk-P26YYPOO.cjs} +5 -5
- package/dist/{chunk-2BZHWUSR.cjs → chunk-P7JEKJTZ.cjs} +16 -16
- package/dist/{chunk-NGBXXZLL.cjs → chunk-PDXX5UI4.cjs} +45 -45
- package/dist/{chunk-FHQFPYV4.js → chunk-PJFTTSKE.js} +8 -7
- package/dist/{chunk-GVFJ6T4S.cjs → chunk-PVODJEJ7.cjs} +721 -8
- package/dist/{chunk-ZZ7RO2UQ.js → chunk-Q265VZJ4.js} +3 -3
- package/dist/{chunk-E7JP3BS3.cjs → chunk-Q47JEE2C.cjs} +4 -4
- package/dist/chunk-QBY7LRN2.js +281 -0
- package/dist/{chunk-Z6PMDS4G.js → chunk-QDQWKSU3.js} +1090 -53
- package/dist/{chunk-GH6C2QGW.cjs → chunk-QEDMOGF3.cjs} +857 -16
- package/dist/{chunk-5WUNN6ZN.cjs → chunk-QHSAVOOL.cjs} +24 -2
- package/dist/chunk-QJNCDVYM.cjs +137 -0
- package/dist/chunk-QM7FJB5W.js +4717 -0
- package/dist/chunk-QQFB4RT2.cjs +448 -0
- package/dist/chunk-QSYBHQAD.cjs +196 -0
- package/dist/{chunk-UGXHYIWT.cjs → chunk-QUJ3ZB55.cjs} +28 -28
- package/dist/{chunk-2YSNA2F2.cjs → chunk-QVJMDVYZ.cjs} +5 -5
- package/dist/chunk-RAJMAX6D.js +131 -0
- package/dist/{chunk-VVKVQZI6.js → chunk-RAN3ECAS.js} +3 -3
- package/dist/chunk-RKGUZBOC.js +79 -0
- package/dist/{chunk-HLFDZ35S.cjs → chunk-RRQIAJLQ.cjs} +8 -8
- package/dist/{chunk-PABONWKI.js → chunk-RXQNRZ5F.js} +3 -3
- package/dist/{chunk-7ZHYEITD.cjs → chunk-S4O7CFHQ.cjs} +10 -11
- package/dist/chunk-SE7ANBGN.js +128 -0
- package/dist/{chunk-X2AVEAZM.cjs → chunk-SJIRCTIS.cjs} +176 -2
- package/dist/{chunk-WXQ57LAO.js → chunk-SQXAZHDG.js} +4 -4
- package/dist/chunk-SR73L5ZP.cjs +84 -0
- package/dist/{chunk-OABEO6HH.js → chunk-SZOLTWWD.js} +2349 -214
- package/dist/{chunk-5JEU52DW.js → chunk-TPZ3BN2D.js} +3 -3
- package/dist/{chunk-QFU53KRH.js → chunk-TSTFYGGX.js} +4 -5
- package/dist/{chunk-EBS32AJI.cjs → chunk-TZCFKZ6Z.cjs} +5 -5
- package/dist/chunk-UCVZXQ63.js +724 -0
- package/dist/chunk-UGQ3QNV6.js +992 -0
- package/dist/chunk-UNMVGZVW.js +142 -0
- package/dist/{chunk-TEVX443G.js → chunk-UTUD6GJI.js} +178 -6
- package/dist/chunk-UXBYA7DV.cjs +155 -0
- package/dist/chunk-V6GXFSK7.cjs +443 -0
- package/dist/chunk-VHORVGCG.cjs +761 -0
- package/dist/{chunk-B4EKV6HQ.js → chunk-VKCTYLDN.js} +500 -442
- package/dist/{chunk-O3MGZDCT.cjs → chunk-VTEXJOSD.cjs} +63 -63
- package/dist/chunk-VVAAZITA.cjs +287 -0
- package/dist/{chunk-V7AKE5VT.cjs → chunk-W2GA3EQB.cjs} +435 -42
- package/dist/chunk-W4GABFCR.js +37 -0
- package/dist/chunk-WKEK4NCA.js +490 -0
- package/dist/{chunk-5A4TCHOC.cjs → chunk-WNYXT4TE.cjs} +4 -4
- package/dist/{chunk-S762UEV5.js → chunk-WTH23ISI.js} +6 -6
- package/dist/{chunk-BTKZGHAV.js → chunk-WWNCM473.js} +10 -6
- package/dist/{chunk-7X5PNIQJ.js → chunk-X3YFRH6K.js} +27 -25
- package/dist/{chunk-4YNYPHH3.cjs → chunk-X75H75UY.cjs} +2351 -213
- package/dist/{chunk-LYJJI7ZK.cjs → chunk-XCUDDFKC.cjs} +216 -9
- package/dist/chunk-YAO4HPJL.cjs +120 -0
- package/dist/chunk-YKY2JBER.cjs +9443 -0
- package/dist/chunk-YP5CHEYU.cjs +154 -0
- package/dist/{chunk-WRNEH5MO.js → chunk-YW3I2FQL.js} +18 -7
- package/dist/{chunk-BRNUPDHJ.js → chunk-Z557DVYN.js} +386 -19
- package/dist/{chunk-VSACG2AR.js → chunk-Z6LZUYZF.js} +21 -264
- package/dist/chunk-ZHPMP447.cjs +43 -0
- package/dist/{chunk-LODTHGST.cjs → chunk-ZK7KX5CD.cjs} +133 -70
- package/dist/{chunk-CCPSNT6B.cjs → chunk-ZRPALBQB.cjs} +5 -5
- package/dist/chunk-ZVFHPMC5.js +824 -0
- package/dist/chunk-ZVQMKUGJ.js +443 -0
- package/dist/cli/holoscript-runner.cjs +86 -48
- package/dist/cli/holoscript-runner.js +54 -16
- package/dist/codebase/index.cjs +1 -1
- package/dist/codebase/index.js +1 -1
- package/dist/compiler/agent-inference.cjs +11 -11
- package/dist/compiler/agent-inference.js +9 -6
- package/dist/compiler/android-xr.cjs +13 -12
- package/dist/compiler/android-xr.js +11 -10
- package/dist/compiler/android.cjs +12 -12
- package/dist/compiler/android.js +10 -10
- package/dist/compiler/business-quest.cjs +10 -10
- package/dist/compiler/business-quest.js +2 -2
- package/dist/compiler/coco.cjs +1 -1
- package/dist/compiler/coco.js +1 -1
- package/dist/compiler/context.cjs +9 -9
- package/dist/compiler/context.js +6 -6
- package/dist/compiler/daimon-seed.cjs +36 -0
- package/dist/compiler/daimon-seed.js +12 -0
- package/dist/compiler/domain-block-utils.cjs +205 -156
- package/dist/compiler/domain-block-utils.js +8 -7
- package/dist/compiler/dtdl.cjs +10 -10
- package/dist/compiler/dtdl.js +7 -7
- package/dist/compiler/gltf-pipeline.cjs +9 -9
- package/dist/compiler/gltf-pipeline.js +2 -2
- package/dist/compiler/godot.cjs +10 -9
- package/dist/compiler/godot.js +9 -8
- package/dist/compiler/incremental.cjs +11 -11
- package/dist/compiler/incremental.js +6 -6
- package/dist/compiler/index.cjs +2585 -3273
- package/dist/compiler/index.d.ts +149 -35
- package/dist/compiler/index.js +2197 -3102
- package/dist/compiler/ios.cjs +11 -11
- package/dist/compiler/ios.js +9 -9
- package/dist/compiler/llm-provider-capabilities.cjs +9 -9
- package/dist/compiler/llm-provider-capabilities.js +6 -6
- package/dist/compiler/nodetoy.cjs +1 -1
- package/dist/compiler/nodetoy.js +1 -1
- package/dist/compiler/openxr.cjs +11 -10
- package/dist/compiler/openxr.js +10 -9
- 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 +11 -10
- package/dist/compiler/sdf.js +9 -8
- package/dist/compiler/semantic-scene.cjs +7 -7
- package/dist/compiler/semantic-scene.js +2 -2
- package/dist/compiler/state.cjs +9 -9
- package/dist/compiler/state.js +7 -7
- package/dist/compiler/trait-composition.cjs +11 -11
- package/dist/compiler/trait-composition.js +7 -7
- package/dist/compiler/traits/ProvenanceSemiring.d.ts +167 -0
- package/dist/compiler/traits/Semiring.d.ts +26 -0
- package/dist/compiler/unity.cjs +11 -10
- package/dist/compiler/unity.js +10 -9
- package/dist/compiler/unreal.cjs +12 -11
- package/dist/compiler/unreal.js +10 -9
- package/dist/compiler/urdf.cjs +18 -17
- package/dist/compiler/urdf.js +9 -8
- package/dist/compiler/usd-physics.cjs +11 -10
- package/dist/compiler/usd-physics.js +8 -7
- package/dist/compiler/visionos.cjs +11 -10
- package/dist/compiler/visionos.js +10 -9
- package/dist/compiler/vrchat.cjs +11 -10
- package/dist/compiler/vrchat.js +9 -8
- package/dist/compiler/wasm.cjs +14 -13
- package/dist/compiler/wasm.js +9 -8
- package/dist/compiler/webgpu.cjs +10 -9
- package/dist/compiler/webgpu.js +9 -8
- package/dist/constants.cjs +398 -0
- package/dist/constants.js +9 -0
- package/dist/coordinators/index.cjs +4 -1
- package/dist/coordinators/index.js +4 -1
- package/dist/debugger.cjs +11 -9
- package/dist/debugger.js +9 -7
- package/dist/{dist-ACXG6IH5.cjs → dist-GRMOP2UL.cjs} +341 -65
- package/dist/{dist-VD4L6V7Q.js → dist-ZBUKU2JG.js} +333 -63
- package/dist/entries/interop.cjs +23 -23
- package/dist/entries/interop.js +3 -3
- package/dist/entries/scripting.cjs +12 -11
- package/dist/entries/scripting.js +8 -7
- package/dist/evolution/index.cjs +66 -0
- package/dist/evolution/index.d.ts +162 -0
- package/dist/evolution/index.js +17 -0
- package/dist/hololand/index.cjs +41 -37
- package/dist/hololand/index.js +3 -3
- package/dist/index.cjs +12394 -3224
- package/dist/index.d.ts +260 -18
- package/dist/index.js +10755 -2182
- package/dist/keyword-registry/PluginKeywordRegistry.d.ts +138 -0
- package/dist/keyword-registry/index.cjs +29 -0
- package/dist/keyword-registry/index.d.ts +1 -0
- package/dist/keyword-registry/index.js +4 -0
- package/dist/math/tropical-spmv.cjs +11 -11
- package/dist/math/tropical-spmv.d.ts +1 -0
- package/dist/math/tropical-spmv.js +2 -2
- package/dist/math/tropicalSpmv.d.ts +43 -0
- package/dist/math/vec3.cjs +1 -1
- package/dist/math/vec3.js +1 -1
- package/dist/matter/StagedMatter.d.ts +82 -0
- package/dist/matter/index.cjs +17 -0
- package/dist/matter/index.d.ts +1 -0
- package/dist/matter/index.js +4 -0
- package/dist/{ml-dsa-Z7JDKW4L.js → ml-dsa-J6VKVT4K.js} +3 -3
- package/dist/{ml-dsa-FSKBTE3W.cjs → ml-dsa-MTIK4ZUQ.cjs} +23 -23
- package/dist/paper-0c-spike/index.cjs +1 -1
- package/dist/paper-0c-spike/index.js +1 -1
- package/dist/parameter-envelope/ParameterEnvelope.d.ts +128 -0
- package/dist/parameter-envelope/index.cjs +17 -0
- package/dist/parameter-envelope/index.d.ts +2 -0
- package/dist/parameter-envelope/index.js +4 -0
- package/dist/parser/HoloCompositionTypes.d.ts +2013 -0
- package/dist/parser/PipelineParser.d.ts +162 -0
- package/dist/parser.cjs +36 -20
- package/dist/parser.js +13 -9
- package/dist/plugin-manifest/ManifestAutoLoader.d.ts +35 -0
- package/dist/plugin-manifest/PluginManifest.d.ts +156 -0
- package/dist/plugin-manifest/index.cjs +25 -0
- package/dist/plugin-manifest/index.d.ts +2 -0
- package/dist/plugin-manifest/index.js +4 -0
- package/dist/plugin-solver-contract/PluginSolverContract.d.ts +288 -0
- package/dist/plugin-solver-contract/index.cjs +41 -0
- package/dist/plugin-solver-contract/index.d.ts +1 -0
- package/dist/plugin-solver-contract/index.js +4 -0
- package/dist/policy/ContentPolicyGate.d.ts +51 -0
- package/dist/policy/PolicyPack.d.ts +120 -0
- package/dist/policy/blocklist.d.ts +32 -0
- package/dist/policy/defaults.d.ts +44 -0
- package/dist/policy/index.cjs +106 -0
- package/dist/policy/index.d.ts +17 -0
- package/dist/policy/index.js +5 -0
- package/dist/policy/jsonLogic.d.ts +31 -0
- package/dist/policy/types.d.ts +174 -0
- package/dist/proof-composition/ProofCompositionLaw.d.ts +93 -0
- package/dist/proof-composition/index.cjs +25 -0
- package/dist/proof-composition/index.d.ts +1 -0
- package/dist/proof-composition/index.js +4 -0
- package/dist/receipts/hash-policy.d.ts +85 -0
- package/dist/reconstruction/index.cjs +75 -47
- package/dist/reconstruction/index.js +5 -5
- package/dist/runtime/plugin-trait-registrar.d.ts +36 -0
- package/dist/runtime.cjs +81 -79
- package/dist/runtime.js +9 -7
- package/dist/scene-presets-EDKYZ5GW.js +4 -0
- package/dist/scene-presets-NCW2CFRS.cjs +17 -0
- package/dist/self-improvement/index.cjs +1 -1
- package/dist/self-improvement/index.js +1 -1
- package/dist/{src-PT2FERDV.cjs → src-G3D7ZATQ.cjs} +545 -21
- package/dist/{src-J6CM4AUR.js → src-UXYA7HM6.js} +539 -16
- package/dist/storage/index.cjs +10 -10
- package/dist/storage/index.js +3 -3
- package/dist/testing.cjs +1 -1
- package/dist/testing.js +1 -1
- package/dist/tools/index.cjs +3631 -0
- package/dist/tools/index.js +3581 -0
- package/dist/traitDocs/traitDocs.cjs +9 -9
- package/dist/traitDocs/traitDocs.d.ts +1 -0
- package/dist/traitDocs/traitDocs.js +3 -3
- package/dist/traits/ControlLoopTrait.d.ts +154 -0
- package/dist/traits/KinematicChainTrait.d.ts +116 -0
- package/dist/traits/SensorSamplingTrait.d.ts +154 -0
- package/dist/traits/TraitTypes.d.ts +270 -0
- package/dist/traits/TransactionTrait.d.ts +121 -0
- package/dist/traits/botanical-lotus.cjs +54 -50
- package/dist/traits/botanical-lotus.js +2 -5
- package/dist/traits/control-loop.cjs +21 -0
- package/dist/traits/control-loop.d.ts +1 -0
- package/dist/traits/control-loop.js +4 -0
- package/dist/traits/engines/cloth-verlet.d.ts +65 -0
- package/dist/traits/engines/index.cjs +19 -19
- package/dist/traits/engines/index.d.ts +15 -275
- package/dist/traits/engines/index.js +3 -3
- package/dist/traits/engines/motion-data-schema.d.ts +119 -0
- package/dist/traits/engines/motion-matching.d.ts +102 -0
- package/dist/traits/engines/noise.d.ts +25 -0
- package/dist/traits/engines/onnx-adapter.d.ts +173 -0
- package/dist/traits/engines/onnx-motion-matching.d.ts +163 -0
- package/dist/traits/engines/pfnn-network.d.ts +92 -0
- package/dist/traits/engines/synthetic-walk-cycle.d.ts +38 -0
- package/dist/traits/engines/tensor-ops.d.ts +15 -0
- package/dist/traits/index.cjs +2789 -1259
- package/dist/traits/index.d.ts +35 -0
- package/dist/traits/index.js +1692 -411
- package/dist/traits/kinematic-chain.cjs +25 -0
- package/dist/traits/kinematic-chain.d.ts +1 -0
- package/dist/traits/kinematic-chain.js +4 -0
- package/dist/traits/sensor-sampling.cjs +33 -0
- package/dist/traits/sensor-sampling.d.ts +1 -0
- package/dist/traits/sensor-sampling.js +4 -0
- package/dist/traits/simulation-solver-factory.cjs +1 -1
- package/dist/traits/simulation-solver-factory.js +1 -1
- package/dist/traits/transaction.cjs +29 -0
- package/dist/traits/transaction.d.ts +1 -0
- package/dist/traits/transaction.js +4 -0
- package/dist/traits/webcam-gaze.cjs +1 -1
- package/dist/traits/webcam-gaze.js +1 -1
- package/dist/type-checker.cjs +7 -6
- package/dist/type-checker.js +5 -4
- package/dist/types/AdvancedTypeSystem.d.ts +489 -0
- package/dist/types/HoloScriptPlus.d.ts +810 -0
- package/dist/types/base.d.ts +248 -0
- package/dist/types.d.ts +799 -0
- package/dist/world/index.cjs +3 -4
- package/dist/world/index.js +3 -4
- package/dist/world-model/index.cjs +1 -1
- package/dist/world-model/index.js +1 -1
- package/dist/wot/index.cjs +1 -1
- package/dist/wot/index.js +1 -1
- package/package.json +113 -46
- package/dist/GLTFPipeline-3EJLL3TS.cjs +0 -38
- package/dist/GLTFPipeline-3OWJV2VK.js +0 -17
- package/dist/HoloScriptPlusParser-ADWRY5OS.cjs +0 -698
- package/dist/HoloScriptPlusParser-JLJDXHSC.js +0 -693
- package/dist/HoloScriptPlusParser-QCGFPWIL.cjs +0 -27
- package/dist/HoloScriptPlusParser-WENAFEFV.js +0 -10
- package/dist/HoloScriptRuntime-GGRVEU4T.cjs +0 -19
- package/dist/HoloScriptRuntime-GJK6VJPH.js +0 -10
- package/dist/chunk-22Q5A6RV.js +0 -979
- package/dist/chunk-4C57PR42.js +0 -468
- package/dist/chunk-4W5G5QVL.cjs +0 -847
- package/dist/chunk-5ET6L4NS.js +0 -487
- package/dist/chunk-C4GSLCHE.cjs +0 -7153
- package/dist/chunk-F2G6CWFT.js +0 -7089
- package/dist/chunk-G6PNEASF.cjs +0 -814
- package/dist/chunk-GTA4Q3A3.js +0 -1491
- package/dist/chunk-HCCQLAA4.cjs +0 -74
- package/dist/chunk-HFSVMKM3.cjs +0 -72
- package/dist/chunk-KAIVDEIG.cjs +0 -4539
- package/dist/chunk-KQU64CIX.cjs +0 -1508
- package/dist/chunk-MSYSQ2AJ.js +0 -4533
- package/dist/chunk-NHJLP37F.js +0 -70
- package/dist/chunk-NHYRRAGI.cjs +0 -490
- package/dist/chunk-OIQYIIO3.cjs +0 -473
- package/dist/chunk-OL46QLBJ.js +0 -61
- package/dist/chunk-SKZPC5AG.cjs +0 -984
- package/dist/chunk-SLHLXUMO.js +0 -445
- package/dist/chunk-UOIGFQXC.cjs +0 -9750
- package/dist/chunk-UOL6Y5TD.cjs +0 -759
- package/dist/chunk-UVFI7XIR.cjs +0 -452
- package/dist/chunk-VEPGBETF.js +0 -844
- package/dist/chunk-XQ5MWMP2.js +0 -756
- package/dist/chunk-XT6JY5W5.js +0 -9684
- package/dist/chunk-YRRAUB35.js +0 -811
- package/dist/compiler/GasOptimizationAnalyzer.d.ts +0 -73
- package/dist/compiler/NFTMarketplaceCompiler.d.ts +0 -23
- package/dist/compiler/ar.cjs +0 -23
- package/dist/compiler/ar.js +0 -11
- package/dist/compiler/babylon.cjs +0 -21
- package/dist/compiler/babylon.js +0 -15
- package/dist/compiler/multi-layer.cjs +0 -24
- package/dist/compiler/multi-layer.js +0 -15
- package/dist/compiler/playcanvas.cjs +0 -19
- package/dist/compiler/playcanvas.js +0 -13
- package/dist/compiler/r3f.cjs +0 -39
- package/dist/compiler/r3f.d.ts +0 -22
- package/dist/compiler/r3f.js +0 -17
- package/dist/compiler/vrr.cjs +0 -24
- package/dist/compiler/vrr.js +0 -12
- package/dist/parser/NFTMarketplaceTypes.d.ts +0 -191
- package/dist/playwright-3AT3AKTV.cjs +0 -98673
- package/dist/playwright-VZPDVUEQ.js +0 -98660
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkZHPMP447_cjs = require('./chunk-ZHPMP447.cjs');
|
|
4
4
|
|
|
5
5
|
// ../snn-webgpu/dist/index.js
|
|
6
|
-
var __require2 = /* @__PURE__ */ ((x) => typeof
|
|
7
|
-
get: (a, b) => (typeof
|
|
6
|
+
var __require2 = /* @__PURE__ */ ((x) => typeof chunkZHPMP447_cjs.__require !== "undefined" ? chunkZHPMP447_cjs.__require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
7
|
+
get: (a, b) => (typeof chunkZHPMP447_cjs.__require !== "undefined" ? chunkZHPMP447_cjs.__require : a)[b]
|
|
8
8
|
}) : x)(function(x) {
|
|
9
|
-
if (typeof
|
|
9
|
+
if (typeof chunkZHPMP447_cjs.__require !== "undefined") return chunkZHPMP447_cjs.__require.apply(this, arguments);
|
|
10
10
|
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
11
11
|
});
|
|
12
12
|
var _bootstrapAttempted = false;
|
|
@@ -1173,26 +1173,57 @@ function extractBotanicalMaterialFromPhotoFixtures(input) {
|
|
|
1173
1173
|
const shadowLuma = luminance(petalShadow);
|
|
1174
1174
|
const petalSat = saturation(petalMid);
|
|
1175
1175
|
const petalContrast = colorDistance(petalRim, petalShadow);
|
|
1176
|
-
const veinContrast = Math.max(
|
|
1176
|
+
const veinContrast = Math.max(
|
|
1177
|
+
colorDistance(vein, petalMid),
|
|
1178
|
+
Math.abs(luminance(vein) - petalLuma)
|
|
1179
|
+
);
|
|
1177
1180
|
const silhouetteContrast = colorDistance(silhouetteEdge, petalBase);
|
|
1178
1181
|
const coverage = regionCoverage(input.fixtures);
|
|
1179
1182
|
const provConfidence = provenanceConfidence(input.anchors);
|
|
1180
1183
|
const subsurfaceScattering = round(
|
|
1181
|
-
clamp(
|
|
1184
|
+
clamp(
|
|
1185
|
+
0.48 + petalSat * 0.18 + Math.max(0, edgeLuma - shadowLuma) * 0.2 + coverage * 0.09,
|
|
1186
|
+
0.28,
|
|
1187
|
+
0.92
|
|
1188
|
+
)
|
|
1189
|
+
);
|
|
1190
|
+
const translucencyBase = round(
|
|
1191
|
+
clamp(0.34 + luminance(petalBase) * 0.28 + coverage * 0.08, 0.2, 0.82)
|
|
1192
|
+
);
|
|
1193
|
+
const translucencyEdge = round(
|
|
1194
|
+
clamp(translucencyBase * (0.48 + petalContrast * 0.34), 0.14, 0.72)
|
|
1195
|
+
);
|
|
1196
|
+
const translucencyTip = round(
|
|
1197
|
+
clamp(translucencyEdge + Math.max(0, edgeLuma - petalLuma) * 0.16, 0.16, 0.78)
|
|
1182
1198
|
);
|
|
1183
|
-
const translucencyBase = round(clamp(0.34 + luminance(petalBase) * 0.28 + coverage * 0.08, 0.2, 0.82));
|
|
1184
|
-
const translucencyEdge = round(clamp(translucencyBase * (0.48 + petalContrast * 0.34), 0.14, 0.72));
|
|
1185
|
-
const translucencyTip = round(clamp(translucencyEdge + Math.max(0, edgeLuma - petalLuma) * 0.16, 0.16, 0.78));
|
|
1186
1199
|
const roughness = round(clamp(0.84 - petalSat * 0.16 - petalContrast * 0.18, 0.46, 0.88));
|
|
1187
1200
|
const ior = round(clamp(1.31 + petalLuma * 0.06 + petalSat * 0.045, 1.31, 1.44), 2);
|
|
1188
|
-
const veinNormalIntensity = round(
|
|
1189
|
-
|
|
1190
|
-
|
|
1201
|
+
const veinNormalIntensity = round(
|
|
1202
|
+
clamp(0.018 + veinContrast * 0.095 + coverage * 0.012, 0.012, 0.12)
|
|
1203
|
+
);
|
|
1204
|
+
const edgeCurlIntensity = round(
|
|
1205
|
+
clamp(0.34 + silhouetteContrast * 0.46 + petalContrast * 0.18, 0.24, 0.82)
|
|
1206
|
+
);
|
|
1207
|
+
const gravitySagOuter = round(
|
|
1208
|
+
clamp(0.12 + (1 - luminance(leafDark)) * 0.16 + silhouetteContrast * 0.08, 0.1, 0.42)
|
|
1209
|
+
);
|
|
1191
1210
|
const sssConfidence = round(clamp(coverage * 0.6 + provConfidence * 0.4, 0, 1));
|
|
1192
|
-
const translucencyConfidence = round(
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
const
|
|
1211
|
+
const translucencyConfidence = round(
|
|
1212
|
+
clamp((coverage + (collectRegionPixels(input.fixtures, "petal_rim").length ? 1 : 0)) / 2, 0, 1)
|
|
1213
|
+
);
|
|
1214
|
+
const veinConfidence = round(
|
|
1215
|
+
clamp(
|
|
1216
|
+
(collectRegionPixels(input.fixtures, "vein").length ? 0.64 : 0.22) + provConfidence * 0.36,
|
|
1217
|
+
0,
|
|
1218
|
+
1
|
|
1219
|
+
)
|
|
1220
|
+
);
|
|
1221
|
+
const roughnessConfidence = round(
|
|
1222
|
+
clamp(coverage * 0.5 + provConfidence * 0.28 + (input.fixtures.length > 0 ? 0.22 : 0), 0, 1)
|
|
1223
|
+
);
|
|
1224
|
+
const overall = round(
|
|
1225
|
+
(sssConfidence + translucencyConfidence + veinConfidence + roughnessConfidence + provConfidence) / 5
|
|
1226
|
+
);
|
|
1196
1227
|
return {
|
|
1197
1228
|
schema: "holoscript.botanical.material-extract.v1",
|
|
1198
1229
|
status: extractionStatus(input.anchors),
|
|
@@ -1762,7 +1793,9 @@ var TropicalShortestPaths = class _TropicalShortestPaths {
|
|
|
1762
1793
|
}
|
|
1763
1794
|
static computeAPSPCPU(adjacencyMatrix, n) {
|
|
1764
1795
|
if (adjacencyMatrix.length !== n * n) {
|
|
1765
|
-
throw new Error(
|
|
1796
|
+
throw new Error(
|
|
1797
|
+
`adjacencyMatrix length (${adjacencyMatrix.length}) must equal n*n (${n * n})`
|
|
1798
|
+
);
|
|
1766
1799
|
}
|
|
1767
1800
|
const dist = new Float32Array(adjacencyMatrix);
|
|
1768
1801
|
for (let k = 0; k < n; k++) {
|
|
@@ -1843,7 +1876,9 @@ var TropicalShortestPaths = class _TropicalShortestPaths {
|
|
|
1843
1876
|
}
|
|
1844
1877
|
async computeAPSP(adjacencyMatrix, n) {
|
|
1845
1878
|
if (adjacencyMatrix.length !== n * n) {
|
|
1846
|
-
throw new Error(
|
|
1879
|
+
throw new Error(
|
|
1880
|
+
`adjacencyMatrix length (${adjacencyMatrix.length}) must equal n*n (${n * n})`
|
|
1881
|
+
);
|
|
1847
1882
|
}
|
|
1848
1883
|
if (!this.preferGPU || n < this.denseCpuThreshold) {
|
|
1849
1884
|
return _TropicalShortestPaths.computeAPSPCPU(adjacencyMatrix, n);
|
|
@@ -2206,7 +2241,9 @@ async function runLIFDeterminismProbe(ctx, options) {
|
|
|
2206
2241
|
const stimulusSeed = options.stimulusSeed;
|
|
2207
2242
|
const stimulusAmplitude = options.stimulusAmplitude ?? { min: 0, max: 1.2 };
|
|
2208
2243
|
if (neuronCount <= 0 || !Number.isInteger(neuronCount)) {
|
|
2209
|
-
throw new Error(
|
|
2244
|
+
throw new Error(
|
|
2245
|
+
`LIFDeterminismProbe: neuronCount must be a positive integer, got ${neuronCount}`
|
|
2246
|
+
);
|
|
2210
2247
|
}
|
|
2211
2248
|
if (tickCount <= 0 || !Number.isInteger(tickCount)) {
|
|
2212
2249
|
throw new Error(`LIFDeterminismProbe: tickCount must be a positive integer, got ${tickCount}`);
|
|
@@ -2219,11 +2256,7 @@ async function runLIFDeterminismProbe(ctx, options) {
|
|
|
2219
2256
|
sim.setSynapticInput(stimulus);
|
|
2220
2257
|
await sim.stepN(tickCount);
|
|
2221
2258
|
const readback = await sim.readMembranePotentials();
|
|
2222
|
-
return new Uint8Array(
|
|
2223
|
-
readback.data.buffer,
|
|
2224
|
-
readback.data.byteOffset,
|
|
2225
|
-
readback.data.byteLength
|
|
2226
|
-
);
|
|
2259
|
+
return new Uint8Array(readback.data.buffer, readback.data.byteOffset, readback.data.byteLength);
|
|
2227
2260
|
} finally {
|
|
2228
2261
|
sim.destroy();
|
|
2229
2262
|
}
|
|
@@ -2250,6 +2283,7 @@ var ProphecyOrchestrator = class {
|
|
|
2250
2283
|
this.config = config;
|
|
2251
2284
|
this.frameCounter = 0;
|
|
2252
2285
|
this.lastFrame = null;
|
|
2286
|
+
this.lastScene = null;
|
|
2253
2287
|
this.initialized = false;
|
|
2254
2288
|
this.uniformBuffer = null;
|
|
2255
2289
|
this.spikeRatesBuffer = null;
|
|
@@ -2288,9 +2322,7 @@ var ProphecyOrchestrator = class {
|
|
|
2288
2322
|
}
|
|
2289
2323
|
const floor = config.confidenceFloor ?? 0.05;
|
|
2290
2324
|
if (floor < 0 || floor > 1) {
|
|
2291
|
-
throw new Error(
|
|
2292
|
-
`ProphecyOrchestrator: confidenceFloor must be in [0,1], got ${floor}`
|
|
2293
|
-
);
|
|
2325
|
+
throw new Error(`ProphecyOrchestrator: confidenceFloor must be in [0,1], got ${floor}`);
|
|
2294
2326
|
}
|
|
2295
2327
|
}
|
|
2296
2328
|
/** Allocate GPU buffers and upload static probe positions / albedo. */
|
|
@@ -2405,7 +2437,7 @@ var ProphecyOrchestrator = class {
|
|
|
2405
2437
|
const t0 = typeof performance !== "undefined" && typeof performance.now === "function" ? performance.now() : Date.now();
|
|
2406
2438
|
const uniforms = this.packUniforms(scene);
|
|
2407
2439
|
this.ctx.device.queue.writeBuffer(this.uniformBuffer, 0, uniforms);
|
|
2408
|
-
const probes = this.computeProbesCpu(scene);
|
|
2440
|
+
const probes = this.applyTemporalReprojection(this.computeProbesCpu(scene), scene);
|
|
2409
2441
|
const t1 = typeof performance !== "undefined" && typeof performance.now === "function" ? performance.now() : Date.now();
|
|
2410
2442
|
const frame = {
|
|
2411
2443
|
frameId: this.frameCounter++,
|
|
@@ -2415,6 +2447,7 @@ var ProphecyOrchestrator = class {
|
|
|
2415
2447
|
source: "local"
|
|
2416
2448
|
};
|
|
2417
2449
|
this.lastFrame = frame;
|
|
2450
|
+
this.lastScene = scene;
|
|
2418
2451
|
return frame;
|
|
2419
2452
|
}
|
|
2420
2453
|
/**
|
|
@@ -2447,17 +2480,61 @@ var ProphecyOrchestrator = class {
|
|
|
2447
2480
|
}
|
|
2448
2481
|
out[i] = {
|
|
2449
2482
|
index: i,
|
|
2450
|
-
position: [
|
|
2451
|
-
positions[i * 3 + 0],
|
|
2452
|
-
positions[i * 3 + 1],
|
|
2453
|
-
positions[i * 3 + 2]
|
|
2454
|
-
],
|
|
2483
|
+
position: [positions[i * 3 + 0], positions[i * 3 + 1], positions[i * 3 + 2]],
|
|
2455
2484
|
rgb: [r, g, b],
|
|
2456
2485
|
confidence
|
|
2457
2486
|
};
|
|
2458
2487
|
}
|
|
2459
2488
|
return out;
|
|
2460
2489
|
}
|
|
2490
|
+
applyTemporalReprojection(probes, scene) {
|
|
2491
|
+
const temporal = this.config.temporalReprojection;
|
|
2492
|
+
if (!temporal?.enabled || !this.lastFrame || !this.lastScene) {
|
|
2493
|
+
return probes;
|
|
2494
|
+
}
|
|
2495
|
+
const historyWeight = this.clamp01(temporal.historyWeight ?? 0.85);
|
|
2496
|
+
const confidenceDecay = this.clamp01(temporal.confidenceDecay ?? 0.98);
|
|
2497
|
+
const maxCameraDelta = temporal.maxCameraDelta ?? 0.5;
|
|
2498
|
+
const maxSunDelta = temporal.maxSunDelta ?? 0.5;
|
|
2499
|
+
const cameraDelta = this.vecDistance(scene.cameraPosition, this.lastScene.cameraPosition);
|
|
2500
|
+
const sunDelta = this.vecDistance(scene.sunDirection, this.lastScene.sunDirection);
|
|
2501
|
+
const cameraFactor = maxCameraDelta <= 0 ? 0 : this.clamp01(1 - cameraDelta / maxCameraDelta);
|
|
2502
|
+
const sunFactor = maxSunDelta <= 0 ? 0 : this.clamp01(1 - sunDelta / maxSunDelta);
|
|
2503
|
+
const alpha = historyWeight * cameraFactor * sunFactor;
|
|
2504
|
+
if (alpha <= 0) {
|
|
2505
|
+
return probes;
|
|
2506
|
+
}
|
|
2507
|
+
const previous = this.lastFrame.probes;
|
|
2508
|
+
return probes.map((probe, index) => {
|
|
2509
|
+
const prev = previous[index];
|
|
2510
|
+
if (!prev || prev.index !== probe.index) {
|
|
2511
|
+
return probe;
|
|
2512
|
+
}
|
|
2513
|
+
return {
|
|
2514
|
+
...probe,
|
|
2515
|
+
rgb: [
|
|
2516
|
+
prev.rgb[0] * alpha + probe.rgb[0] * (1 - alpha),
|
|
2517
|
+
prev.rgb[1] * alpha + probe.rgb[1] * (1 - alpha),
|
|
2518
|
+
prev.rgb[2] * alpha + probe.rgb[2] * (1 - alpha)
|
|
2519
|
+
],
|
|
2520
|
+
confidence: this.clamp01(
|
|
2521
|
+
prev.confidence * confidenceDecay * alpha + probe.confidence * (1 - alpha)
|
|
2522
|
+
)
|
|
2523
|
+
};
|
|
2524
|
+
});
|
|
2525
|
+
}
|
|
2526
|
+
vecDistance(a, b) {
|
|
2527
|
+
const dx = a[0] - b[0];
|
|
2528
|
+
const dy = a[1] - b[1];
|
|
2529
|
+
const dz = a[2] - b[2];
|
|
2530
|
+
return Math.sqrt(dx * dx + dy * dy + dz * dz);
|
|
2531
|
+
}
|
|
2532
|
+
clamp01(value) {
|
|
2533
|
+
if (!Number.isFinite(value)) return 0;
|
|
2534
|
+
if (value < 0) return 0;
|
|
2535
|
+
if (value > 1) return 1;
|
|
2536
|
+
return value;
|
|
2537
|
+
}
|
|
2461
2538
|
/** Test/dev helper: prime the CPU shadow without touching the GPU
|
|
2462
2539
|
* buffer, useful for unit tests. */
|
|
2463
2540
|
primeSpikeRatesShadow(rates) {
|
|
@@ -2488,6 +2565,8 @@ var ProphecyOrchestrator = class {
|
|
|
2488
2565
|
this.readbackBuffer = null;
|
|
2489
2566
|
this.initialized = false;
|
|
2490
2567
|
this.lastSpikeRatesShadow = null;
|
|
2568
|
+
this.lastFrame = null;
|
|
2569
|
+
this.lastScene = null;
|
|
2491
2570
|
}
|
|
2492
2571
|
assertInit() {
|
|
2493
2572
|
if (!this.initialized) {
|
|
@@ -2500,8 +2579,10 @@ var LocalProphecyTransport = class {
|
|
|
2500
2579
|
this.options = options;
|
|
2501
2580
|
this.kind = "local";
|
|
2502
2581
|
this.orchestrator = null;
|
|
2582
|
+
this.config = null;
|
|
2503
2583
|
}
|
|
2504
2584
|
async initialize(config) {
|
|
2585
|
+
this.config = config;
|
|
2505
2586
|
this.orchestrator = new ProphecyOrchestrator(this.options.ctx, config);
|
|
2506
2587
|
this.orchestrator.initialize();
|
|
2507
2588
|
}
|
|
@@ -2509,15 +2590,7 @@ var LocalProphecyTransport = class {
|
|
|
2509
2590
|
if (!this.orchestrator) {
|
|
2510
2591
|
throw new Error("LocalProphecyTransport: not initialized");
|
|
2511
2592
|
}
|
|
2512
|
-
const rates = await this.options.spikeRates(
|
|
2513
|
-
scene,
|
|
2514
|
-
this.orchestrator.getLastFrame()?.probes.length ?? // Probe count is fixed at initialize-time; if no frame has run
|
|
2515
|
-
// yet we ask the provider for the configured count. We can
|
|
2516
|
-
// recover that from the orchestrator's last upload, or we
|
|
2517
|
-
// honour what the provider returns. We choose the latter for
|
|
2518
|
-
// simplicity and validate length in primeSpikeRatesShadow.
|
|
2519
|
-
0
|
|
2520
|
-
);
|
|
2593
|
+
const rates = await this.options.spikeRates(scene, this.config?.probeCount ?? 0);
|
|
2521
2594
|
this.orchestrator.primeSpikeRatesShadow(rates);
|
|
2522
2595
|
this.orchestrator.uploadSpikeRates(rates);
|
|
2523
2596
|
return this.orchestrator.step(scene);
|
|
@@ -2525,8 +2598,190 @@ var LocalProphecyTransport = class {
|
|
|
2525
2598
|
async destroy() {
|
|
2526
2599
|
this.orchestrator?.destroy();
|
|
2527
2600
|
this.orchestrator = null;
|
|
2601
|
+
this.config = null;
|
|
2528
2602
|
}
|
|
2529
2603
|
};
|
|
2604
|
+
var PROPHECY_SPIKE_FEATURE_COUNT = 9;
|
|
2605
|
+
function clamp01(value) {
|
|
2606
|
+
if (!Number.isFinite(value)) return 0;
|
|
2607
|
+
if (value < 0) return 0;
|
|
2608
|
+
if (value > 1) return 1;
|
|
2609
|
+
return value;
|
|
2610
|
+
}
|
|
2611
|
+
function sigmoid(value) {
|
|
2612
|
+
if (value <= -30) return 0;
|
|
2613
|
+
if (value >= 30) return 1;
|
|
2614
|
+
return 1 / (1 + Math.exp(-value));
|
|
2615
|
+
}
|
|
2616
|
+
function vectorLength3(x, y, z) {
|
|
2617
|
+
return Math.sqrt(x * x + y * y + z * z);
|
|
2618
|
+
}
|
|
2619
|
+
function writeFeatureVector(out, scene, probePositions, probeIndex) {
|
|
2620
|
+
const px = probePositions[probeIndex * 3 + 0];
|
|
2621
|
+
const py = probePositions[probeIndex * 3 + 1];
|
|
2622
|
+
const pz = probePositions[probeIndex * 3 + 2];
|
|
2623
|
+
const dx = px - scene.cameraPosition[0];
|
|
2624
|
+
const dy = py - scene.cameraPosition[1];
|
|
2625
|
+
const dz = pz - scene.cameraPosition[2];
|
|
2626
|
+
const distance = vectorLength3(dx, dy, dz);
|
|
2627
|
+
const invDistance = 1 / (1 + distance);
|
|
2628
|
+
const dirScale = distance > 0 ? 1 / distance : 0;
|
|
2629
|
+
const forwardDot = (dx * dirScale * scene.cameraForward[0] + dy * dirScale * scene.cameraForward[1] + dz * dirScale * scene.cameraForward[2] + 1) * 0.5;
|
|
2630
|
+
const sunAlignment = (scene.sunDirection[0] * dx * dirScale + scene.sunDirection[1] * dy * dirScale + scene.sunDirection[2] * dz * dirScale + 1) * 0.5;
|
|
2631
|
+
const sunLuminance = scene.sunColor[0] * 0.2126 + scene.sunColor[1] * 0.7152 + scene.sunColor[2] * 0.0722;
|
|
2632
|
+
out[0] = invDistance;
|
|
2633
|
+
out[1] = clamp01(forwardDot);
|
|
2634
|
+
out[2] = clamp01((py + 4) / 8);
|
|
2635
|
+
out[3] = clamp01((scene.sunDirection[1] + 1) * 0.5);
|
|
2636
|
+
out[4] = clamp01(sunAlignment);
|
|
2637
|
+
out[5] = clamp01(scene.sunColor[0]);
|
|
2638
|
+
out[6] = clamp01(scene.sunColor[1]);
|
|
2639
|
+
out[7] = clamp01(scene.sunColor[2]);
|
|
2640
|
+
out[8] = clamp01(scene.prevAvgLuminance ?? sunLuminance);
|
|
2641
|
+
}
|
|
2642
|
+
function encodeProphecySceneProbeFeatures(scene, probePositions, probeIndex) {
|
|
2643
|
+
const features = new Float32Array(PROPHECY_SPIKE_FEATURE_COUNT);
|
|
2644
|
+
writeFeatureVector(features, scene, probePositions, probeIndex);
|
|
2645
|
+
return features;
|
|
2646
|
+
}
|
|
2647
|
+
function assertTrainingShape(samples, options) {
|
|
2648
|
+
if (!Number.isInteger(options.probeCount) || options.probeCount <= 0) {
|
|
2649
|
+
throw new Error(
|
|
2650
|
+
`trainProphecySpikeRateModel: probeCount must be positive, got ${options.probeCount}`
|
|
2651
|
+
);
|
|
2652
|
+
}
|
|
2653
|
+
if (options.probePositions.length !== options.probeCount * 3) {
|
|
2654
|
+
throw new Error(
|
|
2655
|
+
`trainProphecySpikeRateModel: probePositions length ${options.probePositions.length} does not match probeCount*3 (${options.probeCount * 3})`
|
|
2656
|
+
);
|
|
2657
|
+
}
|
|
2658
|
+
if (samples.length === 0) {
|
|
2659
|
+
throw new Error("trainProphecySpikeRateModel: at least one training sample is required");
|
|
2660
|
+
}
|
|
2661
|
+
for (const sample of samples) {
|
|
2662
|
+
if (sample.targetSpikeRates.length !== options.probeCount) {
|
|
2663
|
+
throw new Error(
|
|
2664
|
+
`trainProphecySpikeRateModel: targetSpikeRates length ${sample.targetSpikeRates.length} does not match probeCount ${options.probeCount}`
|
|
2665
|
+
);
|
|
2666
|
+
}
|
|
2667
|
+
}
|
|
2668
|
+
}
|
|
2669
|
+
function modelLoss(model, samples) {
|
|
2670
|
+
const features = new Float32Array(PROPHECY_SPIKE_FEATURE_COUNT);
|
|
2671
|
+
let loss = 0;
|
|
2672
|
+
let count = 0;
|
|
2673
|
+
for (const sample of samples) {
|
|
2674
|
+
const sampleWeight = sample.weight ?? 1;
|
|
2675
|
+
for (let probe = 0; probe < model.probeCount; probe++) {
|
|
2676
|
+
writeFeatureVector(features, sample.scene, model.probePositions, probe);
|
|
2677
|
+
let z = model.bias[probe];
|
|
2678
|
+
const offset = probe * PROPHECY_SPIKE_FEATURE_COUNT;
|
|
2679
|
+
for (let i = 0; i < PROPHECY_SPIKE_FEATURE_COUNT; i++) {
|
|
2680
|
+
z += model.weights[offset + i] * features[i];
|
|
2681
|
+
}
|
|
2682
|
+
const err = clamp01(sample.targetSpikeRates[probe]) - sigmoid(z);
|
|
2683
|
+
loss += err * err * sampleWeight;
|
|
2684
|
+
count += sampleWeight;
|
|
2685
|
+
}
|
|
2686
|
+
}
|
|
2687
|
+
return count > 0 ? loss / count : 0;
|
|
2688
|
+
}
|
|
2689
|
+
function trainProphecySpikeRateModel(samples, options) {
|
|
2690
|
+
assertTrainingShape(samples, options);
|
|
2691
|
+
const epochs = options.epochs ?? 32;
|
|
2692
|
+
const learningRate = options.learningRate ?? 0.08;
|
|
2693
|
+
const l2 = options.l2 ?? 1e-4;
|
|
2694
|
+
const weights = new Float32Array(options.probeCount * PROPHECY_SPIKE_FEATURE_COUNT);
|
|
2695
|
+
const bias = new Float32Array(options.probeCount);
|
|
2696
|
+
const probePositions = new Float32Array(options.probePositions);
|
|
2697
|
+
const features = new Float32Array(PROPHECY_SPIKE_FEATURE_COUNT);
|
|
2698
|
+
const modelBase = { probeCount: options.probeCount, probePositions, weights, bias };
|
|
2699
|
+
const initialLoss = modelLoss(modelBase, samples);
|
|
2700
|
+
for (let epoch = 0; epoch < epochs; epoch++) {
|
|
2701
|
+
for (const sample of samples) {
|
|
2702
|
+
const sampleWeight = sample.weight ?? 1;
|
|
2703
|
+
for (let probe = 0; probe < options.probeCount; probe++) {
|
|
2704
|
+
writeFeatureVector(features, sample.scene, probePositions, probe);
|
|
2705
|
+
const offset = probe * PROPHECY_SPIKE_FEATURE_COUNT;
|
|
2706
|
+
let z = bias[probe];
|
|
2707
|
+
for (let i = 0; i < PROPHECY_SPIKE_FEATURE_COUNT; i++) {
|
|
2708
|
+
z += weights[offset + i] * features[i];
|
|
2709
|
+
}
|
|
2710
|
+
const prediction = sigmoid(z);
|
|
2711
|
+
const target = clamp01(sample.targetSpikeRates[probe]);
|
|
2712
|
+
const grad = (target - prediction) * prediction * (1 - prediction) * sampleWeight;
|
|
2713
|
+
for (let i = 0; i < PROPHECY_SPIKE_FEATURE_COUNT; i++) {
|
|
2714
|
+
const wi = offset + i;
|
|
2715
|
+
weights[wi] += learningRate * (grad * features[i] - l2 * weights[wi]);
|
|
2716
|
+
}
|
|
2717
|
+
bias[probe] += learningRate * grad;
|
|
2718
|
+
}
|
|
2719
|
+
}
|
|
2720
|
+
}
|
|
2721
|
+
const finalLoss = modelLoss(modelBase, samples);
|
|
2722
|
+
return {
|
|
2723
|
+
kind: "prophetic-gi-spike-rate-model",
|
|
2724
|
+
version: 1,
|
|
2725
|
+
probeCount: options.probeCount,
|
|
2726
|
+
featureCount: PROPHECY_SPIKE_FEATURE_COUNT,
|
|
2727
|
+
probePositions,
|
|
2728
|
+
weights,
|
|
2729
|
+
bias,
|
|
2730
|
+
training: {
|
|
2731
|
+
epochs,
|
|
2732
|
+
learningRate,
|
|
2733
|
+
l2,
|
|
2734
|
+
sampleCount: samples.length,
|
|
2735
|
+
initialLoss,
|
|
2736
|
+
finalLoss
|
|
2737
|
+
}
|
|
2738
|
+
};
|
|
2739
|
+
}
|
|
2740
|
+
function decodeProphecySpikeRates(model, scene, probeCount = model.probeCount) {
|
|
2741
|
+
if (probeCount !== model.probeCount) {
|
|
2742
|
+
throw new Error(
|
|
2743
|
+
`decodeProphecySpikeRates: provider asked for ${probeCount} probes, model has ${model.probeCount}`
|
|
2744
|
+
);
|
|
2745
|
+
}
|
|
2746
|
+
const features = new Float32Array(PROPHECY_SPIKE_FEATURE_COUNT);
|
|
2747
|
+
const out = new Float32Array(model.probeCount);
|
|
2748
|
+
for (let probe = 0; probe < model.probeCount; probe++) {
|
|
2749
|
+
writeFeatureVector(features, scene, model.probePositions, probe);
|
|
2750
|
+
const offset = probe * PROPHECY_SPIKE_FEATURE_COUNT;
|
|
2751
|
+
let z = model.bias[probe];
|
|
2752
|
+
for (let i = 0; i < PROPHECY_SPIKE_FEATURE_COUNT; i++) {
|
|
2753
|
+
z += model.weights[offset + i] * features[i];
|
|
2754
|
+
}
|
|
2755
|
+
out[probe] = clamp01(sigmoid(z));
|
|
2756
|
+
}
|
|
2757
|
+
return out;
|
|
2758
|
+
}
|
|
2759
|
+
function decodeSpikeRateWindow(spikeWindow, probeCount, timeWindow) {
|
|
2760
|
+
if (!Number.isInteger(probeCount) || probeCount <= 0) {
|
|
2761
|
+
throw new Error(`decodeSpikeRateWindow: probeCount must be positive, got ${probeCount}`);
|
|
2762
|
+
}
|
|
2763
|
+
if (!Number.isInteger(timeWindow) || timeWindow <= 0) {
|
|
2764
|
+
throw new Error(`decodeSpikeRateWindow: timeWindow must be positive, got ${timeWindow}`);
|
|
2765
|
+
}
|
|
2766
|
+
if (spikeWindow.length !== probeCount * timeWindow) {
|
|
2767
|
+
throw new Error(
|
|
2768
|
+
`decodeSpikeRateWindow: spike window length ${spikeWindow.length} does not match probeCount*timeWindow (${probeCount * timeWindow})`
|
|
2769
|
+
);
|
|
2770
|
+
}
|
|
2771
|
+
const out = new Float32Array(probeCount);
|
|
2772
|
+
for (let probe = 0; probe < probeCount; probe++) {
|
|
2773
|
+
let spikes = 0;
|
|
2774
|
+
const offset = probe * timeWindow;
|
|
2775
|
+
for (let t = 0; t < timeWindow; t++) {
|
|
2776
|
+
if (spikeWindow[offset + t] > 0.5) spikes++;
|
|
2777
|
+
}
|
|
2778
|
+
out[probe] = spikes / timeWindow;
|
|
2779
|
+
}
|
|
2780
|
+
return out;
|
|
2781
|
+
}
|
|
2782
|
+
function createTrainedSpikeRateProvider(model) {
|
|
2783
|
+
return (scene, probeCount) => decodeProphecySpikeRates(model, scene, probeCount);
|
|
2784
|
+
}
|
|
2530
2785
|
function resolveTtuEndpoint(endpoint, holomeshHost = "https://mcp.holoscript.net") {
|
|
2531
2786
|
if (!endpoint || typeof endpoint !== "string") {
|
|
2532
2787
|
throw new Error("HoloMeshProphecyTransport: endpoint must be a non-empty string");
|
|
@@ -2547,9 +2802,7 @@ function resolveTtuEndpoint(endpoint, holomeshHost = "https://mcp.holoscript.net
|
|
|
2547
2802
|
const rest = endpoint.slice("ttu://".length);
|
|
2548
2803
|
const parts = rest.split("/").filter(Boolean);
|
|
2549
2804
|
if (parts.length < 2) {
|
|
2550
|
-
throw new Error(
|
|
2551
|
-
`HoloMeshProphecyTransport: unsupported ttu URI shape: ${endpoint}`
|
|
2552
|
-
);
|
|
2805
|
+
throw new Error(`HoloMeshProphecyTransport: unsupported ttu URI shape: ${endpoint}`);
|
|
2553
2806
|
}
|
|
2554
2807
|
const targetHost = parts[0].includes("://") ? parts[0] : `https://${parts[0]}`;
|
|
2555
2808
|
const sessionId = parts.slice(1).join("/");
|
|
@@ -2591,10 +2844,7 @@ var HoloMeshProphecyTransport = class {
|
|
|
2591
2844
|
});
|
|
2592
2845
|
}
|
|
2593
2846
|
async initialize(config) {
|
|
2594
|
-
this.resolved = resolveTtuEndpoint(
|
|
2595
|
-
this.options.endpoint,
|
|
2596
|
-
this.options.holomeshHost
|
|
2597
|
-
);
|
|
2847
|
+
this.resolved = resolveTtuEndpoint(this.options.endpoint, this.options.holomeshHost);
|
|
2598
2848
|
if (this.options.fallback && !this.initializedFallback) {
|
|
2599
2849
|
await this.options.fallback.initialize(config);
|
|
2600
2850
|
this.initializedFallback = true;
|
|
@@ -2713,22 +2963,36 @@ function extractBotanicalLotusMaterial(samples, options = {}) {
|
|
|
2713
2963
|
(pixel) => pixel.luma,
|
|
2714
2964
|
meanPetalLuma
|
|
2715
2965
|
);
|
|
2716
|
-
const backlightLift =
|
|
2966
|
+
const backlightLift = clamp012(petalEdgeLuma - petalCenterLuma + 0.5);
|
|
2717
2967
|
const veinNormal = clamp2(round4(0.018 + petalGradient * 0.22), 0.018, 0.09);
|
|
2718
2968
|
const colors = deriveColors(petal, leaf, stamen, water);
|
|
2719
2969
|
const material = {
|
|
2720
|
-
subsurface_scattering: clamp2(
|
|
2970
|
+
subsurface_scattering: clamp2(
|
|
2971
|
+
round4(0.48 + meanPetalSat * 0.22 + backlightLift * 0.18),
|
|
2972
|
+
0.45,
|
|
2973
|
+
0.82
|
|
2974
|
+
),
|
|
2721
2975
|
subsurface_radius_rgb: deriveSubsurfaceRadius(colors.petal_mid),
|
|
2722
|
-
petal_translucency_base: clamp2(
|
|
2976
|
+
petal_translucency_base: clamp2(
|
|
2977
|
+
round4(0.42 + meanPetalLuma * 0.24 + backlightLift * 0.18),
|
|
2978
|
+
0.38,
|
|
2979
|
+
0.78
|
|
2980
|
+
),
|
|
2723
2981
|
petal_translucency_edge: clamp2(round4(0.24 + petalEdgeLuma * 0.18), 0.24, 0.48),
|
|
2724
2982
|
roughness: clamp2(round4(0.64 + veinNormal * 1.4), 0.62, 0.82),
|
|
2725
2983
|
ior: clamp2(round4(1.33 + meanPetalSat * 0.055), 1.33, 1.39),
|
|
2726
2984
|
vein_normal_intensity: veinNormal,
|
|
2727
|
-
edge_curl_intensity: clamp2(
|
|
2985
|
+
edge_curl_intensity: clamp2(
|
|
2986
|
+
round4(0.34 + mean(petal, (pixel) => pixel.edge, 0.5) * 0.38),
|
|
2987
|
+
0.34,
|
|
2988
|
+
0.68
|
|
2989
|
+
),
|
|
2728
2990
|
gravity_sag_outer: clamp2(round4(0.18 + meanPetalLuma * 0.18), 0.18, 0.36)
|
|
2729
2991
|
};
|
|
2730
2992
|
const provenanceHashCount = samples.filter((sample) => sample.provenance?.contentHash).length;
|
|
2731
|
-
const provenanceSignatureCount = samples.filter(
|
|
2993
|
+
const provenanceSignatureCount = samples.filter(
|
|
2994
|
+
(sample) => sample.provenance?.walletSignature
|
|
2995
|
+
).length;
|
|
2732
2996
|
const contentHashStatus = completenessStatus(provenanceHashCount, samples.length);
|
|
2733
2997
|
const walletSignatureStatus = completenessStatus(provenanceSignatureCount, samples.length);
|
|
2734
2998
|
const signed = contentHashStatus === "complete" && walletSignatureStatus === "complete";
|
|
@@ -2840,7 +3104,9 @@ function assertSampleShape(sample) {
|
|
|
2840
3104
|
}
|
|
2841
3105
|
const expected = sample.width * sample.height * 4;
|
|
2842
3106
|
if (sample.data.length < expected) {
|
|
2843
|
-
throw new Error(
|
|
3107
|
+
throw new Error(
|
|
3108
|
+
`Image sample ${sample.id} has ${sample.data.length} RGBA values; expected ${expected}`
|
|
3109
|
+
);
|
|
2844
3110
|
}
|
|
2845
3111
|
}
|
|
2846
3112
|
function deriveColors(petal, leaf, stamen, water) {
|
|
@@ -2851,7 +3117,11 @@ function deriveColors(petal, leaf, stamen, water) {
|
|
|
2851
3117
|
petal_rim: pixelToHex(percentilePixel(petal, "s", 0.88, DEFAULT_COLORS2.petal_rim)),
|
|
2852
3118
|
petal_shadow: pixelToHex(percentilePixel(petal, "luma", 0.16, DEFAULT_COLORS2.petal_shadow)),
|
|
2853
3119
|
seed_pod: pixelToHex(percentilePixel(stamen, "luma", 0.82, DEFAULT_COLORS2.seed_pod)),
|
|
2854
|
-
seed_pod_rim: mixHex(
|
|
3120
|
+
seed_pod_rim: mixHex(
|
|
3121
|
+
pixelToHex(percentilePixel(stamen, "luma", 0.62, DEFAULT_COLORS2.seed_pod_rim)),
|
|
3122
|
+
DEFAULT_COLORS2.seed_pod_rim,
|
|
3123
|
+
0.35
|
|
3124
|
+
),
|
|
2855
3125
|
stamen: pixelToHex(percentilePixel(stamen, "s", 0.68, DEFAULT_COLORS2.stamen)),
|
|
2856
3126
|
stamen_tip: pixelToHex(percentilePixel(stamen, "luma", 0.95, DEFAULT_COLORS2.stamen_tip)),
|
|
2857
3127
|
leaf: pixelToHex(percentilePixel(leaf, "luma", 0.58, DEFAULT_COLORS2.leaf)),
|
|
@@ -2890,10 +3160,10 @@ function estimateStamenCount(stamenPixels, petalPixels) {
|
|
|
2890
3160
|
return Math.round(clamp2(42 + ratio * 260, 42, 96));
|
|
2891
3161
|
}
|
|
2892
3162
|
function estimateConfidence(sampleCount, petalPixels, leafPixels, stamenPixels) {
|
|
2893
|
-
const sampleSignal =
|
|
2894
|
-
const petalSignal =
|
|
2895
|
-
const contextSignal =
|
|
2896
|
-
return round4(
|
|
3163
|
+
const sampleSignal = clamp012(sampleCount / 3);
|
|
3164
|
+
const petalSignal = clamp012(petalPixels / 300);
|
|
3165
|
+
const contextSignal = clamp012((leafPixels + stamenPixels) / 160);
|
|
3166
|
+
return round4(clamp012(0.2 + sampleSignal * 0.25 + petalSignal * 0.35 + contextSignal * 0.2));
|
|
2897
3167
|
}
|
|
2898
3168
|
function deriveSubsurfaceRadius(hex) {
|
|
2899
3169
|
const pixel = hexToPixel(hex);
|
|
@@ -2926,7 +3196,7 @@ function lumaAt(data, width, x, y) {
|
|
|
2926
3196
|
function normalizedEdgeDistance(width, height, x, y) {
|
|
2927
3197
|
const dx = Math.abs(x / Math.max(1, width - 1) - 0.5) * 2;
|
|
2928
3198
|
const dy = Math.abs(y / Math.max(1, height - 1) - 0.5) * 2;
|
|
2929
|
-
return
|
|
3199
|
+
return clamp012(Math.max(dx, dy));
|
|
2930
3200
|
}
|
|
2931
3201
|
function rgbToHsv(r, g, b) {
|
|
2932
3202
|
const max = Math.max(r, g, b);
|
|
@@ -2972,7 +3242,7 @@ function mixHex(a, b, amountB) {
|
|
|
2972
3242
|
b: left.b * (1 - amountB) + right.b * amountB});
|
|
2973
3243
|
}
|
|
2974
3244
|
function byteToHex(value) {
|
|
2975
|
-
return Math.round(
|
|
3245
|
+
return Math.round(clamp012(value) * 255).toString(16).padStart(2, "0");
|
|
2976
3246
|
}
|
|
2977
3247
|
function mean(items, selector, fallback) {
|
|
2978
3248
|
if (items.length === 0) {
|
|
@@ -2980,7 +3250,7 @@ function mean(items, selector, fallback) {
|
|
|
2980
3250
|
}
|
|
2981
3251
|
return items.reduce((sum, item) => sum + selector(item), 0) / items.length;
|
|
2982
3252
|
}
|
|
2983
|
-
function
|
|
3253
|
+
function clamp012(value) {
|
|
2984
3254
|
return clamp2(value, 0, 1);
|
|
2985
3255
|
}
|
|
2986
3256
|
function clamp2(value, min, max) {
|
|
@@ -3085,6 +3355,7 @@ exports.HoloMeshProphecyTransport = HoloMeshProphecyTransport;
|
|
|
3085
3355
|
exports.LIFSimulator = LIFSimulator;
|
|
3086
3356
|
exports.LocalProphecyTransport = LocalProphecyTransport;
|
|
3087
3357
|
exports.PAPER_2_CANONICAL_CONFIG = PAPER_2_CANONICAL_CONFIG;
|
|
3358
|
+
exports.PROPHECY_SPIKE_FEATURE_COUNT = PROPHECY_SPIKE_FEATURE_COUNT;
|
|
3088
3359
|
exports.PipelineFactory = PipelineFactory;
|
|
3089
3360
|
exports.ProphecyNotImplementedError = ProphecyNotImplementedError;
|
|
3090
3361
|
exports.ProphecyOrchestrator = ProphecyOrchestrator;
|
|
@@ -3096,8 +3367,12 @@ exports.TropicalActivationTrait = TropicalActivationTrait;
|
|
|
3096
3367
|
exports.TropicalShortestPaths = TropicalShortestPaths;
|
|
3097
3368
|
exports.assertGraphShape = assertGraphShape;
|
|
3098
3369
|
exports.computeDispatchSize = computeDispatchSize;
|
|
3370
|
+
exports.createTrainedSpikeRateProvider = createTrainedSpikeRateProvider;
|
|
3099
3371
|
exports.csrToDense = csrToDense;
|
|
3372
|
+
exports.decodeProphecySpikeRates = decodeProphecySpikeRates;
|
|
3373
|
+
exports.decodeSpikeRateWindow = decodeSpikeRateWindow;
|
|
3100
3374
|
exports.denseToCSR = denseToCSR;
|
|
3375
|
+
exports.encodeProphecySceneProbeFeatures = encodeProphecySceneProbeFeatures;
|
|
3101
3376
|
exports.ensureNodeWebGpu = ensureNodeWebGpu;
|
|
3102
3377
|
exports.ensureNodeWebGpuSync = ensureNodeWebGpuSync;
|
|
3103
3378
|
exports.extractBotanicalLotusMaterial = extractBotanicalLotusMaterial;
|
|
@@ -3109,5 +3384,6 @@ exports.normalizeAdjacency = normalizeAdjacency;
|
|
|
3109
3384
|
exports.normalizeBotanicalMaterialExtraction = normalizeBotanicalMaterialExtraction;
|
|
3110
3385
|
exports.runLIFDeterminismProbe = runLIFDeterminismProbe;
|
|
3111
3386
|
exports.toBotanicalLotusTrait = toBotanicalLotusTrait;
|
|
3112
|
-
|
|
3113
|
-
//# sourceMappingURL=dist-
|
|
3387
|
+
exports.trainProphecySpikeRateModel = trainProphecySpikeRateModel;
|
|
3388
|
+
//# sourceMappingURL=dist-GRMOP2UL.cjs.map
|
|
3389
|
+
//# sourceMappingURL=dist-GRMOP2UL.cjs.map
|