@splinetool/runtime 2.0.72 → 2.0.74
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/AGENTS.md +245 -0
- package/build/{runtime-chunk-UFEKX2KH.js → runtime-chunk-2BGTDNPM.js} +1 -1
- package/build/runtime-chunk-2BGTDNPM.js.br +0 -0
- package/build/runtime-chunk-2BGTDNPM.js.gz +0 -0
- package/build/{runtime-chunk-2W3XFRTZ.js → runtime-chunk-3BVK77PB.js} +1 -1
- package/build/runtime-chunk-3BVK77PB.js.br +0 -0
- package/build/runtime-chunk-3BVK77PB.js.gz +0 -0
- package/build/{runtime-chunk-NFU26B3N.js → runtime-chunk-3IDUZQCX.js} +1 -1
- package/build/runtime-chunk-3IDUZQCX.js.br +0 -0
- package/build/runtime-chunk-3IDUZQCX.js.gz +0 -0
- package/build/{runtime-chunk-MD3MRPBS.js → runtime-chunk-7EZLEGAR.js} +1 -1
- package/build/runtime-chunk-7EZLEGAR.js.br +0 -0
- package/build/runtime-chunk-7EZLEGAR.js.gz +0 -0
- package/build/{runtime-chunk-BIWN33UT.js → runtime-chunk-AHV7KLQP.js} +1 -1
- package/build/runtime-chunk-AHV7KLQP.js.br +0 -0
- package/build/runtime-chunk-AHV7KLQP.js.gz +0 -0
- package/build/{runtime-chunk-DA27AWYB.js → runtime-chunk-GAIDJXNU.js} +1 -1
- package/build/runtime-chunk-GAIDJXNU.js.br +0 -0
- package/build/runtime-chunk-GAIDJXNU.js.gz +0 -0
- package/build/{runtime-chunk-4UM6F5Y5.js → runtime-chunk-HT3IDSSP.js} +1 -1
- package/build/runtime-chunk-HT3IDSSP.js.br +0 -0
- package/build/runtime-chunk-HT3IDSSP.js.gz +0 -0
- package/build/{runtime-chunk-WGQDLFC4.js → runtime-chunk-I4ELBYXH.js} +1 -1
- package/build/runtime-chunk-I4ELBYXH.js.br +0 -0
- package/build/runtime-chunk-I4ELBYXH.js.gz +0 -0
- package/build/{runtime-chunk-GWWLLXI6.js → runtime-chunk-IDLPSZ23.js} +1 -1
- package/build/runtime-chunk-IDLPSZ23.js.br +0 -0
- package/build/runtime-chunk-IDLPSZ23.js.gz +0 -0
- package/build/{runtime-chunk-JJPB3HUE.js → runtime-chunk-ITY6YQG7.js} +1 -1
- package/build/runtime-chunk-ITY6YQG7.js.br +0 -0
- package/build/runtime-chunk-ITY6YQG7.js.gz +0 -0
- package/build/{runtime-chunk-XINIFQH4.js → runtime-chunk-LHETPF7C.js} +1 -1
- package/build/runtime-chunk-LHETPF7C.js.br +0 -0
- package/build/runtime-chunk-LHETPF7C.js.gz +0 -0
- package/build/{runtime-chunk-XVPD2RMH.js → runtime-chunk-MB4PQARC.js} +1 -1
- package/build/runtime-chunk-MB4PQARC.js.br +0 -0
- package/build/runtime-chunk-MB4PQARC.js.gz +0 -0
- package/build/{runtime-chunk-YAYGHTVH.js → runtime-chunk-OGOYYKTI.js} +1 -1
- package/build/runtime-chunk-OGOYYKTI.js.br +0 -0
- package/build/runtime-chunk-OGOYYKTI.js.gz +0 -0
- package/build/{runtime-chunk-4DBC4IGT.js → runtime-chunk-PLFQ6EYP.js} +1 -1
- package/build/runtime-chunk-PLFQ6EYP.js.br +0 -0
- package/build/runtime-chunk-PLFQ6EYP.js.gz +0 -0
- package/build/{runtime-chunk-OSMLEERI.js → runtime-chunk-RAC7ZRCY.js} +1 -1
- package/build/runtime-chunk-RAC7ZRCY.js.br +0 -0
- package/build/runtime-chunk-RAC7ZRCY.js.gz +0 -0
- package/build/{runtime-chunk-DVJDUERJ.js → runtime-chunk-RF5RJ7WV.js} +1 -1
- package/build/runtime-chunk-RF5RJ7WV.js.br +0 -0
- package/build/runtime-chunk-RF5RJ7WV.js.gz +0 -0
- package/build/runtime-chunk-RQMCMQVY.js +1 -0
- package/build/runtime-chunk-RQMCMQVY.js.br +0 -0
- package/build/runtime-chunk-RQMCMQVY.js.gz +0 -0
- package/build/{runtime-chunk-7W7YLDAL.js → runtime-chunk-S4LSS4IT.js} +1 -1
- package/build/runtime-chunk-S4LSS4IT.js.br +0 -0
- package/build/runtime-chunk-S4LSS4IT.js.gz +0 -0
- package/build/{runtime-chunk-FZQTKGRC.js → runtime-chunk-SPQPAGPZ.js} +1 -1
- package/build/runtime-chunk-SPQPAGPZ.js.br +0 -0
- package/build/runtime-chunk-SPQPAGPZ.js.gz +0 -0
- package/build/{runtime-chunk-4JASYPCF.js → runtime-chunk-TSG4YZAG.js} +1 -1
- package/build/runtime-chunk-TSG4YZAG.js.br +0 -0
- package/build/runtime-chunk-TSG4YZAG.js.gz +0 -0
- package/build/{runtime-chunk-LMQM5XOS.js → runtime-chunk-U3FFE3XY.js} +1 -1
- package/build/runtime-chunk-U3FFE3XY.js.br +0 -0
- package/build/runtime-chunk-U3FFE3XY.js.gz +0 -0
- package/build/{runtime-chunk-JQLD4OPY.js → runtime-chunk-VFPHGGAW.js} +1 -1
- package/build/runtime-chunk-VFPHGGAW.js.br +1 -0
- package/build/runtime-chunk-VFPHGGAW.js.gz +0 -0
- package/build/{runtime-chunk-XBYRIPUG.js → runtime-chunk-XSOC3ZAU.js} +1 -1
- package/build/runtime-chunk-XSOC3ZAU.js.br +0 -0
- package/build/runtime-chunk-XSOC3ZAU.js.gz +0 -0
- package/build/{runtime-chunk-DWEWYXEP.js → runtime-chunk-YF6YZ4JP.js} +1 -1
- package/build/runtime-chunk-YF6YZ4JP.js.br +0 -0
- package/build/runtime-chunk-YF6YZ4JP.js.gz +0 -0
- package/build/{runtime-chunk-5DZZWLIJ.js → runtime-chunk-ZPGBO3RF.js} +1 -1
- package/build/runtime-chunk-ZPGBO3RF.js.br +0 -0
- package/build/runtime-chunk-ZPGBO3RF.js.gz +0 -0
- package/build/{runtime-classicRuntime-X56XM7O7.js → runtime-classicRuntime-FXFVFMJH.js} +1 -1
- package/build/runtime-classicRuntime-FXFVFMJH.js.br +0 -0
- package/build/runtime-classicRuntime-FXFVFMJH.js.gz +0 -0
- package/build/{runtime-cloners-ZZQ3JSPS.js → runtime-cloners-QC75JC53.js} +1 -1
- package/build/runtime-cloners-QC75JC53.js.br +0 -0
- package/build/runtime-cloners-QC75JC53.js.gz +0 -0
- package/build/{runtime-components-SKDLGSYY.js → runtime-components-X4VSF3YN.js} +1 -1
- package/build/runtime-components-X4VSF3YN.js.br +0 -0
- package/build/runtime-components-X4VSF3YN.js.gz +0 -0
- package/build/{runtime-createDestroy-3WWJS6DW.js → runtime-createDestroy-VA7S3QOX.js} +1 -1
- package/build/runtime-createDestroy-VA7S3QOX.js.br +0 -0
- package/build/runtime-createDestroy-VA7S3QOX.js.gz +0 -0
- package/build/{runtime-dragDrop-5EB5RFKO.js → runtime-dragDrop-MMW4JJK5.js} +1 -1
- package/build/runtime-dragDrop-MMW4JJK5.js.br +0 -0
- package/build/runtime-dragDrop-MMW4JJK5.js.gz +0 -0
- package/build/{runtime-gameControls-Q2KBFYRA.js → runtime-gameControls-RTLF3SFV.js} +1 -1
- package/build/runtime-gameControls-RTLF3SFV.js.br +0 -0
- package/build/runtime-gameControls-RTLF3SFV.js.gz +0 -0
- package/build/{runtime-hair-LIZCJ4W7.js → runtime-hair-VQLVGARM.js} +1 -1
- package/build/runtime-hair-VQLVGARM.js.br +1 -0
- package/build/runtime-hair-VQLVGARM.js.gz +0 -0
- package/build/{runtime-mergeStaticGeometries-PVN5C5JP.js → runtime-mergeStaticGeometries-O3ASOOEF.js} +1 -1
- package/build/runtime-mergeStaticGeometries-O3ASOOEF.js.br +0 -0
- package/build/runtime-mergeStaticGeometries-O3ASOOEF.js.gz +0 -0
- package/build/{runtime-miscActions-RIFB4OIF.js → runtime-miscActions-GUOUHOIP.js} +1 -1
- package/build/runtime-miscActions-GUOUHOIP.js.br +0 -0
- package/build/runtime-miscActions-GUOUHOIP.js.gz +0 -0
- package/build/{runtime-mouseHover-AEXWCYG7.js → runtime-mouseHover-VESYEYPP.js} +1 -1
- package/build/runtime-mouseHover-VESYEYPP.js.br +0 -0
- package/build/runtime-mouseHover-VESYEYPP.js.gz +0 -0
- package/build/{runtime-particles-PE4BAL4K.js → runtime-particles-3FGB32NG.js} +1 -1
- package/build/runtime-particles-3FGB32NG.js.br +0 -0
- package/build/runtime-particles-3FGB32NG.js.gz +0 -0
- package/build/{runtime-paths-27ZBN6BN.js → runtime-paths-5TBOKC73.js} +1 -1
- package/build/runtime-paths-5TBOKC73.js.br +0 -0
- package/build/runtime-paths-5TBOKC73.js.gz +0 -0
- package/build/{runtime-resize-PWV3NCBC.js → runtime-resize-WYDL5VDC.js} +1 -1
- package/build/runtime-resize-WYDL5VDC.js.br +0 -0
- package/build/runtime-resize-WYDL5VDC.js.gz +0 -0
- package/build/{runtime-sceneTransition-LQV3JOPO.js → runtime-sceneTransition-JC5CBZ7Y.js} +1 -1
- package/build/runtime-sceneTransition-JC5CBZ7Y.js.br +0 -0
- package/build/runtime-sceneTransition-JC5CBZ7Y.js.gz +0 -0
- package/build/runtime-scroll-LUQTGR3L.js +1 -0
- package/build/runtime-scroll-LUQTGR3L.js.br +0 -0
- package/build/runtime-scroll-LUQTGR3L.js.gz +0 -0
- package/build/runtime-shapeBlends-FFFCEEBA.js +1 -0
- package/build/runtime-shapeBlends-FFFCEEBA.js.br +3 -0
- package/build/runtime-shapeBlends-FFFCEEBA.js.gz +0 -0
- package/build/{runtime-text-XOBN3DS6.js → runtime-text-NDE2MG7P.js} +1 -1
- package/build/runtime-text-NDE2MG7P.js.br +0 -0
- package/build/runtime-text-NDE2MG7P.js.gz +0 -0
- package/build/{runtime-textInputs-XRKHUYMZ.js → runtime-textInputs-TQVKLR6P.js} +1 -1
- package/build/runtime-textInputs-TQVKLR6P.js.br +0 -0
- package/build/runtime-textInputs-TQVKLR6P.js.gz +0 -0
- package/build/{runtime-timeline-2IHPBLTC.js → runtime-timeline-OYV32FRI.js} +1 -1
- package/build/runtime-timeline-OYV32FRI.js.br +0 -0
- package/build/runtime-timeline-OYV32FRI.js.gz +0 -0
- package/build/runtime-tracking-KGG3DGKH.js +1 -0
- package/build/runtime-tracking-KGG3DGKH.js.br +0 -0
- package/build/runtime-tracking-KGG3DGKH.js.gz +0 -0
- package/build/{runtime-transitions-WGO7L27D.js → runtime-transitions-2GXBFFKI.js} +1 -1
- package/build/runtime-transitions-2GXBFFKI.js.br +0 -0
- package/build/runtime-transitions-2GXBFFKI.js.gz +0 -0
- package/build/{runtime-ui2d-LDZEXCNH.js → runtime-ui2d-LDNYTXUV.js} +1 -1
- package/build/runtime-ui2d-LDNYTXUV.js.br +0 -0
- package/build/runtime-ui2d-LDNYTXUV.js.gz +0 -0
- package/build/{runtime-vectorShapes-34X3QRAA.js → runtime-vectorShapes-CYMTSR6Z.js} +1 -1
- package/build/runtime-vectorShapes-CYMTSR6Z.js.br +0 -0
- package/build/runtime-vectorShapes-CYMTSR6Z.js.gz +0 -0
- package/build/{runtime-webgpu-FDTJA5HO.js → runtime-webgpu-K4S7CCDF.js} +1 -1
- package/build/runtime-webgpu-K4S7CCDF.js.br +0 -0
- package/build/runtime-webgpu-K4S7CCDF.js.gz +0 -0
- package/build/runtime.cjs +321 -321
- package/build/runtime.js +1 -1
- package/build/runtime.js.br +0 -0
- package/build/runtime.js.gz +0 -0
- package/build/runtime.standalone.js +1 -1
- package/build/runtime.standalone.js.br +0 -0
- package/build/runtime.standalone.js.gz +0 -0
- package/build/runtime.standalone.webgl.js +1 -1
- 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 -1
- 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 -1
- 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 -1
- package/build/runtime.standalone.webgpu.min.js.br +0 -0
- package/build/runtime.standalone.webgpu.min.js.gz +0 -0
- package/package.json +2 -1
- package/build/runtime-chunk-2W3XFRTZ.js.br +0 -0
- package/build/runtime-chunk-2W3XFRTZ.js.gz +0 -0
- package/build/runtime-chunk-4DBC4IGT.js.br +0 -0
- package/build/runtime-chunk-4DBC4IGT.js.gz +0 -0
- package/build/runtime-chunk-4JASYPCF.js.br +0 -0
- package/build/runtime-chunk-4JASYPCF.js.gz +0 -0
- package/build/runtime-chunk-4UM6F5Y5.js.br +0 -0
- package/build/runtime-chunk-4UM6F5Y5.js.gz +0 -0
- package/build/runtime-chunk-5DZZWLIJ.js.br +0 -0
- package/build/runtime-chunk-5DZZWLIJ.js.gz +0 -0
- package/build/runtime-chunk-7W7YLDAL.js.br +0 -0
- package/build/runtime-chunk-7W7YLDAL.js.gz +0 -0
- package/build/runtime-chunk-BIWN33UT.js.br +0 -0
- package/build/runtime-chunk-BIWN33UT.js.gz +0 -0
- package/build/runtime-chunk-DA27AWYB.js.br +0 -0
- package/build/runtime-chunk-DA27AWYB.js.gz +0 -0
- package/build/runtime-chunk-DVJDUERJ.js.br +0 -0
- package/build/runtime-chunk-DVJDUERJ.js.gz +0 -0
- package/build/runtime-chunk-DWEWYXEP.js.br +0 -0
- package/build/runtime-chunk-DWEWYXEP.js.gz +0 -0
- package/build/runtime-chunk-FZQTKGRC.js.br +0 -0
- package/build/runtime-chunk-FZQTKGRC.js.gz +0 -0
- package/build/runtime-chunk-GWWLLXI6.js.br +0 -0
- package/build/runtime-chunk-GWWLLXI6.js.gz +0 -0
- package/build/runtime-chunk-JJPB3HUE.js.br +0 -0
- package/build/runtime-chunk-JJPB3HUE.js.gz +0 -0
- package/build/runtime-chunk-JQLD4OPY.js.br +0 -0
- package/build/runtime-chunk-JQLD4OPY.js.gz +0 -0
- package/build/runtime-chunk-LMQM5XOS.js.br +0 -0
- package/build/runtime-chunk-LMQM5XOS.js.gz +0 -0
- package/build/runtime-chunk-MD3MRPBS.js.br +0 -0
- package/build/runtime-chunk-MD3MRPBS.js.gz +0 -0
- package/build/runtime-chunk-NFU26B3N.js.br +0 -0
- package/build/runtime-chunk-NFU26B3N.js.gz +0 -0
- package/build/runtime-chunk-OSMLEERI.js.br +0 -0
- package/build/runtime-chunk-OSMLEERI.js.gz +0 -0
- package/build/runtime-chunk-RZOE5BNC.js +0 -1
- package/build/runtime-chunk-RZOE5BNC.js.br +0 -0
- package/build/runtime-chunk-RZOE5BNC.js.gz +0 -0
- package/build/runtime-chunk-UFEKX2KH.js.br +0 -0
- package/build/runtime-chunk-UFEKX2KH.js.gz +0 -0
- package/build/runtime-chunk-WGQDLFC4.js.br +0 -0
- package/build/runtime-chunk-WGQDLFC4.js.gz +0 -0
- package/build/runtime-chunk-XBYRIPUG.js.br +0 -0
- package/build/runtime-chunk-XBYRIPUG.js.gz +0 -0
- package/build/runtime-chunk-XINIFQH4.js.br +0 -0
- package/build/runtime-chunk-XINIFQH4.js.gz +0 -0
- package/build/runtime-chunk-XVPD2RMH.js.br +0 -0
- package/build/runtime-chunk-XVPD2RMH.js.gz +0 -0
- package/build/runtime-chunk-YAYGHTVH.js.br +0 -0
- package/build/runtime-chunk-YAYGHTVH.js.gz +0 -0
- package/build/runtime-classicRuntime-X56XM7O7.js.br +0 -0
- package/build/runtime-classicRuntime-X56XM7O7.js.gz +0 -0
- package/build/runtime-cloners-ZZQ3JSPS.js.br +0 -0
- package/build/runtime-cloners-ZZQ3JSPS.js.gz +0 -0
- package/build/runtime-components-SKDLGSYY.js.br +0 -0
- package/build/runtime-components-SKDLGSYY.js.gz +0 -0
- package/build/runtime-createDestroy-3WWJS6DW.js.br +0 -0
- package/build/runtime-createDestroy-3WWJS6DW.js.gz +0 -0
- package/build/runtime-dragDrop-5EB5RFKO.js.br +0 -0
- package/build/runtime-dragDrop-5EB5RFKO.js.gz +0 -0
- package/build/runtime-gameControls-Q2KBFYRA.js.br +0 -0
- package/build/runtime-gameControls-Q2KBFYRA.js.gz +0 -0
- package/build/runtime-hair-LIZCJ4W7.js.br +0 -1
- package/build/runtime-hair-LIZCJ4W7.js.gz +0 -0
- package/build/runtime-mergeStaticGeometries-PVN5C5JP.js.br +0 -0
- package/build/runtime-mergeStaticGeometries-PVN5C5JP.js.gz +0 -0
- package/build/runtime-miscActions-RIFB4OIF.js.br +0 -0
- package/build/runtime-miscActions-RIFB4OIF.js.gz +0 -0
- package/build/runtime-mouseHover-AEXWCYG7.js.br +0 -0
- package/build/runtime-mouseHover-AEXWCYG7.js.gz +0 -0
- package/build/runtime-particles-PE4BAL4K.js.br +0 -0
- package/build/runtime-particles-PE4BAL4K.js.gz +0 -0
- package/build/runtime-paths-27ZBN6BN.js.br +0 -0
- package/build/runtime-paths-27ZBN6BN.js.gz +0 -0
- package/build/runtime-resize-PWV3NCBC.js.br +0 -0
- package/build/runtime-resize-PWV3NCBC.js.gz +0 -0
- package/build/runtime-sceneTransition-LQV3JOPO.js.br +0 -0
- package/build/runtime-sceneTransition-LQV3JOPO.js.gz +0 -0
- package/build/runtime-scroll-MQHFYSJI.js +0 -1
- package/build/runtime-scroll-MQHFYSJI.js.br +0 -0
- package/build/runtime-scroll-MQHFYSJI.js.gz +0 -0
- package/build/runtime-shapeBlends-WGVT6R2N.js +0 -1
- package/build/runtime-shapeBlends-WGVT6R2N.js.br +0 -0
- package/build/runtime-shapeBlends-WGVT6R2N.js.gz +0 -0
- package/build/runtime-text-XOBN3DS6.js.br +0 -0
- package/build/runtime-text-XOBN3DS6.js.gz +0 -0
- package/build/runtime-textInputs-XRKHUYMZ.js.br +0 -0
- package/build/runtime-textInputs-XRKHUYMZ.js.gz +0 -0
- package/build/runtime-timeline-2IHPBLTC.js.br +0 -0
- package/build/runtime-timeline-2IHPBLTC.js.gz +0 -0
- package/build/runtime-tracking-SAJC57UA.js +0 -1
- package/build/runtime-tracking-SAJC57UA.js.br +0 -0
- package/build/runtime-tracking-SAJC57UA.js.gz +0 -0
- package/build/runtime-transitions-WGO7L27D.js.br +0 -0
- package/build/runtime-transitions-WGO7L27D.js.gz +0 -0
- package/build/runtime-ui2d-LDZEXCNH.js.br +0 -0
- package/build/runtime-ui2d-LDZEXCNH.js.gz +0 -0
- package/build/runtime-vectorShapes-34X3QRAA.js.br +0 -0
- package/build/runtime-vectorShapes-34X3QRAA.js.gz +0 -0
- package/build/runtime-webgpu-FDTJA5HO.js.br +0 -0
- package/build/runtime-webgpu-FDTJA5HO.js.gz +0 -0
package/AGENTS.md
ADDED
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
# AGENTS.md — `@splinetool/runtime`
|
|
2
|
+
|
|
3
|
+
Written for coding agents. Everything here is checked against this package's
|
|
4
|
+
source. If a claim you want to make is not on this page, do not make it.
|
|
5
|
+
|
|
6
|
+
The cross-target guide (React, Next.js, Vue, Svelte, plain HTML, Hana 2D)
|
|
7
|
+
lives at <https://docs.spline.design/skill.md> — plain text, fetch it
|
|
8
|
+
directly. This page is only about what this package does.
|
|
9
|
+
|
|
10
|
+
## Before you embed: send the human to the editor first
|
|
11
|
+
|
|
12
|
+
An embed nobody opens in Spline is a dead end — the scene can never be
|
|
13
|
+
changed. So whenever you add a scene to a project:
|
|
14
|
+
|
|
15
|
+
1. If the scene came from Spline Community, tell the human to open it and
|
|
16
|
+
press **Remix** first, so they own an editable copy. Remixing is an
|
|
17
|
+
authenticated action in the Spline UI (the app POSTs
|
|
18
|
+
`file/<uuidCommunityFile>/remix`); there is no way to do it from embed
|
|
19
|
+
code, and you must not try.
|
|
20
|
+
2. Only then wire up the URL their own copy produces.
|
|
21
|
+
3. Keep the "Made with Spline" credit in the markup you generate (see
|
|
22
|
+
[Attribution](#attribution)).
|
|
23
|
+
|
|
24
|
+
## Install
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm install @splinetool/runtime
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Published to npmjs as a public package, and mirrored on Spline's CDN at
|
|
31
|
+
`https://cdn.spline.design/@splinetool/runtime@<version>/build/…`. The CDN
|
|
32
|
+
prefix is the canonical store; the npm publish is a mirror of it.
|
|
33
|
+
|
|
34
|
+
## The scene URL
|
|
35
|
+
|
|
36
|
+
`load()` takes a **`.splinecode`** URL:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
https://prod.spline.design/<id>/scene.splinecode
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Facts about that URL you must not get wrong:
|
|
43
|
+
|
|
44
|
+
- It is **issued by the editor**, from **Export → Code** (or Export → Spline
|
|
45
|
+
Viewer). The `<id>` is minted server-side at export time. Export → Public
|
|
46
|
+
URL is a shareable page, not a `.splinecode` URL.
|
|
47
|
+
- You **cannot derive it** from a file id, a share link, a community page
|
|
48
|
+
URL, or a scene name. If you do not have the exact URL, ask the human to
|
|
49
|
+
copy it out of the export panel. Do not guess one.
|
|
50
|
+
- A **Spline Community scene has no `.splinecode` URL.** Community scenes are
|
|
51
|
+
not published code exports. To use one, the human remixes it, exports their
|
|
52
|
+
copy as Code, and then you use the URL that produces. To merely display a
|
|
53
|
+
community scene, embed the app preview page in an iframe instead — see
|
|
54
|
+
<https://docs.spline.design/skill.md>.
|
|
55
|
+
- Only `.splinecode` loads through this API. A `.spline` file is the editor's
|
|
56
|
+
own document format and will not load.
|
|
57
|
+
- Hitting CORS? Download the `.splinecode` from the export panel and
|
|
58
|
+
self-host it.
|
|
59
|
+
|
|
60
|
+
2D Hana scenes use a different extension (`.hanacode`) and a different
|
|
61
|
+
runtime. This package does not load them.
|
|
62
|
+
|
|
63
|
+
## Vanilla JS — minimal working example
|
|
64
|
+
|
|
65
|
+
```html
|
|
66
|
+
<canvas id="canvas3d"></canvas>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
```js
|
|
70
|
+
import { Application } from '@splinetool/runtime';
|
|
71
|
+
|
|
72
|
+
const canvas = document.getElementById('canvas3d');
|
|
73
|
+
const app = new Application(canvas);
|
|
74
|
+
await app.load('https://prod.spline.design/<id>/scene.splinecode');
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
`Application` is a named export. There is no default export.
|
|
78
|
+
|
|
79
|
+
## Constructor options
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
new Application(canvas, {
|
|
83
|
+
renderMode: 'auto', // 'auto' (default) | 'manual' | 'continuous'
|
|
84
|
+
renderer: undefined, // 'webgl' | 'webgpu'; auto-selected when unset
|
|
85
|
+
wasmPath: undefined, // where to load the runtime's wasm from; CDN when unset
|
|
86
|
+
htmlContentMode: 'sandbox', // 'sandbox' (default) | 'inline' | 'none'
|
|
87
|
+
});
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
- `renderMode: 'manual'` renders only when you call `app.requestRender()`.
|
|
91
|
+
- `renderer` is auto-selected: WebGPU where the browser grants an adapter,
|
|
92
|
+
WebGL everywhere else, with a WebGL fallback on any WebGPU init failure.
|
|
93
|
+
All Spline instances on one page must use the same backend.
|
|
94
|
+
- `htmlContentMode` controls how HTML content authored in the editor's HTML
|
|
95
|
+
frame (and shipped inside the `.splinecode`) is presented over the canvas.
|
|
96
|
+
Leave it at `sandbox` for any page embedding a scene it did not author;
|
|
97
|
+
`inline` runs the scene's scripts as ordinary page scripts.
|
|
98
|
+
- `renderOnDemand` is deprecated — use `renderMode`.
|
|
99
|
+
|
|
100
|
+
## Methods
|
|
101
|
+
|
|
102
|
+
Verified against `runtime.d.ts`. Do not invent others.
|
|
103
|
+
|
|
104
|
+
| Method | Notes |
|
|
105
|
+
| -------------------------------------------------------- | ----------------------------------------------- |
|
|
106
|
+
| `load(path, variables?, fetchOptions?)` | `Promise<void>`; `path` is a `.splinecode` URL |
|
|
107
|
+
| `start(arrayBuffer, { interactive?, variables? }?)` | load from bytes you fetched yourself |
|
|
108
|
+
| `findObjectByName(name)` / `findObjectById(uuid)` | returns an `SPEObject` proxy |
|
|
109
|
+
| `getAllObjects()` | flat list of every object |
|
|
110
|
+
| `addEventListener(name, cb)` / `removeEventListener` | see [Events](#events) |
|
|
111
|
+
| `emitEvent(name, nameOrUuid)` / `emitEventReverse` | trigger an editor-authored event |
|
|
112
|
+
| `getSplineEvents()` | the events the scene actually defines |
|
|
113
|
+
| `setVariable(name, value)` / `setVariables(record)` | values are cast to the variable's original type |
|
|
114
|
+
| `getVariable(name)` / `getVariables()` | |
|
|
115
|
+
| `setZoom(zoom)` | `> 0`, `1` is base zoom |
|
|
116
|
+
| `setSize(width, height)` | stops automatic size updates |
|
|
117
|
+
| `setBackgroundColor(cssColor)` | |
|
|
118
|
+
| `play()` / `stop()` | resume / pause rendering, controls and events |
|
|
119
|
+
| `pauseGameControls()` / `resumeGameControls()` | |
|
|
120
|
+
| `swapGeometry(target, urlOrBytes)` | `.splinegeometry` only |
|
|
121
|
+
| `createObject(type, options?)` | session-only; never persisted back to the file |
|
|
122
|
+
| `cloneObject(source, options?)` / `removeObject(target)` | |
|
|
123
|
+
| `dispose()` | also removes any presented HTML content |
|
|
124
|
+
|
|
125
|
+
`createObject` builds only these types: `Cube`, `Sphere`, `Plane`,
|
|
126
|
+
`Rectangle`, `Ellipse`, `Triangle`, `Polygon`, `Star`, `Cone`, `Cylinder`,
|
|
127
|
+
`Pyramid`, `Torus`, `TorusKnot`, `Dodecahedron`, `Icosahedron`, `Helix`,
|
|
128
|
+
`Backdrop`, `Lathe`, `Text`, `CustomMesh`, `Group`, `PointLight`,
|
|
129
|
+
`SpotLight`, `DirectionalLight`. Anything else must be cloned from an object
|
|
130
|
+
already in the scene. Note `rotation` in the options is in **degrees**, while
|
|
131
|
+
the returned proxy's `.rotation` is a three.js Euler in **radians**.
|
|
132
|
+
|
|
133
|
+
## Events
|
|
134
|
+
|
|
135
|
+
The complete `SplineEventName` union — there are no others:
|
|
136
|
+
|
|
137
|
+
`mouseDown`, `mouseUp`, `mouseHover`, `keyDown`, `keyUp`, `start`, `lookAt`,
|
|
138
|
+
`follow`, `scroll`, `collision`, `rendered`
|
|
139
|
+
|
|
140
|
+
```js
|
|
141
|
+
await app.load(url);
|
|
142
|
+
app.addEventListener('mouseDown', (e) => {
|
|
143
|
+
if (e.target.name === 'Cube') {
|
|
144
|
+
/* … */
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Events only fire if the human authored them in the editor's Events panel.
|
|
150
|
+
`getSplineEvents()` tells you what a scene actually has.
|
|
151
|
+
|
|
152
|
+
## Performance
|
|
153
|
+
|
|
154
|
+
These are the things that make an agent-written embed feel bad:
|
|
155
|
+
|
|
156
|
+
- **Preload the scene.** The `.splinecode` is fetched with `fetch`, so a
|
|
157
|
+
`<link rel="preload" … as="fetch">` in `<head>` starts it before your
|
|
158
|
+
scripts finish loading. `fetch()` is always a CORS request, so the preload
|
|
159
|
+
needs `crossorigin` (anonymous) to match `load(url)`'s default fetch —
|
|
160
|
+
without it the browser issues a second request and the preload is wasted.
|
|
161
|
+
|
|
162
|
+
```html
|
|
163
|
+
<link
|
|
164
|
+
rel="preload"
|
|
165
|
+
href="https://prod.spline.design/<id>/scene.splinecode"
|
|
166
|
+
as="fetch"
|
|
167
|
+
crossorigin
|
|
168
|
+
/>
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
```js
|
|
172
|
+
app.load(url); // no fetchOptions: the default matches the preload above
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Never pass `mode: 'no-cors'` for a cross-origin URL: the response is
|
|
176
|
+
opaque, `load()` reads an empty body, and the scene fails to load.
|
|
177
|
+
|
|
178
|
+
- **Mount lazily.** This package always loads when you tell it to. If the
|
|
179
|
+
scene is below the fold, gate `new Application(...)` behind an
|
|
180
|
+
`IntersectionObserver`, or use `<spline-viewer>` (`@splinetool/viewer`),
|
|
181
|
+
whose default `loading="auto"` already waits for the viewport.
|
|
182
|
+
- **`await load()` before touching the scene.** `findObjectByName` and
|
|
183
|
+
friends only see objects after the promise resolves.
|
|
184
|
+
- **`dispose()` on unmount**, or you leak a WebGL/WebGPU context per mount.
|
|
185
|
+
- **Keep one backend per page** (see `renderer` above).
|
|
186
|
+
|
|
187
|
+
## Attribution
|
|
188
|
+
|
|
189
|
+
The Spline watermark is **baked into the scene data** by the publisher: the
|
|
190
|
+
runtime looks for a `SplineWatermark` shared image in the loaded document and
|
|
191
|
+
hands it to the render pipeline. Nothing in embed code turns it on or off, and
|
|
192
|
+
you should never write code that tries to hide it.
|
|
193
|
+
|
|
194
|
+
Because a bare `<canvas>` carries no visible credit of its own, add one in the
|
|
195
|
+
markup you generate — and credit the creator when the scene came from
|
|
196
|
+
Community:
|
|
197
|
+
|
|
198
|
+
```html
|
|
199
|
+
<div class="spline-embed">
|
|
200
|
+
<canvas id="canvas3d"></canvas>
|
|
201
|
+
<p class="spline-credit">
|
|
202
|
+
<a href="https://spline.design" target="_blank" rel="noopener">
|
|
203
|
+
Made with Spline
|
|
204
|
+
</a>
|
|
205
|
+
·
|
|
206
|
+
<a
|
|
207
|
+
href="https://app.spline.design/community/file/<uuidCommunityFile>"
|
|
208
|
+
target="_blank"
|
|
209
|
+
rel="noopener"
|
|
210
|
+
>
|
|
211
|
+
scene by @<creator>
|
|
212
|
+
</a>
|
|
213
|
+
</p>
|
|
214
|
+
</div>
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## What this package does NOT do
|
|
218
|
+
|
|
219
|
+
Agents hallucinate these constantly. None of them exist here:
|
|
220
|
+
|
|
221
|
+
- **No React component.** `@splinetool/runtime` exports no JSX. React apps use
|
|
222
|
+
`@splinetool/react-spline` (a separate, external package).
|
|
223
|
+
- **No 2D Hana support.** `.hanacode` scenes need the Hana runtime /
|
|
224
|
+
`<hana-viewer>`.
|
|
225
|
+
- **No web component.** `<spline-viewer>` is `@splinetool/viewer`.
|
|
226
|
+
- **No three.js scene graph API.** If you want raw three.js objects and
|
|
227
|
+
materials, that is `@splinetool/loader`.
|
|
228
|
+
- **No authoring or saving.** `createObject` / `cloneObject` /
|
|
229
|
+
`removeObject` affect the running session only; nothing is written back to
|
|
230
|
+
the Spline file. There is no API here to create, save, publish or export a
|
|
231
|
+
scene.
|
|
232
|
+
- **No URL derivation.** Nothing converts a file id, share link or community
|
|
233
|
+
URL into a `.splinecode` URL.
|
|
234
|
+
- **No plan or entitlement information.** Do not state what any Spline plan
|
|
235
|
+
includes or limits — link to <https://spline.design/pricing>.
|
|
236
|
+
|
|
237
|
+
## Maintainers
|
|
238
|
+
|
|
239
|
+
- `runtime.d.ts` is hand-written and must stay **self-contained** — it ships
|
|
240
|
+
as this package's public types. Do not make it import from workspace
|
|
241
|
+
packages.
|
|
242
|
+
- `prepublishOnly` runs `scripts/verify-publish-target.mjs`, which blocks
|
|
243
|
+
accidental npmjs publishes. Do not bypass or alter it.
|
|
244
|
+
- `AGENTS.md` is listed in this package's `files`, so it ships in the tarball
|
|
245
|
+
and on the CDN prefix. Keep it that way.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as t,b as e,d as r}from"./runtime-chunk-2W3XFRTZ.js";import{f as i}from"./runtime-chunk-RTLL6WIB.js";import{K as a,ya as o}from"./runtime-chunk-JTZ2BWZ5.js";import{Ae as s,Ec as n,Fc as p,Oc as h,Rc as c,Tc as m,bd as f,dd as u,ud as d,wd as l,we as g,xe as v}from"./runtime-chunk-BVVSZMXD.js";var C=new p,j=new g,T=class extends l{constructor(t){let e=new u,r=new d({color:16777215,vertexColors:!0,toneMapped:!1}),i=[],a=[],o={},s=new m(15711266),n=new m(15711266),p=new m(2857471);function h(t,e,r){c(t,r),c(e,r)}function c(t,e){i.push(0,0,0),a.push(e.r,e.g,e.b),void 0===o[t]&&(o[t]=[]),o[t].push(i.length/3-1)}h("n1","n2",s),h("n2","n4",s),h("n4","n3",s),h("n3","n1",s),h("f1","f2",s),h("f2","f4",s),h("f4","f3",s),h("f3","f1",s),h("n1","f1",s),h("n2","f2",s),h("n3","f3",s),h("n4","f4",s),h("p","n1",n),h("p","n2",n),h("p","n3",n),h("p","n4",n),h("u1","u2",p),h("u2","u3",p),h("u3","u1",p),e.setAttribute("position",new f(i,3)),e.setAttribute("color",new f(a,3)),super(e,r),this.type="CameraHelper",this.camera=t,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=o,this.update()}update(){let t=this.geometry,e=this.pointMap;j.projectionMatrixInverse.elements=[.5112609807824982,-0,-0,-0,-0,.41421356237309503,-0,-0,-0,-0,-0,-.099999,-0,-0,-1.0000000000000002,.100001];let r=.8;y("n1",e,t,j,-1,-1,r),y("n2",e,t,j,1,-1,r),y("n3",e,t,j,-1,1,r),y("n4",e,t,j,1,1,r);let i=r;y("f1",e,t,j,-1,-1,i),y("f2",e,t,j,1,-1,i),y("f3",e,t,j,-1,1,i),y("f4",e,t,j,1,1,i);let a=i;y("u1",e,t,j,.35,1.1,a),y("u2",e,t,j,-.35,1.1,a),y("u3",e,t,j,0,1.55,a),t.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}};function y(t,e,r,i,a,o,s){C.set(a,o,s).unproject(i);let n=e[t];if(void 0!==n){let t=r.getAttribute("position");for(let e=0,r=n.length;e<r;e++)t.setXYZ(n[e],C.x,C.y,C.z)}}var w=class extends(t(T)){constructor(t){super(t),this.object=t,this.name=`CombinedCameraHelper: ${t.uuid}`}updateMatrixWorld(t){super.updateMatrixWorld(t),this.updateTarget()}updateTarget(){let t=this.object.getTarget();this.updateWorldMatrix(!0,!1),this.worldToLocal(t)}raycast(t,r){e(this.object,this.geometry,t,r,!0)}};function P(t){return 1-Math.pow(1-t,3)}var b=new p,x=new p,_=new n,M=new p,O=new p,F=new p,W=class extends(r(g,w)){constructor(t="",e={...o.defaultData,name:""}){super(),this._cameraType="OrthographicCamera",this.targetOffset=a.DefaultTargetOffset,this.isUpVectorFlipped=!1,this.angleOffsetFromUp=0,this.wasMovedByUser=!1,this.wasMovedBySwitchCameraAction=!1,this._createdAt=typeof performance<"u"?performance.now():0,this._tickProjectionTransition=()=>{let t=this._projectionTransition;if(void 0===t)return;if(this.disposed)return void this._endProjectionTransition();t.raf=requestAnimationFrame(this._tickProjectionTransition);let e=W.projectionTransitionRequestRender??t.requestRender;this.updateProjectionMatrix(),e?.()},this.super_Entity(t,e),this.previousProjectionMatrix=new h,this.matrixAutoUpdate=!0,this.width=window.innerWidth,this.height=window.innerHeight;let r=this.width,i=this.height;this.orthoCamera=new s(-.5*r,.5*r,.5*i,-.5*i,-5e4,1e4),this.perspCamera=new v(45,r/i,50,1e4),this.left=this.orthoCamera.left,this.right=this.orthoCamera.right,this.top=this.orthoCamera.top,this.bottom=this.orthoCamera.bottom,this.far=this.orthoCamera.far,this.view=this.orthoCamera.view,this.aspect=this.perspCamera.aspect,this.focus=this.perspCamera.focus,this.filmGauge=this.perspCamera.filmGauge,this.filmOffset=this.perspCamera.filmOffset,this.objectHelper.update()}static withoutProjectionTransition(t){let e=W.projectionTransitionsEnabled;W.projectionTransitionsEnabled=!1;try{return t()}finally{W.projectionTransitionsEnabled=e}}get isPerspectiveCamera(){return"PerspectiveCamera"===this.cameraType}get isOrthographicCamera(){return!this.isPerspectiveCamera}get cameraType(){return this._cameraType}set fov(t){this.perspCamera.fov=t}get fov(){return this.perspCamera.fov}setNear(t,e){"PerspectiveCamera"===t?this.perspCamera.near=e:this.orthoCamera.near=e}setZoom(t,e){e>=0&&("PerspectiveCamera"===t?this.perspCamera.zoom=e:this.orthoCamera.zoom=e)}set cameraType(t){"PerspectiveCamera"===t?this.toPerspective():"OrthographicCamera"===t&&this.toOrthographic()}get near(){return"PerspectiveCamera"===this._cameraType?this.perspCamera.near:this.orthoCamera.near}set near(t){"PerspectiveCamera"===this._cameraType?this.perspCamera.near=t:this.orthoCamera.near=t}get zoom(){return"PerspectiveCamera"===this._cameraType?this.perspCamera.zoom:this.orthoCamera.zoom}set zoom(t){t>=0&&("PerspectiveCamera"===this._cameraType?this.perspCamera.zoom=t:this.orthoCamera.zoom=t)}lookAt(t,e,r){"number"==typeof t&&(t=new p(t,e,r)),super.lookAt(t),this.getWorldPosition(b),this.targetOffset=b.distanceTo(t)}getTarget(t=new p){return this.getWorldDirection(x),this.getWorldPosition(b),x.multiplyScalar(this.targetOffset),t.copy(b).add(x),t}getDistanceToTarget(){let t=this.getTarget();return this.getWorldPosition(b),b.distanceTo(t)}updateUp(){this.getWorldQuaternion(_),M.set(0,0,1).applyQuaternion(_),O.copy(c.DEFAULT_UP),this.isUpVectorFlipped&&O.negate(),O.applyQuaternion(_),F.copy(c.DEFAULT_UP).projectOnPlane(M),this.angleOffsetFromUp=F.angleTo(O),this.angleOffsetFromUp*=F.cross(O).dot(M)>=0?1:-1}updateTransformState(t,e){let r=super.updateTransformState(t,e);return void 0!==t.isUpVectorFlipped&&(this.isUpVectorFlipped=t.isUpVectorFlipped),this.updateUp(),r}getViewFrontToObject(t){let e=t.getWorldPosition(new p),r=t.getWorldDirection(new p).multiplyScalar(this.targetOffset);return{position:e.clone().add(r),target:e}}getViewToTarget(t){let e=this.getWorldDirection(new p).multiplyScalar(this.targetOffset);return{position:t.clone().sub(e),target:t}}getViewToObject(t){let e=new p;return t.getWorldPosition(e),this.getViewToTarget(e)}setViewplaneSize(t,e,r=!1){if(this.aspect=t/e,r){let r=t>e?this.aspect:1,i=t>e?1:this.aspect;this.left=-395*r,this.right=395*r,this.top=1/i*395,this.bottom=1/i*-395}else this.left=.5*-t,this.right=.5*t,this.top=.5*e,this.bottom=.5*-e;this.updateProjectionMatrix()}copyViewPlaneSize(t){this.aspect=t.aspect,this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.updateProjectionMatrix()}toOrthographic(){this.orthoCamera.left=this.left,this.orthoCamera.right=this.right,this.orthoCamera.top=this.top,this.orthoCamera.bottom=this.bottom,this.orthoCamera.view=this.view,this.orthoCamera.far=this.far,this.orthoCamera.updateProjectionMatrix(),this.projectionMatrix=this.orthoCamera.projectionMatrix,this.projectionMatrixInverse=this.orthoCamera.projectionMatrixInverse,this._cameraType="OrthographicCamera",this._applyProjectionTransition(),this.objectHelper&&this.objectHelper.update()}toPerspective(){this.perspCamera.aspect=this.aspect,this.perspCamera.fov=this.fov,this.perspCamera.view=this.view,this.perspCamera.far=this.far,this.perspCamera.updateProjectionMatrix(),this.projectionMatrix=this.perspCamera.projectionMatrix,this.projectionMatrixInverse=this.perspCamera.projectionMatrixInverse,this._cameraType="PerspectiveCamera",this._applyProjectionTransition(),this.objectHelper&&this.objectHelper.update()}get isProjectionTransitioning(){return void 0!==this._projectionTransition}get projectionTransitionProgress(){let t=this._projectionTransition;if(void 0===t)return 1;let e=(performance.now()-t.start)/t.duration;return e>=1?1:e<=0?0:P(e)}get _activeSubCamera(){return"PerspectiveCamera"===this._cameraType?this.perspCamera:this.orthoCamera}_canAnimateProjection(){return W.projectionTransitionsEnabled&&"function"==typeof requestAnimationFrame&&typeof performance<"u"&&performance.now()-this._createdAt>=W.projectionTransitionMinAgeMs}_beginProjectionTransition(t){let e=this._projectionTransition;void 0===e&&(e={from:new h,blend:new h,blendInverse:new h,start:0,duration:W.projectionTransitionDuration,referenceDepth:1,raf:0,requestRender:t},this._projectionTransition=e),e.from.copy(this.projectionMatrix),e.start=performance.now(),e.duration=W.projectionTransitionDuration,e.referenceDepth=Number.isFinite(this.targetOffset)?Math.max(1,this.targetOffset):1,t&&(e.requestRender=t),0!==e.raf&&cancelAnimationFrame(e.raf),e.raf=requestAnimationFrame(this._tickProjectionTransition)}_applyProjectionTransition(){let t=this._projectionTransition;if(void 0===t)return;let e=(performance.now()-t.start)/t.duration;if(e>=1)return void this._endProjectionTransition();let r=P(e),i=t.from.elements,a=this._activeSubCamera.projectionMatrix.elements,o=t.blend.elements,s=t.referenceDepth,n=Math.max(1e-6,i[15]-i[11]*s),p=r*n/(r*n+(1-r)*Math.max(1e-6,a[15]-a[11]*s));for(let t=0;t<16;t++)o[t]=i[t]+(a[t]-i[t])*p;t.blendInverse.copy(t.blend).invert(),this.projectionMatrix=t.blend,this.projectionMatrixInverse=t.blendInverse}_endProjectionTransition(){let t=this._projectionTransition;if(void 0===t)return;0!==t.raf&&cancelAnimationFrame(t.raf),this._projectionTransition=void 0;let e=this._activeSubCamera;this.projectionMatrix=e.projectionMatrix,this.projectionMatrixInverse=e.projectionMatrixInverse}_syncProjectionTransition(t){let e=t._projectionTransition;if(void 0===e)return void(void 0!==this._projectionTransition&&this._endProjectionTransition());let r=this._projectionTransition;void 0===r?(r={from:new h,blend:new h,blendInverse:new h,start:0,duration:1,referenceDepth:1,raf:0,requestRender:void 0},this._projectionTransition=r):0!==r.raf&&(cancelAnimationFrame(r.raf),r.raf=0),r.requestRender=void 0,r.from.copy(e.from),r.start=e.start,r.duration=e.duration,r.referenceDepth=e.referenceDepth,this._applyProjectionTransition()}setFocalLength(t){this.perspCamera.setFocalLength(t),this.toPerspective()}getFocalLength(){return this.perspCamera.getFocalLength()}getEffectiveFOV(){return this.perspCamera.getEffectiveFOV()}getFilmWidth(){return this.perspCamera.getFilmWidth()}getFilmHeight(){return this.perspCamera.getFilmHeight()}setViewOffset(t,e,r,i,a,o){"PerspectiveCamera"===this._cameraType?this.perspCamera.setViewOffset(t,e,r,i,a,o):this.orthoCamera.setViewOffset(t,e,r,i,a,o),this._applyProjectionTransition()}clearViewOffset(){"PerspectiveCamera"===this._cameraType?(this.perspCamera.clearViewOffset(),this.toPerspective()):(this.orthoCamera.clearViewOffset(),this.toOrthographic())}copyHistory(){this.previousProjectionMatrix&&this.previousProjectionMatrix.copy(this.projectionMatrix)}updateProjectionMatrix(){"PerspectiveCamera"===this._cameraType?this.toPerspective():"OrthographicCamera"===this._cameraType&&this.toOrthographic()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}copy(t,e){return super.copy(t,e),this.parent=t.parent,this.orthoCamera.copy(t.orthoCamera),this.perspCamera.copy(t.perspCamera),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.far=t.far,this.view=null===t.view?null:Object.assign({},t.view),this._cameraType=t._cameraType,this.aspect=t.aspect,this.fov=t.fov,this.focus=t.focus,this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this.targetOffset=a.sanitizeTargetOffset(t.targetOffset),this.updateProjectionMatrix(),this._syncProjectionTransition(t),this}toCameraState(t=[]){let e={type:this.cameraType,far:this.far,orthographic:{near:this.orthoCamera.near,zoom:this.orthoCamera.zoom},perspective:{near:this.perspCamera.near,fov:this.perspCamera.fov,zoom:this.perspCamera.zoom},up:this.up.toArray(),targetOffset:this.targetOffset,isUpVectorFlipped:this.isUpVectorFlipped};return i(e,t)}updateCameraSubtype(t,e){let r="perspective"===t?"PerspectiveCamera":"OrthographicCamera";void 0!==e.zoom&&this.setZoom(r,e.zoom),void 0!==e.near&&this.setNear(r,e.near),void 0!==e.fov&&"PerspectiveCamera"===r&&(this.fov=e.fov)}updateState(t,e){this.updateCameraState(t,e)}updateCameraState(t,e){this.updateState_Entity(t,e),void 0!==t.far&&(this.far=t.far),void 0!==t.orthographic&&this.updateCameraSubtype("orthographic",t.orthographic),void 0!==t.perspective&&this.updateCameraSubtype("perspective",t.perspective),void 0!==t.type&&(t.type!==this._cameraType&&this._canAnimateProjection()&&this._beginProjectionTransition(e?.shared.requestRender),this.cameraType=t.type),void 0!==t.up&&this.up.fromArray(t.up.map(t=>"number"==typeof t?t:0)),void 0!==t.targetOffset&&(this.targetOffset=a.sanitizeTargetOffset(t.targetOffset)),void 0!==t.isUpVectorFlipped&&(this.isUpVectorFlipped=t.isUpVectorFlipped),this.updateProjectionMatrix()}updateByPatchedOp(t,e,r){super.updateByPatchedOp(t,e,r),1===t.path.length&&0===t.type&&this.updateCameraSubtype(t.path[0],t.props)}toState(t){return{...super.toState(t),...this.toCameraState(t),type:this.cameraType}}},A=W;A.projectionTransitionsEnabled=!1,A.projectionTransitionDuration=350,A.projectionTransitionMinAgeMs=1e3;export{A as a};
|
|
1
|
+
import{a as t,b as e,d as r}from"./runtime-chunk-3BVK77PB.js";import{f as i}from"./runtime-chunk-RTLL6WIB.js";import{K as a,ya as o}from"./runtime-chunk-JTZ2BWZ5.js";import{Ae as s,Ec as n,Fc as p,Oc as h,Rc as c,Tc as m,bd as f,dd as u,ud as d,wd as l,we as g,xe as v}from"./runtime-chunk-BVVSZMXD.js";var C=new p,j=new g,T=class extends l{constructor(t){let e=new u,r=new d({color:16777215,vertexColors:!0,toneMapped:!1}),i=[],a=[],o={},s=new m(15711266),n=new m(15711266),p=new m(2857471);function h(t,e,r){c(t,r),c(e,r)}function c(t,e){i.push(0,0,0),a.push(e.r,e.g,e.b),void 0===o[t]&&(o[t]=[]),o[t].push(i.length/3-1)}h("n1","n2",s),h("n2","n4",s),h("n4","n3",s),h("n3","n1",s),h("f1","f2",s),h("f2","f4",s),h("f4","f3",s),h("f3","f1",s),h("n1","f1",s),h("n2","f2",s),h("n3","f3",s),h("n4","f4",s),h("p","n1",n),h("p","n2",n),h("p","n3",n),h("p","n4",n),h("u1","u2",p),h("u2","u3",p),h("u3","u1",p),e.setAttribute("position",new f(i,3)),e.setAttribute("color",new f(a,3)),super(e,r),this.type="CameraHelper",this.camera=t,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=o,this.update()}update(){let t=this.geometry,e=this.pointMap;j.projectionMatrixInverse.elements=[.5112609807824982,-0,-0,-0,-0,.41421356237309503,-0,-0,-0,-0,-0,-.099999,-0,-0,-1.0000000000000002,.100001];let r=.8;y("n1",e,t,j,-1,-1,r),y("n2",e,t,j,1,-1,r),y("n3",e,t,j,-1,1,r),y("n4",e,t,j,1,1,r);let i=r;y("f1",e,t,j,-1,-1,i),y("f2",e,t,j,1,-1,i),y("f3",e,t,j,-1,1,i),y("f4",e,t,j,1,1,i);let a=i;y("u1",e,t,j,.35,1.1,a),y("u2",e,t,j,-.35,1.1,a),y("u3",e,t,j,0,1.55,a),t.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}};function y(t,e,r,i,a,o,s){C.set(a,o,s).unproject(i);let n=e[t];if(void 0!==n){let t=r.getAttribute("position");for(let e=0,r=n.length;e<r;e++)t.setXYZ(n[e],C.x,C.y,C.z)}}var w=class extends(t(T)){constructor(t){super(t),this.object=t,this.name=`CombinedCameraHelper: ${t.uuid}`}updateMatrixWorld(t){super.updateMatrixWorld(t),this.updateTarget()}updateTarget(){let t=this.object.getTarget();this.updateWorldMatrix(!0,!1),this.worldToLocal(t)}raycast(t,r){e(this.object,this.geometry,t,r,!0)}};function P(t){return 1-Math.pow(1-t,3)}var b=new p,x=new p,_=new n,M=new p,O=new p,F=new p,V=class extends(r(g,w)){constructor(t="",e={...o.defaultData,name:""}){super(),this._cameraType="OrthographicCamera",this.targetOffset=a.DefaultTargetOffset,this.isUpVectorFlipped=!1,this.angleOffsetFromUp=0,this.wasMovedByUser=!1,this.wasMovedBySwitchCameraAction=!1,this._createdAt=typeof performance<"u"?performance.now():0,this._tickProjectionTransition=()=>{let t=this._projectionTransition;if(void 0===t)return;if(this.disposed)return void this._endProjectionTransition();t.raf=requestAnimationFrame(this._tickProjectionTransition);let e=V.projectionTransitionRequestRender??t.requestRender;this.updateProjectionMatrix(),e?.()},this.super_Entity(t,e),this.previousProjectionMatrix=new h,this.matrixAutoUpdate=!0,this.width=window.innerWidth,this.height=window.innerHeight;let r=this.width,i=this.height;this.orthoCamera=new s(-.5*r,.5*r,.5*i,-.5*i,-5e4,1e4),this.perspCamera=new v(45,r/i,50,1e4),this.left=this.orthoCamera.left,this.right=this.orthoCamera.right,this.top=this.orthoCamera.top,this.bottom=this.orthoCamera.bottom,this.far=this.orthoCamera.far,this.view=this.orthoCamera.view,this.aspect=this.perspCamera.aspect,this.focus=this.perspCamera.focus,this.filmGauge=this.perspCamera.filmGauge,this.filmOffset=this.perspCamera.filmOffset,this.objectHelper.update()}static withoutProjectionTransition(t){let e=V.projectionTransitionsEnabled;V.projectionTransitionsEnabled=!1;try{return t()}finally{V.projectionTransitionsEnabled=e}}get isPerspectiveCamera(){return"PerspectiveCamera"===this.cameraType}get isOrthographicCamera(){return!this.isPerspectiveCamera}get cameraType(){return this._cameraType}set fov(t){this.perspCamera.fov=t}get fov(){return this.perspCamera.fov}setNear(t,e){"PerspectiveCamera"===t?this.perspCamera.near=e:this.orthoCamera.near=e}setZoom(t,e){e>=0&&("PerspectiveCamera"===t?this.perspCamera.zoom=e:this.orthoCamera.zoom=e)}set cameraType(t){"PerspectiveCamera"===t?this.toPerspective():"OrthographicCamera"===t&&this.toOrthographic()}get near(){return"PerspectiveCamera"===this._cameraType?this.perspCamera.near:this.orthoCamera.near}set near(t){"PerspectiveCamera"===this._cameraType?this.perspCamera.near=t:this.orthoCamera.near=t}get zoom(){return"PerspectiveCamera"===this._cameraType?this.perspCamera.zoom:this.orthoCamera.zoom}set zoom(t){t>=0&&("PerspectiveCamera"===this._cameraType?this.perspCamera.zoom=t:this.orthoCamera.zoom=t)}lookAt(t,e,r){"number"==typeof t&&(t=new p(t,e,r)),super.lookAt(t),this.getWorldPosition(b),this.targetOffset=b.distanceTo(t)}getTarget(t=new p){return this.getWorldDirection(x),this.getWorldPosition(b),x.multiplyScalar(this.targetOffset),t.copy(b).add(x),t}getDistanceToTarget(){let t=this.getTarget();return this.getWorldPosition(b),b.distanceTo(t)}updateUp(){this.getWorldQuaternion(_),M.set(0,0,1).applyQuaternion(_),O.copy(c.DEFAULT_UP),this.isUpVectorFlipped&&O.negate(),O.applyQuaternion(_),F.copy(c.DEFAULT_UP).projectOnPlane(M),this.angleOffsetFromUp=F.angleTo(O),this.angleOffsetFromUp*=F.cross(O).dot(M)>=0?1:-1}updateTransformState(t,e){let r=super.updateTransformState(t,e);return void 0!==t.isUpVectorFlipped&&(this.isUpVectorFlipped=t.isUpVectorFlipped),this.updateUp(),r}getViewFrontToObject(t){let e=t.getWorldPosition(new p),r=t.getWorldDirection(new p).multiplyScalar(this.targetOffset);return{position:e.clone().add(r),target:e}}getViewToTarget(t){let e=this.getWorldDirection(new p).multiplyScalar(this.targetOffset);return{position:t.clone().sub(e),target:t}}getViewToObject(t){let e=new p;return t.getWorldPosition(e),this.getViewToTarget(e)}setViewplaneSize(t,e,r=!1){if(this.aspect=t/e,r){let r=t>e?this.aspect:1,i=t>e?1:this.aspect;this.left=-395*r,this.right=395*r,this.top=1/i*395,this.bottom=1/i*-395}else this.left=.5*-t,this.right=.5*t,this.top=.5*e,this.bottom=.5*-e;this.updateProjectionMatrix()}copyViewPlaneSize(t){this.aspect=t.aspect,this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.updateProjectionMatrix()}toOrthographic(){this.orthoCamera.left=this.left,this.orthoCamera.right=this.right,this.orthoCamera.top=this.top,this.orthoCamera.bottom=this.bottom,this.orthoCamera.view=this.view,this.orthoCamera.far=this.far,this.orthoCamera.updateProjectionMatrix(),this.projectionMatrix=this.orthoCamera.projectionMatrix,this.projectionMatrixInverse=this.orthoCamera.projectionMatrixInverse,this._cameraType="OrthographicCamera",this._applyProjectionTransition(),this.objectHelper&&this.objectHelper.update()}toPerspective(){this.perspCamera.aspect=this.aspect,this.perspCamera.fov=this.fov,this.perspCamera.view=this.view,this.perspCamera.far=this.far,this.perspCamera.updateProjectionMatrix(),this.projectionMatrix=this.perspCamera.projectionMatrix,this.projectionMatrixInverse=this.perspCamera.projectionMatrixInverse,this._cameraType="PerspectiveCamera",this._applyProjectionTransition(),this.objectHelper&&this.objectHelper.update()}get isProjectionTransitioning(){return void 0!==this._projectionTransition}get projectionTransitionProgress(){let t=this._projectionTransition;if(void 0===t)return 1;let e=(performance.now()-t.start)/t.duration;return e>=1?1:e<=0?0:P(e)}get _activeSubCamera(){return"PerspectiveCamera"===this._cameraType?this.perspCamera:this.orthoCamera}_canAnimateProjection(){return V.projectionTransitionsEnabled&&"function"==typeof requestAnimationFrame&&typeof performance<"u"&&performance.now()-this._createdAt>=V.projectionTransitionMinAgeMs}_beginProjectionTransition(t){let e=this._projectionTransition;void 0===e&&(e={from:new h,blend:new h,blendInverse:new h,start:0,duration:V.projectionTransitionDuration,referenceDepth:1,raf:0,requestRender:t},this._projectionTransition=e),e.from.copy(this.projectionMatrix),e.start=performance.now(),e.duration=V.projectionTransitionDuration,e.referenceDepth=Number.isFinite(this.targetOffset)?Math.max(1,this.targetOffset):1,t&&(e.requestRender=t),0!==e.raf&&cancelAnimationFrame(e.raf),e.raf=requestAnimationFrame(this._tickProjectionTransition)}_applyProjectionTransition(){let t=this._projectionTransition;if(void 0===t)return;let e=(performance.now()-t.start)/t.duration;if(e>=1)return void this._endProjectionTransition();let r=P(e),i=t.from.elements,a=this._activeSubCamera.projectionMatrix.elements,o=t.blend.elements,s=t.referenceDepth,n=Math.max(1e-6,i[15]-i[11]*s),p=r*n/(r*n+(1-r)*Math.max(1e-6,a[15]-a[11]*s));for(let t=0;t<16;t++)o[t]=i[t]+(a[t]-i[t])*p;t.blendInverse.copy(t.blend).invert(),this.projectionMatrix=t.blend,this.projectionMatrixInverse=t.blendInverse}_endProjectionTransition(){let t=this._projectionTransition;if(void 0===t)return;0!==t.raf&&cancelAnimationFrame(t.raf),this._projectionTransition=void 0;let e=this._activeSubCamera;this.projectionMatrix=e.projectionMatrix,this.projectionMatrixInverse=e.projectionMatrixInverse}_syncProjectionTransition(t){let e=t._projectionTransition;if(void 0===e)return void(void 0!==this._projectionTransition&&this._endProjectionTransition());let r=this._projectionTransition;void 0===r?(r={from:new h,blend:new h,blendInverse:new h,start:0,duration:1,referenceDepth:1,raf:0,requestRender:void 0},this._projectionTransition=r):0!==r.raf&&(cancelAnimationFrame(r.raf),r.raf=0),r.requestRender=void 0,r.from.copy(e.from),r.start=e.start,r.duration=e.duration,r.referenceDepth=e.referenceDepth,this._applyProjectionTransition()}setFocalLength(t){this.perspCamera.setFocalLength(t),this.toPerspective()}getFocalLength(){return this.perspCamera.getFocalLength()}getEffectiveFOV(){return this.perspCamera.getEffectiveFOV()}getFilmWidth(){return this.perspCamera.getFilmWidth()}getFilmHeight(){return this.perspCamera.getFilmHeight()}setViewOffset(t,e,r,i,a,o){"PerspectiveCamera"===this._cameraType?this.perspCamera.setViewOffset(t,e,r,i,a,o):this.orthoCamera.setViewOffset(t,e,r,i,a,o),this._applyProjectionTransition()}clearViewOffset(){"PerspectiveCamera"===this._cameraType?(this.perspCamera.clearViewOffset(),this.toPerspective()):(this.orthoCamera.clearViewOffset(),this.toOrthographic())}copyHistory(){this.previousProjectionMatrix&&this.previousProjectionMatrix.copy(this.projectionMatrix)}updateProjectionMatrix(){"PerspectiveCamera"===this._cameraType?this.toPerspective():"OrthographicCamera"===this._cameraType&&this.toOrthographic()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}copy(t,e){return super.copy(t,e),this.parent=t.parent,this.orthoCamera.copy(t.orthoCamera),this.perspCamera.copy(t.perspCamera),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.far=t.far,this.view=null===t.view?null:Object.assign({},t.view),this._cameraType=t._cameraType,this.aspect=t.aspect,this.fov=t.fov,this.focus=t.focus,this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this.targetOffset=a.sanitizeTargetOffset(t.targetOffset),this.updateProjectionMatrix(),this._syncProjectionTransition(t),this}toCameraState(t=[]){let e={type:this.cameraType,far:this.far,orthographic:{near:this.orthoCamera.near,zoom:this.orthoCamera.zoom},perspective:{near:this.perspCamera.near,fov:this.perspCamera.fov,zoom:this.perspCamera.zoom},up:this.up.toArray(),targetOffset:this.targetOffset,isUpVectorFlipped:this.isUpVectorFlipped};return i(e,t)}updateCameraSubtype(t,e){let r="perspective"===t?"PerspectiveCamera":"OrthographicCamera";void 0!==e.zoom&&this.setZoom(r,e.zoom),void 0!==e.near&&this.setNear(r,e.near),void 0!==e.fov&&"PerspectiveCamera"===r&&(this.fov=e.fov)}updateState(t,e){this.updateCameraState(t,e)}updateCameraState(t,e){this.updateState_Entity(t,e),void 0!==t.far&&(this.far=t.far),void 0!==t.orthographic&&this.updateCameraSubtype("orthographic",t.orthographic),void 0!==t.perspective&&this.updateCameraSubtype("perspective",t.perspective),void 0!==t.type&&(t.type!==this._cameraType&&this._canAnimateProjection()&&this._beginProjectionTransition(e?.shared.requestRender),this.cameraType=t.type),void 0!==t.up&&this.up.fromArray(t.up.map(t=>"number"==typeof t?t:0)),void 0!==t.targetOffset&&(this.targetOffset=a.sanitizeTargetOffset(t.targetOffset)),void 0!==t.isUpVectorFlipped&&(this.isUpVectorFlipped=t.isUpVectorFlipped),this.updateProjectionMatrix()}updateByPatchedOp(t,e,r){super.updateByPatchedOp(t,e,r),1===t.path.length&&0===t.type&&this.updateCameraSubtype(t.path[0],t.props)}toState(t){return{...super.toState(t),...this.toCameraState(t),type:this.cameraType}}},A=V;A.projectionTransitionsEnabled=!1,A.projectionTransitionDuration=350,A.projectionTransitionMinAgeMs=1e3;export{A as a};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./runtime-chunk-
|
|
1
|
+
import{j as e}from"./runtime-chunk-I4ELBYXH.js";import{Ed as t,Fc as r,Oc as i,We as n,cd as a,jd as o}from"./runtime-chunk-BVVSZMXD.js";var s;(s||(s={})).is=e=>"objectHelper"in e;var l=(r,i)=>class extends(e(r)){constructor(){super(...arguments),this.objectHelper=new i(this),this.gizmos={}}get geometryHelper(){return i.geometryHelper}raycast(e,t){this.objectHelper.raycast(e,t)}showGizmos(){for(let e in this.gizmos){let t=this.gizmos[e];t instanceof n&&(t.visible=!0)}}updateEntityBoxSize(e,r){this.objectHelper.visible&&this.geometryHelper instanceof t?(e.setScalar(0),r.set(this.geometryHelper.parameters.width,this.geometryHelper.parameters.height,this.geometryHelper.parameters.height).multiplyScalar(.5)):super.updateEntityBoxSize(e,r)}hideGizmos(){for(let e in this.gizmos){let t=this.gizmos[e];t instanceof n&&(t.visible=!1)}}},c=e=>{var r;return(r=class extends e{}).geometryHelper=new t(30,30,30),r},p=new o,u=new a,m=new i,f=(e,t,i,n,a=!1,o=e)=>{let s=t,l=o.matrixWorld;if(null===s.boundingSphere&&s.computeBoundingSphere(),u.copy(s.boundingSphere),u.applyMatrix4(l),!1===i.ray.intersectsSphere(u)||(m.copy(l).invert(),p.copy(i.ray).applyMatrix4(m),null!==s.boundingBox&&!1===p.intersectsBox(s.boundingBox)))return;let c,f,h,d,g,y,x=s.index,b=s.attributes.position,w=s.drawRange;if(!1===a){for(g=Math.max(0,w.start),y=Math.min(x.count,w.start+w.count);g<y;g+=3)if(f=x.getX(g),h=x.getX(g+1),d=x.getX(g+2),c=B(e,i,p,b,f,h,d),c)return c.faceIndex=Math.floor(g/3),void n.push(c)}else{let t=s.attributes.position,a=new r,l=new r,c=new r,u=new r,m=2,f=1/((o.scale.x+o.scale.y+o.scale.z)/3),h=f*f;for(let r=Math.max(0,w.start),s=Math.min(t.count,w.start+w.count)-1;r<s;r+=m){if(a.fromBufferAttribute(t,r),l.fromBufferAttribute(t,r+1),p.distanceSqToSegment(a,l,u,c)>h)continue;u.applyMatrix4(o.matrixWorld);let s=i.ray.origin.distanceTo(u);s<i.near||s>i.far||n.push({distance:s,point:c.clone().applyMatrix4(o.matrixWorld),object:e})}}function B(e,t,i,n,a,o,s){let l=new r,c=new r,p=new r,u=new r,m=new r;if(l.fromBufferAttribute(n,a),c.fromBufferAttribute(n,o),p.fromBufferAttribute(n,s),null===i.intersectTriangle(l,c,p,!1,u))return null;m.copy(u),m.applyMatrix4(e.matrixWorld);let f=t.ray.origin.distanceTo(m);return f<t.near||f>t.far?null:{faceIndex:1,distance:f,point:m.clone(),object:e}}};export{c as a,f as b,s as c,l as d};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as t}from"./runtime-chunk-
|
|
1
|
+
import{a as t}from"./runtime-chunk-LHETPF7C.js";import{d as e}from"./runtime-chunk-3BVK77PB.js";import{Sc as s}from"./runtime-chunk-BVVSZMXD.js";var r=class extends(e(s,t)){constructor(t,e){super(),this.super_Entity(t,e),this.objectHelper.update(),"Empty"===this.data.type&&(this.objectHelper.visible=!1)}updateState(t,e){this.updateState_Entity(t,e),"buffer"in t&&1===Object.keys(t).length&&e.scene.reloadSplats()}};export{r as a};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as n}from"./runtime-chunk-
|
|
1
|
+
import{h as n}from"./runtime-chunk-I4ELBYXH.js";function e(o){if(o.component){let t=o.component.instances.indexOf(o);t>=0&&o.component.instances.splice(t,1);for(let t of o.children)n.is(t)&&e(t)}}export{e as a};
|
|
Binary file
|
|
Binary file
|