@splinetool/runtime 1.12.97 → 2.0.1
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/README.md +195 -22
- package/build/boolean.js +406 -2
- package/build/boolean.js.br +0 -0
- package/build/boolean.js.gz +0 -0
- package/build/boolean.wasm +0 -0
- package/build/boolean.wasm.br +0 -0
- package/build/boolean.wasm.gz +0 -0
- package/build/gaussian-splat-compression.js.br +0 -0
- package/build/gaussian-splat-compression.js.gz +0 -0
- package/build/hana-ui.js +4299 -0
- package/build/hana-ui.js.br +0 -0
- package/build/hana-ui.js.gz +0 -0
- package/build/hana-ui.wasm +0 -0
- package/build/hana-ui.wasm.br +0 -0
- package/build/hana-ui.wasm.gz +0 -0
- package/build/howler.js.br +0 -0
- package/build/howler.js.gz +0 -0
- package/build/navmesh.js.br +0 -0
- package/build/navmesh.js.gz +0 -0
- package/build/navmesh.wasm +0 -0
- package/build/navmesh.wasm.br +0 -0
- package/build/navmesh.wasm.gz +0 -0
- package/build/opentype.js.br +0 -0
- package/build/opentype.js.gz +0 -0
- package/build/physics.js +1 -1
- package/build/physics.js.br +0 -0
- package/build/physics.js.gz +0 -0
- package/build/physics.wasm +0 -0
- package/build/physics.wasm.br +0 -0
- package/build/physics.wasm.gz +0 -0
- package/build/process.js +2 -2
- package/build/process.js.br +0 -0
- package/build/process.js.gz +0 -0
- package/build/process.wasm +0 -0
- package/build/process.wasm.br +0 -0
- package/build/process.wasm.gz +0 -0
- package/build/runtime-DRACOLoader-TQHJ6SJB.js +1 -0
- package/build/runtime-DRACOLoader-TQHJ6SJB.js.br +0 -0
- package/build/runtime-DRACOLoader-TQHJ6SJB.js.gz +0 -0
- package/build/runtime-Perfs-KMJFDYHU.js +1 -0
- package/build/runtime-Perfs-KMJFDYHU.js.br +0 -0
- package/build/runtime-Perfs-KMJFDYHU.js.gz +0 -0
- package/build/runtime-aiAssistant-XJVJ7TQB.js +1 -0
- package/build/runtime-aiAssistant-XJVJ7TQB.js.br +0 -0
- package/build/runtime-aiAssistant-XJVJ7TQB.js.gz +0 -0
- package/build/runtime-apiServices-KAO5SQJZ.js +1 -0
- package/build/runtime-apiServices-KAO5SQJZ.js.br +0 -0
- package/build/runtime-apiServices-KAO5SQJZ.js.gz +0 -0
- package/build/runtime-audio-Y3GYW4YQ.js +1 -0
- package/build/runtime-audio-Y3GYW4YQ.js.br +0 -0
- package/build/runtime-audio-Y3GYW4YQ.js.gz +0 -0
- package/build/runtime-bloom-XRHHZNNT.js +1 -0
- package/build/runtime-bloom-XRHHZNNT.js.br +0 -0
- package/build/runtime-bloom-XRHHZNNT.js.gz +0 -0
- package/build/runtime-brightnessContrast-RHV6X2Z4.js +1 -0
- package/build/runtime-brightnessContrast-RHV6X2Z4.js.br +0 -0
- package/build/runtime-brightnessContrast-RHV6X2Z4.js.gz +0 -0
- package/build/runtime-chromaticAberration-LSGAMQAK.js +1 -0
- package/build/runtime-chromaticAberration-LSGAMQAK.js.br +0 -0
- package/build/runtime-chromaticAberration-LSGAMQAK.js.gz +0 -0
- package/build/runtime-chunk-23QOKH2J.js +1 -0
- package/build/runtime-chunk-23QOKH2J.js.br +0 -0
- package/build/runtime-chunk-23QOKH2J.js.gz +0 -0
- package/build/runtime-chunk-2VFLTNIU.js +1 -0
- package/build/runtime-chunk-2VFLTNIU.js.br +0 -0
- package/build/runtime-chunk-2VFLTNIU.js.gz +0 -0
- package/build/runtime-chunk-44SAPZDZ.js +1 -0
- package/build/runtime-chunk-44SAPZDZ.js.br +0 -0
- package/build/runtime-chunk-44SAPZDZ.js.gz +0 -0
- package/build/runtime-chunk-4KZXQGUQ.js +1 -0
- package/build/runtime-chunk-4KZXQGUQ.js.br +0 -0
- package/build/runtime-chunk-4KZXQGUQ.js.gz +0 -0
- package/build/runtime-chunk-4YV3EXSU.js +1 -0
- package/build/runtime-chunk-4YV3EXSU.js.br +0 -0
- package/build/runtime-chunk-4YV3EXSU.js.gz +0 -0
- package/build/runtime-chunk-5CH7XRKY.js +1 -0
- package/build/runtime-chunk-5CH7XRKY.js.br +0 -0
- package/build/runtime-chunk-5CH7XRKY.js.gz +0 -0
- package/build/runtime-chunk-5VJGAC3M.js +1 -0
- package/build/runtime-chunk-5VJGAC3M.js.br +0 -0
- package/build/runtime-chunk-5VJGAC3M.js.gz +0 -0
- package/build/runtime-chunk-7NBWIU4W.js +1 -0
- package/build/runtime-chunk-7NBWIU4W.js.br +0 -0
- package/build/runtime-chunk-7NBWIU4W.js.gz +0 -0
- package/build/runtime-chunk-ARTGMJ7O.js +1 -0
- package/build/runtime-chunk-ARTGMJ7O.js.br +0 -0
- package/build/runtime-chunk-ARTGMJ7O.js.gz +0 -0
- package/build/runtime-chunk-BXPWRF47.js +1 -0
- package/build/runtime-chunk-BXPWRF47.js.br +0 -0
- package/build/runtime-chunk-BXPWRF47.js.gz +0 -0
- package/build/runtime-chunk-CRYQVRO6.js +1 -0
- package/build/runtime-chunk-CRYQVRO6.js.br +0 -0
- package/build/runtime-chunk-CRYQVRO6.js.gz +0 -0
- package/build/runtime-chunk-CVUJ3GMH.js +1 -0
- package/build/runtime-chunk-CVUJ3GMH.js.br +0 -0
- package/build/runtime-chunk-CVUJ3GMH.js.gz +0 -0
- package/build/runtime-chunk-DJJZN367.js +1 -0
- package/build/runtime-chunk-DJJZN367.js.br +0 -0
- package/build/runtime-chunk-DJJZN367.js.gz +0 -0
- package/build/runtime-chunk-DZNU62CT.js +1 -0
- package/build/runtime-chunk-DZNU62CT.js.br +0 -0
- package/build/runtime-chunk-DZNU62CT.js.gz +0 -0
- package/build/runtime-chunk-EAXCCTR5.js +1 -0
- package/build/runtime-chunk-EAXCCTR5.js.br +0 -0
- package/build/runtime-chunk-EAXCCTR5.js.gz +0 -0
- package/build/runtime-chunk-EOV2DL2V.js +1 -0
- package/build/runtime-chunk-EOV2DL2V.js.br +0 -0
- package/build/runtime-chunk-EOV2DL2V.js.gz +0 -0
- package/build/runtime-chunk-FDRTCOJ5.js +1 -0
- package/build/runtime-chunk-FDRTCOJ5.js.br +0 -0
- package/build/runtime-chunk-FDRTCOJ5.js.gz +0 -0
- package/build/runtime-chunk-FQNSP44B.js +1 -0
- package/build/runtime-chunk-FQNSP44B.js.br +0 -0
- package/build/runtime-chunk-FQNSP44B.js.gz +0 -0
- package/build/runtime-chunk-FTVQTRM7.js +1 -0
- package/build/runtime-chunk-FTVQTRM7.js.br +0 -0
- package/build/runtime-chunk-FTVQTRM7.js.gz +0 -0
- package/build/runtime-chunk-GFTBNL2W.js +1 -0
- package/build/runtime-chunk-GFTBNL2W.js.br +0 -0
- package/build/runtime-chunk-GFTBNL2W.js.gz +0 -0
- package/build/runtime-chunk-H6BPTR74.js +1 -0
- package/build/runtime-chunk-H6BPTR74.js.br +0 -0
- package/build/runtime-chunk-H6BPTR74.js.gz +0 -0
- package/build/runtime-chunk-H6T5LPRN.js +1 -0
- package/build/runtime-chunk-H6T5LPRN.js.br +0 -0
- package/build/runtime-chunk-H6T5LPRN.js.gz +0 -0
- package/build/runtime-chunk-HER7UVU3.js +1 -0
- package/build/runtime-chunk-HER7UVU3.js.br +0 -0
- package/build/runtime-chunk-HER7UVU3.js.gz +0 -0
- package/build/runtime-chunk-J2I4VBHR.js +1 -0
- package/build/runtime-chunk-J2I4VBHR.js.br +0 -0
- package/build/runtime-chunk-J2I4VBHR.js.gz +0 -0
- package/build/runtime-chunk-JFAQQYSH.js +1 -0
- package/build/runtime-chunk-JFAQQYSH.js.br +0 -0
- package/build/runtime-chunk-JFAQQYSH.js.gz +0 -0
- package/build/runtime-chunk-KGZNRID6.js +1 -0
- package/build/runtime-chunk-KGZNRID6.js.br +1 -0
- package/build/runtime-chunk-KGZNRID6.js.gz +0 -0
- package/build/runtime-chunk-LATYCOUS.js +1 -0
- package/build/runtime-chunk-LATYCOUS.js.br +0 -0
- package/build/runtime-chunk-LATYCOUS.js.gz +0 -0
- package/build/runtime-chunk-MBBODDV7.js +1 -0
- package/build/runtime-chunk-MBBODDV7.js.br +0 -0
- package/build/runtime-chunk-MBBODDV7.js.gz +0 -0
- package/build/runtime-chunk-ML3Z74BL.js +1 -0
- package/build/runtime-chunk-ML3Z74BL.js.br +0 -0
- package/build/runtime-chunk-ML3Z74BL.js.gz +0 -0
- package/build/runtime-chunk-MM75L5X4.js +1 -0
- package/build/runtime-chunk-MM75L5X4.js.br +0 -0
- package/build/runtime-chunk-MM75L5X4.js.gz +0 -0
- package/build/runtime-chunk-N2ZRGNPR.js +1 -0
- package/build/runtime-chunk-N2ZRGNPR.js.br +0 -0
- package/build/runtime-chunk-N2ZRGNPR.js.gz +0 -0
- package/build/runtime-chunk-NBYTQLIB.js +1 -0
- package/build/runtime-chunk-NBYTQLIB.js.br +0 -0
- package/build/runtime-chunk-NBYTQLIB.js.gz +0 -0
- package/build/runtime-chunk-NSD7DU3P.js +1 -0
- package/build/runtime-chunk-NSD7DU3P.js.br +0 -0
- package/build/runtime-chunk-NSD7DU3P.js.gz +0 -0
- package/build/runtime-chunk-NTUTXO7Q.js +1 -0
- package/build/runtime-chunk-NTUTXO7Q.js.br +0 -0
- package/build/runtime-chunk-NTUTXO7Q.js.gz +0 -0
- package/build/runtime-chunk-O5NBGIBR.js +1 -0
- package/build/runtime-chunk-O5NBGIBR.js.br +0 -0
- package/build/runtime-chunk-O5NBGIBR.js.gz +0 -0
- package/build/runtime-chunk-OFPUAZKY.js +1 -0
- package/build/runtime-chunk-OFPUAZKY.js.br +0 -0
- package/build/runtime-chunk-OFPUAZKY.js.gz +0 -0
- package/build/runtime-chunk-OW6T4XFV.js +1 -0
- package/build/runtime-chunk-OW6T4XFV.js.br +0 -0
- package/build/runtime-chunk-OW6T4XFV.js.gz +0 -0
- package/build/runtime-chunk-QZ35BPGB.js +1 -0
- package/build/runtime-chunk-QZ35BPGB.js.br +0 -0
- package/build/runtime-chunk-QZ35BPGB.js.gz +0 -0
- package/build/runtime-chunk-R43XZP65.js +1 -0
- package/build/runtime-chunk-R43XZP65.js.br +0 -0
- package/build/runtime-chunk-R43XZP65.js.gz +0 -0
- package/build/runtime-chunk-T53JMQSH.js +1 -0
- package/build/runtime-chunk-T53JMQSH.js.br +0 -0
- package/build/runtime-chunk-T53JMQSH.js.gz +0 -0
- package/build/runtime-chunk-T6CHRQ6N.js +1 -0
- package/build/runtime-chunk-T6CHRQ6N.js.br +0 -0
- package/build/runtime-chunk-T6CHRQ6N.js.gz +0 -0
- package/build/runtime-chunk-TU4KDRKR.js +1 -0
- package/build/runtime-chunk-TU4KDRKR.js.br +0 -0
- package/build/runtime-chunk-TU4KDRKR.js.gz +0 -0
- package/build/runtime-chunk-TZCHGFVF.js +1 -0
- package/build/runtime-chunk-TZCHGFVF.js.br +3 -0
- package/build/runtime-chunk-TZCHGFVF.js.gz +0 -0
- package/build/runtime-chunk-UK4GQHMO.js +1 -0
- package/build/runtime-chunk-UK4GQHMO.js.br +0 -0
- package/build/runtime-chunk-UK4GQHMO.js.gz +0 -0
- package/build/runtime-chunk-USXMESRF.js +1 -0
- package/build/runtime-chunk-USXMESRF.js.br +0 -0
- package/build/runtime-chunk-USXMESRF.js.gz +0 -0
- package/build/runtime-chunk-VAVYZ35B.js +1 -0
- package/build/runtime-chunk-VAVYZ35B.js.br +0 -0
- package/build/runtime-chunk-VAVYZ35B.js.gz +0 -0
- package/build/runtime-chunk-VGN7YHB7.js +1 -0
- package/build/runtime-chunk-VGN7YHB7.js.br +0 -0
- package/build/runtime-chunk-VGN7YHB7.js.gz +0 -0
- package/build/runtime-chunk-W7QPV37Y.js +1 -0
- package/build/runtime-chunk-W7QPV37Y.js.br +1 -0
- package/build/runtime-chunk-W7QPV37Y.js.gz +0 -0
- package/build/runtime-chunk-WQXDDUFV.js +1 -0
- package/build/runtime-chunk-WQXDDUFV.js.br +0 -0
- package/build/runtime-chunk-WQXDDUFV.js.gz +0 -0
- package/build/runtime-chunk-XLOQIQSS.js +1 -0
- package/build/runtime-chunk-XLOQIQSS.js.br +0 -0
- package/build/runtime-chunk-XLOQIQSS.js.gz +0 -0
- package/build/runtime-chunk-Y3BMDVJ7.js +1 -0
- package/build/runtime-chunk-Y3BMDVJ7.js.br +0 -0
- package/build/runtime-chunk-Y3BMDVJ7.js.gz +0 -0
- package/build/runtime-chunk-YUK55LCN.js +1 -0
- package/build/runtime-chunk-YUK55LCN.js.br +0 -0
- package/build/runtime-chunk-YUK55LCN.js.gz +0 -0
- package/build/runtime-chunk-YVNDW5TV.js +1 -0
- package/build/runtime-chunk-YVNDW5TV.js.br +0 -0
- package/build/runtime-chunk-YVNDW5TV.js.gz +0 -0
- package/build/runtime-chunk-YXATXASV.js +1 -0
- package/build/runtime-chunk-YXATXASV.js.br +1 -0
- package/build/runtime-chunk-YXATXASV.js.gz +0 -0
- package/build/runtime-chunk-Z5OH244S.js +1 -0
- package/build/runtime-chunk-Z5OH244S.js.br +0 -0
- package/build/runtime-chunk-Z5OH244S.js.gz +0 -0
- package/build/runtime-classicRuntime-F5CEZRNL.js +1 -0
- package/build/runtime-classicRuntime-F5CEZRNL.js.br +0 -0
- package/build/runtime-classicRuntime-F5CEZRNL.js.gz +0 -0
- package/build/runtime-cloners-BLAFVALM.js +1 -0
- package/build/runtime-cloners-BLAFVALM.js.br +0 -0
- package/build/runtime-cloners-BLAFVALM.js.gz +0 -0
- package/build/runtime-collisionBVH-KXZNWTEK.js +1 -0
- package/build/runtime-collisionBVH-KXZNWTEK.js.br +0 -0
- package/build/runtime-collisionBVH-KXZNWTEK.js.gz +0 -0
- package/build/runtime-components-DYNXEVOC.js +1 -0
- package/build/runtime-components-DYNXEVOC.js.br +0 -0
- package/build/runtime-components-DYNXEVOC.js.gz +0 -0
- package/build/runtime-conditional-3A423CXW.js +1 -0
- package/build/runtime-conditional-3A423CXW.js.br +0 -0
- package/build/runtime-conditional-3A423CXW.js.gz +0 -0
- package/build/runtime-createDestroy-FUUG7UAK.js +1 -0
- package/build/runtime-createDestroy-FUUG7UAK.js.br +0 -0
- package/build/runtime-createDestroy-FUUG7UAK.js.gz +0 -0
- package/build/runtime-depthOfField-BBWDHJYP.js +1 -0
- package/build/runtime-depthOfField-BBWDHJYP.js.br +0 -0
- package/build/runtime-depthOfField-BBWDHJYP.js.gz +0 -0
- package/build/runtime-dragDrop-GPFMU3ZB.js +1 -0
- package/build/runtime-dragDrop-GPFMU3ZB.js.br +0 -0
- package/build/runtime-dragDrop-GPFMU3ZB.js.gz +0 -0
- package/build/runtime-fxBloom-IGFV4KJD.js +1 -0
- package/build/runtime-fxBloom-IGFV4KJD.js.br +0 -0
- package/build/runtime-fxBloom-IGFV4KJD.js.gz +0 -0
- package/build/runtime-fxDepthOfField-WX7WD3K4.js +1 -0
- package/build/runtime-fxDepthOfField-WX7WD3K4.js.br +0 -0
- package/build/runtime-fxDepthOfField-WX7WD3K4.js.gz +0 -0
- package/build/runtime-gameControls-TGEINRCX.js +1 -0
- package/build/runtime-gameControls-TGEINRCX.js.br +0 -0
- package/build/runtime-gameControls-TGEINRCX.js.gz +0 -0
- package/build/runtime-hair-YOTI2EFL.js +1 -0
- package/build/runtime-hair-YOTI2EFL.js.br +0 -0
- package/build/runtime-hair-YOTI2EFL.js.gz +0 -0
- package/build/runtime-hueSaturation-X3HAZK2G.js +1 -0
- package/build/runtime-hueSaturation-X3HAZK2G.js.br +0 -0
- package/build/runtime-hueSaturation-X3HAZK2G.js.gz +0 -0
- package/build/runtime-mergeStaticGeometries-JI7YWYGH.js +1 -0
- package/build/runtime-mergeStaticGeometries-JI7YWYGH.js.br +3 -0
- package/build/runtime-mergeStaticGeometries-JI7YWYGH.js.gz +0 -0
- package/build/runtime-miscActions-INSZA2CP.js +1 -0
- package/build/runtime-miscActions-INSZA2CP.js.br +0 -0
- package/build/runtime-miscActions-INSZA2CP.js.gz +0 -0
- package/build/runtime-mouseHover-GZW7KW6H.js +1 -0
- package/build/runtime-mouseHover-GZW7KW6H.js.br +0 -0
- package/build/runtime-mouseHover-GZW7KW6H.js.gz +0 -0
- package/build/runtime-navmesh-UJTUAHXM.js +1 -0
- package/build/runtime-navmesh-UJTUAHXM.js.br +0 -0
- package/build/runtime-navmesh-UJTUAHXM.js.gz +0 -0
- package/build/runtime-noise-UF5CMIO3.js +1 -0
- package/build/runtime-noise-UF5CMIO3.js.br +0 -0
- package/build/runtime-noise-UF5CMIO3.js.gz +0 -0
- package/build/runtime-particles-T2CREK6M.js +1 -0
- package/build/runtime-particles-T2CREK6M.js.br +0 -0
- package/build/runtime-particles-T2CREK6M.js.gz +0 -0
- package/build/runtime-paths-PRHQFJ3X.js +1 -0
- package/build/runtime-paths-PRHQFJ3X.js.br +0 -0
- package/build/runtime-paths-PRHQFJ3X.js.gz +0 -0
- package/build/runtime-pixelation-QFSF4L6X.js +1 -0
- package/build/runtime-pixelation-QFSF4L6X.js.br +0 -0
- package/build/runtime-pixelation-QFSF4L6X.js.gz +0 -0
- package/build/runtime-resize-SM6PZWJY.js +1 -0
- package/build/runtime-resize-SM6PZWJY.js.br +0 -0
- package/build/runtime-resize-SM6PZWJY.js.gz +0 -0
- package/build/runtime-sceneTransition-JUZVB2S3.js +1 -0
- package/build/runtime-sceneTransition-JUZVB2S3.js.br +0 -0
- package/build/runtime-sceneTransition-JUZVB2S3.js.gz +0 -0
- package/build/runtime-scroll-Q6NRRL4F.js +1 -0
- package/build/runtime-scroll-Q6NRRL4F.js.br +0 -0
- package/build/runtime-scroll-Q6NRRL4F.js.gz +0 -0
- package/build/runtime-shapeBlends-CPHLT3XC.js +1 -0
- package/build/runtime-shapeBlends-CPHLT3XC.js.br +0 -0
- package/build/runtime-shapeBlends-CPHLT3XC.js.gz +0 -0
- package/build/runtime-text-TBHPCNPL.js +1 -0
- package/build/runtime-text-TBHPCNPL.js.br +0 -0
- package/build/runtime-text-TBHPCNPL.js.gz +0 -0
- package/build/runtime-textInputs-4HQER44D.js +1 -0
- package/build/runtime-textInputs-4HQER44D.js.br +0 -0
- package/build/runtime-textInputs-4HQER44D.js.gz +0 -0
- package/build/runtime-timeline-UKR4DEQS.js +1 -0
- package/build/runtime-timeline-UKR4DEQS.js.br +0 -0
- package/build/runtime-timeline-UKR4DEQS.js.gz +0 -0
- package/build/runtime-tracking-5HISHPEY.js +1 -0
- package/build/runtime-tracking-5HISHPEY.js.br +0 -0
- package/build/runtime-tracking-5HISHPEY.js.gz +0 -0
- package/build/runtime-transitions-FBNOSFXY.js +1 -0
- package/build/runtime-transitions-FBNOSFXY.js.br +0 -0
- package/build/runtime-transitions-FBNOSFXY.js.gz +0 -0
- package/build/runtime-ui2d-3AMS3CSG.js +1 -0
- package/build/runtime-ui2d-3AMS3CSG.js.br +0 -0
- package/build/runtime-ui2d-3AMS3CSG.js.gz +0 -0
- package/build/runtime-updater-3ELP7WMM.js +1 -0
- package/build/runtime-updater-3ELP7WMM.js.br +1 -0
- package/build/runtime-updater-3ELP7WMM.js.gz +0 -0
- package/build/runtime-variables-U36KPJ5V.js +1 -0
- package/build/runtime-variables-U36KPJ5V.js.br +0 -0
- package/build/runtime-variables-U36KPJ5V.js.gz +0 -0
- package/build/runtime-vectorShapes-GIS26ELU.js +1 -0
- package/build/runtime-vectorShapes-GIS26ELU.js.br +0 -0
- package/build/runtime-vectorShapes-GIS26ELU.js.gz +0 -0
- package/build/runtime-video-TZNR7MEM.js +1 -0
- package/build/runtime-video-TZNR7MEM.js.br +0 -0
- package/build/runtime-video-TZNR7MEM.js.gz +0 -0
- package/build/runtime-vignette-3KJD4P5D.js +1 -0
- package/build/runtime-vignette-3KJD4P5D.js.br +0 -0
- package/build/runtime-vignette-3KJD4P5D.js.gz +0 -0
- package/build/runtime-webgpu-LYDFJW3X.js +1 -0
- package/build/runtime-webgpu-LYDFJW3X.js.br +0 -0
- package/build/runtime-webgpu-LYDFJW3X.js.gz +0 -0
- package/build/runtime.cjs +6286 -4569
- package/build/runtime.js +1 -8175
- package/build/runtime.js.br +0 -0
- package/build/runtime.js.gz +0 -0
- package/build/runtime.standalone.js +1 -0
- package/build/runtime.standalone.js.br +0 -0
- package/build/runtime.standalone.js.gz +0 -0
- package/build/runtime.standalone.webgl.js +1 -0
- package/build/runtime.standalone.webgl.js.br +0 -0
- package/build/runtime.standalone.webgl.js.gz +0 -0
- package/build/runtime.standalone.webgpu.js +1 -0
- package/build/runtime.standalone.webgpu.js.br +0 -0
- package/build/runtime.standalone.webgpu.js.gz +0 -0
- package/build/runtime.standalone.webgpu.micro.js +1 -0
- package/build/runtime.standalone.webgpu.micro.js.br +0 -0
- package/build/runtime.standalone.webgpu.micro.js.gz +0 -0
- package/build/runtime.standalone.webgpu.min.js +1 -0
- package/build/runtime.standalone.webgpu.min.js.br +0 -0
- package/build/runtime.standalone.webgpu.min.js.gz +0 -0
- package/build/sky-alto.png +0 -0
- package/build/sky-cirrus.png +0 -0
- package/build/smaa-area.png +0 -0
- package/build/smaa-node-area.png +0 -0
- package/build/smaa-node-search.png +0 -0
- package/build/smaa-search.png +0 -0
- package/build/snippets/hana-82e9eb82a79dead4/js-imports.js +93 -0
- package/package.json +104 -89
- package/runtime.d.ts +301 -2
- package/build/ui.js +0 -3
package/README.md
CHANGED
|
@@ -266,34 +266,207 @@ app.load('scene.spline').then(async () => {
|
|
|
266
266
|
});
|
|
267
267
|
```
|
|
268
268
|
|
|
269
|
+
### HTML content
|
|
270
|
+
|
|
271
|
+
Scenes can carry an HTML document authored in the editor's HTML frame
|
|
272
|
+
(`scene.publish.htmlContent` in the `.splinecode`). When present, the runtime
|
|
273
|
+
automatically presents it over the canvas after `load()`/`start()`, connected
|
|
274
|
+
to the Application through the injected `spline` API — variables, object
|
|
275
|
+
queries, transient transforms, events. Pointer events on the page background
|
|
276
|
+
pass through to the canvas, so orbit and scene interactions keep working. It
|
|
277
|
+
is removed on `dispose()`. No setup is required; the canvas's parent element
|
|
278
|
+
hosts the content (it is given `position: relative` when static).
|
|
279
|
+
|
|
280
|
+
The `htmlContentMode` constructor option picks the presentation:
|
|
281
|
+
|
|
282
|
+
- `sandbox` (default) — a sandboxed iframe (no `allow-same-origin`): the
|
|
283
|
+
content's scripts run in an opaque origin and cannot touch the host page.
|
|
284
|
+
Keep this wherever a page embeds scenes it didn't author; `spline.*` calls
|
|
285
|
+
cross a postMessage boundary, so writes land one frame late.
|
|
286
|
+
- `inline` — the content is grafted into the host document and its scripts
|
|
287
|
+
run as ordinary page scripts, with `window.spline` bound directly to the
|
|
288
|
+
Application: calls execute synchronously inside the caller's frame (the
|
|
289
|
+
API stays promise-returning, so the same authored code runs unchanged in
|
|
290
|
+
either mode). Spline's own web exports use this. Only pass it when the
|
|
291
|
+
page author is the scene author — inline scripts run with the page's
|
|
292
|
+
origin. Inline mode additionally exposes `spline.createCustomMaterial`
|
|
293
|
+
(custom three.js/TSL materials — see below), which the sandbox cannot
|
|
294
|
+
carry.
|
|
295
|
+
- `none` — don't present the HTML content at all.
|
|
296
|
+
|
|
269
297
|
## API
|
|
270
298
|
|
|
271
299
|
### Spline Application Methods
|
|
272
300
|
|
|
273
301
|
You can call all these different methods on the Spline `Application` instance.
|
|
274
302
|
|
|
275
|
-
| Name | Type
|
|
276
|
-
| --------------------- |
|
|
277
|
-
| `addEventListener` | `(eventName: SplineEventName, cb: (e: SplineEvent) => void) => void`
|
|
278
|
-
| `removeEventListener` | `(eventName: SplineEventName, cb: (e: SplineEvent) => void) => void`
|
|
279
|
-
| `emitEvent` | `(eventName: SplineEventName, nameOrUuid: string) => void`
|
|
280
|
-
| `emitEventReverse` | `(eventName: SplineEventName, nameOrUuid: string) => void`
|
|
281
|
-
| `findObjectById` | `(uuid: string) => SPEObject`
|
|
282
|
-
| `findObjectByName` | `(name: string) => SPEObject`
|
|
283
|
-
| `setZoom` | `(zoom: number) => void`
|
|
284
|
-
| `setSize` | `(width: number, height: number) => void`
|
|
285
|
-
| `setVariables` | `(variables: Record<string, string \| number \| boolean>) => void`
|
|
286
|
-
| `setVariable` | `(name: string, value: string \| number \| boolean) => void`
|
|
287
|
-
| `getVariables` | `() => Record<string, string \| number \| boolean>`
|
|
288
|
-
| `getVariable` | `(name: string, value: string \| number \| boolean) => void`
|
|
289
|
-
| `stop` | `() => void`
|
|
290
|
-
| `play` | `() => void`
|
|
291
|
-
| `pauseGameControls` | `() => void`
|
|
292
|
-
| `resumeGameControls` | `() => void`
|
|
293
|
-
| `setBackgroundColor` | `(color:string) => void`
|
|
294
|
-
| `getAllObjects` | `() => SPEObject[]`
|
|
295
|
-
| `getSplineEvents` | `() => Object[]`
|
|
296
|
-
| `swapGeometry` | `(target: string, content: string \| Uint8Array) => Promise<void>`
|
|
303
|
+
| Name | Type | Description |
|
|
304
|
+
| --------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
305
|
+
| `addEventListener` | `(eventName: SplineEventName, cb: (e: SplineEvent) => void) => void` | Add an event listener for Spline events. |
|
|
306
|
+
| `removeEventListener` | `(eventName: SplineEventName, cb: (e: SplineEvent) => void) => void` | Remove an event listener for Spline events. |
|
|
307
|
+
| `emitEvent` | `(eventName: SplineEventName, nameOrUuid: string) => void` | Triggers a Spline event associated to an object with provided name or uuid in reverse order. Starts from first state to last state. |
|
|
308
|
+
| `emitEventReverse` | `(eventName: SplineEventName, nameOrUuid: string) => void` | Triggers a Spline event associated to an object with provided name or uuid in reverse order. Starts from last state to first state. |
|
|
309
|
+
| `findObjectById` | `(uuid: string) => SPEObject` | Searches through scene's children and returns the object with that uuid. |
|
|
310
|
+
| `findObjectByName` | `(name: string) => SPEObject` | Searches through scene's children and returns the first object with that name. |
|
|
311
|
+
| `setZoom` | `(zoom: number) => void` | Sets the camera zoom, expects a number value > 0 where 1 is base zoom. |
|
|
312
|
+
| `setSize` | `(width: number, height: number) => void` | Sets the size of the application and canvas. When called, Spline will stop automatic size updates. |
|
|
313
|
+
| `setVariables` | `(variables: Record<string, string \| number \| boolean>) => void` | Updates values for passed variables by name. |
|
|
314
|
+
| `setVariable` | `(name: string, value: string \| number \| boolean) => void` | Updates value for passed variable by name. |
|
|
315
|
+
| `getVariables` | `() => Record<string, string \| number \| boolean>` | Returns a record mapping variable names to their respective current values. |
|
|
316
|
+
| `getVariable` | `(name: string, value: string \| number \| boolean) => void` | Get current value for a specific variable from its name. |
|
|
317
|
+
| `stop` | `() => void` | Stop/Pause all rendering controls and events. |
|
|
318
|
+
| `play` | `() => void` | Play/Resume rendering, controls and events. |
|
|
319
|
+
| `pauseGameControls` | `() => void` | Stop/Pause Game Controls if any. |
|
|
320
|
+
| `resumeGameControls` | `() => void` | Play/Resume Game Controls if any. |
|
|
321
|
+
| `setBackgroundColor` | `(color:string) => void` | Manually sets the scene/canvas background color with a css color value. |
|
|
322
|
+
| `getAllObjects` | `() => SPEObject[]` | Returns a flat list of all the objects present in the scene. |
|
|
323
|
+
| `getSplineEvents` | `() => Object[]` | Returns an array listing all the Spline events used in the scene. |
|
|
324
|
+
| `swapGeometry` | `(target: string, content: string \| Uint8Array) => Promise<void>` | Replace the geometry from target if it is a mesh. Target parameter can be object name or uuid. Content parameter is url to `.splinegeometry` file. |
|
|
325
|
+
| `createObject` | `(type: string, options?: CreateObjectOptions) => Promise<SPEObject>` | Creates a new object in the loaded scene (shapes, groups, lights, text) and returns its SPEObject proxy. See [Creating objects at runtime](#creating-objects-at-runtime). |
|
|
326
|
+
| `cloneObject` | `(source: string \| SPEObject, options?: CloneObjectOptions) => SPEObject` | Deep-clones an existing object (any type, including its subtree) with fresh ids and returns the clone's proxy. |
|
|
327
|
+
| `removeObject` | `(target: string \| SPEObject) => boolean` | Removes an object (and its whole subtree) from the scene. Returns false when no object matched. |
|
|
328
|
+
|
|
329
|
+
### Creating objects at runtime
|
|
330
|
+
|
|
331
|
+
`createObject` builds a new Spline object in the loaded scene. Objects created
|
|
332
|
+
this way live only in the current runtime session — they are never persisted
|
|
333
|
+
back to the Spline file.
|
|
334
|
+
|
|
335
|
+
```js
|
|
336
|
+
// A shape: the 'Geometry' suffix is optional, geometry parameters are flat.
|
|
337
|
+
const cube = await spline.createObject('Cube', {
|
|
338
|
+
position: [0, 100, 0],
|
|
339
|
+
width: 150,
|
|
340
|
+
cornerRadius: 12,
|
|
341
|
+
material: { color: '#ff3b30', roughness: 0.4 },
|
|
342
|
+
});
|
|
343
|
+
cube.position.y = 200; // the returned proxy is the same handle findObjectByName gives
|
|
344
|
+
|
|
345
|
+
// Reuse a shared material from the document by its name — the material stays
|
|
346
|
+
// genuinely shared, so restyling it restyles every object using it.
|
|
347
|
+
await spline.createObject('Sphere', {
|
|
348
|
+
material: 'Chrome',
|
|
349
|
+
position: { x: 120 },
|
|
350
|
+
});
|
|
351
|
+
|
|
352
|
+
// Text (loads the text feature + font on demand the first time).
|
|
353
|
+
await spline.createObject('Text', { text: 'hello', fontSize: 48 });
|
|
354
|
+
|
|
355
|
+
// Raw vertex geometry — compute the arrays yourself (terrain, low-poly rocks,
|
|
356
|
+
// generative sculpture). Winding slips are safety-netted: closed solids wound
|
|
357
|
+
// inside-out are flipped, open surfaces render double-sided.
|
|
358
|
+
await spline.createObject('CustomMesh', {
|
|
359
|
+
vertices: [0, 0, 0, 100, 0, 0, 50, 100, 0], // flat [x,y,z, …]; Float32Array ok
|
|
360
|
+
indices: [0, 2, 1], // optional (omit for non-indexed, per-face vertices)
|
|
361
|
+
color: '#8a5a2b',
|
|
362
|
+
});
|
|
363
|
+
|
|
364
|
+
// Groups and lights.
|
|
365
|
+
const group = await spline.createObject('Group', { name: 'Spawned' });
|
|
366
|
+
await spline.createObject('PointLight', {
|
|
367
|
+
parent: group,
|
|
368
|
+
intensity: 2,
|
|
369
|
+
color: '#88f',
|
|
370
|
+
});
|
|
371
|
+
|
|
372
|
+
// Clone anything already in the scene — including types createObject can't
|
|
373
|
+
// build (imported models, vectors, booleans, …).
|
|
374
|
+
const copy = spline.cloneObject('Rocket', { position: [50, 0, 0] });
|
|
375
|
+
|
|
376
|
+
// And remove objects again.
|
|
377
|
+
spline.removeObject(copy);
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
Supported `createObject` types: `Cube`, `Sphere`, `Plane`, `Rectangle`,
|
|
381
|
+
`Ellipse`, `Triangle`, `Polygon`, `Star`, `Cone`, `Cylinder`, `Pyramid`,
|
|
382
|
+
`Torus`, `TorusKnot`, `Dodecahedron`, `Icosahedron`, `Helix`, `Backdrop`,
|
|
383
|
+
`Lathe`, `Text`, `CustomMesh`, `Group`, `PointLight`, `SpotLight`,
|
|
384
|
+
`DirectionalLight`. For anything else (paths, vectors, booleans, particles,
|
|
385
|
+
UI…), clone an existing object with `cloneObject`.
|
|
386
|
+
|
|
387
|
+
`CustomMesh` options: `vertices` (required — flat `[x,y,z, …]` `number[]` or
|
|
388
|
+
`Float32Array`, max 60000 vertices), `indices` (triangle vertex indices,
|
|
389
|
+
optional), `normals`/`uvs` (optional; normals are computed when omitted).
|
|
390
|
+
Vertices are used at their real world-unit size. Indexed meshes get smooth
|
|
391
|
+
normals; for a faceted look omit `indices` and duplicate vertices per
|
|
392
|
+
triangle.
|
|
393
|
+
|
|
394
|
+
Notes:
|
|
395
|
+
|
|
396
|
+
- `rotation` in the options is in **degrees** (Spline's convention); the
|
|
397
|
+
returned proxy's `.rotation` is a three.js Euler in **radians**.
|
|
398
|
+
- In the code-split build, the first `createObject('Text')` fetches the text
|
|
399
|
+
feature chunk and the font on demand. Per-scene compiled builds that were
|
|
400
|
+
exported without the text feature reject Text creation with a clear error.
|
|
401
|
+
- Created/cloned objects don't join an already-initialized physics simulation.
|
|
402
|
+
|
|
403
|
+
#### Custom WebGPU Three.js TSL shader materials — `createCustomMaterial`
|
|
404
|
+
|
|
405
|
+
For custom shaders, build a TSL NodeMaterial with `createCustomMaterial`. The
|
|
406
|
+
factory receives the runtime's **bundled** three instance — the only one TSL
|
|
407
|
+
node graphs can compile in (TSL keeps per-module global state, so a material
|
|
408
|
+
built from your own `three/webgpu` import can never work; the runtime bundles
|
|
409
|
+
its own copy of three). The namespace carries the full `tsl` function object
|
|
410
|
+
(`Fn`, `uniform`, `vec3`, `texture`, `wgslFn`, `positionLocal`, …), the
|
|
411
|
+
NodeMaterial classes, and core essentials (`Color`, vectors, texture classes,
|
|
412
|
+
side/blending/wrapping constants).
|
|
413
|
+
|
|
414
|
+
```js
|
|
415
|
+
const pulse = await spline.createCustomMaterial((three) => {
|
|
416
|
+
const { tsl } = three;
|
|
417
|
+
const m = new three.MeshStandardNodeMaterial();
|
|
418
|
+
m.colorNode = tsl.mix(
|
|
419
|
+
tsl.vec3(1, 0, 1),
|
|
420
|
+
tsl.vec3(0, 1, 1),
|
|
421
|
+
tsl.sin(tsl.time).mul(0.5).add(0.5)
|
|
422
|
+
);
|
|
423
|
+
return m;
|
|
424
|
+
});
|
|
425
|
+
|
|
426
|
+
// Reusable: share one material across any number of objects.
|
|
427
|
+
await spline.createObject('Sphere', { material: pulse });
|
|
428
|
+
await spline.createObject('Torus', { material: pulse, position: [200, 0, 0] });
|
|
429
|
+
|
|
430
|
+
// createObject also accepts the factory form directly (like setMaterial):
|
|
431
|
+
await spline.createObject('Cone', {
|
|
432
|
+
material: (three) => new three.MeshNormalNodeMaterial(),
|
|
433
|
+
});
|
|
434
|
+
|
|
435
|
+
// And replace an EXISTING mesh's material (instance or factory) — pinned:
|
|
436
|
+
// states/transitions no longer restyle it, and there is no unset.
|
|
437
|
+
await spline.setMaterial('Cube', pulse);
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
Typing escape hatch — with `@types/three` installed, cast the namespace for
|
|
441
|
+
full TSL types (keep your `three` on the runtime's minor, 0.185):
|
|
442
|
+
|
|
443
|
+
```ts
|
|
444
|
+
const t = three as unknown as typeof import('three/webgpu') & {
|
|
445
|
+
tsl: typeof import('three/tsl');
|
|
446
|
+
};
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
Support matrix:
|
|
450
|
+
|
|
451
|
+
- **WebGPU backend only** (the default wherever WebGPU is available).
|
|
452
|
+
- **Built-in materials** (`MeshStandardMaterial`, `MeshPhysicalMaterial`,
|
|
453
|
+
`MeshBasicMaterial`, `MeshNormalMaterial`, `MeshMatcapMaterial`, …) — they
|
|
454
|
+
are converted by three's node library, which looks materials up by their
|
|
455
|
+
`type` string, so your own three module instance is fine. **TSL
|
|
456
|
+
NodeMaterials** are supported when built with `createCustomMaterial` (instances
|
|
457
|
+
from your own `three/webgpu` import throw — separate module instance).
|
|
458
|
+
**GLSL `ShaderMaterial`/`RawShaderMaterial` throw** (the WebGPU node
|
|
459
|
+
pipeline can't compile GLSL) — port custom shaders to TSL via
|
|
460
|
+
`createCustomMaterial`.
|
|
461
|
+
- Scene **lights and shadows apply**; Spline's environment/HDRI IBL does
|
|
462
|
+
**not** — set your own `envMap` if you need reflections.
|
|
463
|
+
- Spline's side/flat-shading panel data no longer applies to the mesh — set
|
|
464
|
+
`material.side` yourself (e.g. `THREE.DoubleSide` for open CustomMesh
|
|
465
|
+
surfaces).
|
|
466
|
+
- The material is **yours**: the runtime never disposes it, and the returned
|
|
467
|
+
proxy's `.material` is your instance (behind a transparent change-tracking
|
|
468
|
+
wrapper, so edits through it re-render automatically), not a layered
|
|
469
|
+
snapshot.
|
|
297
470
|
|
|
298
471
|
### Spline Objects Methods and Properties
|
|
299
472
|
|