Compare commits
No commits in common. "43ea99d16f9b786bf7978b9e5fc654555fc86950" and "96e11f3594281eb3ad56a6b2b3989a7a7b0efee1" have entirely different histories.
43ea99d16f
...
96e11f3594
25 changed files with 147 additions and 494032 deletions
2
dist/aframe.min.js
vendored
2
dist/aframe.min.js
vendored
File diff suppressed because one or more lines are too long
890
dist/xrfragment.aframe.all.js
vendored
890
dist/xrfragment.aframe.all.js
vendored
File diff suppressed because one or more lines are too long
884
dist/xrfragment.aframe.js
vendored
884
dist/xrfragment.aframe.js
vendored
|
|
@ -1,873 +1,3 @@
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:48:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:44:27 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:42:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:41:33 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:39:55 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:36:55 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:33:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:32:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:31:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:30:31 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:28:57 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:27:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:26:30 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:25:45 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:24:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:23:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:22:20 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:08:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:05:15 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:41:03 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:38:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:38:06 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:36:06 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:31:30 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:30:20 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:28:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:27:57 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:27:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:24:05 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:22:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:11:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:09:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:03:50 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:57:15 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:55:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:55:46 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:51:27 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:49:52 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:48:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:48:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:47:32 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:46:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:46:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:43:03 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:42:36 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:45:50 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:45:13 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:43:59 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:42:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:38:57 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:37:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:35:24 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:34:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:32:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:32:31 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:31:34 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:29:22 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:28:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:26:10 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:15:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:14:45 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:14:20 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:12:10 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:11:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:08:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:06:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:05:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:05:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:04:05 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:03:28 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:00:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:00:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:58:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:57:43 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:57:03 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:55:32 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:54:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:53:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:52:28 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:44:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:44:13 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:43:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:41:59 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:41:14 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:40:06 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:39:46 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:39:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:37:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:37:02 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:36:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:35:53 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:34:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:32:59 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:31:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:29:17 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:26:56 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:25:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:21:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:20:45 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:17:32 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:15:21 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 11:58:48 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 11:57:32 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 11:55:38 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:29:31 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:29:00 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:14:39 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:13:14 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:11:15 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:09:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:07:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:07:02 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:05:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:05:22 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:04:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:58:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:57:27 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:54:09 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:46:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:43:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:41:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:24:11 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 05:54:21 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 09:01:22 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:58:39 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:54:26 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:53:52 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:49:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:49:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:47:36 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:46:47 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:45:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:44:14 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:41:56 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:40:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:40:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:38:17 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:38:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:37:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:37:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 07:01:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 11:02:24 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 11:01:36 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:59:57 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:58:57 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:55:24 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:54:54 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:53:36 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:50:46 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:50:18 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:49:55 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:49:10 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:46:35 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:45:38 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:40:35 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:29:57 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:19:23 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:18:25 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:18:06 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:16:43 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:15:40 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:14:49 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:13:07 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:12:25 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:10:21 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:25:46 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:25:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:23:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:21:49 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:20:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:20:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:17:05 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:15:26 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 05:24:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
* v0.5.1 generated at Wed Apr 23 17:57:18 CEST 2025
|
* v0.5.1 generated at Wed Apr 23 17:57:18 CEST 2025
|
||||||
* https://xrfragment.org
|
* https://xrfragment.org
|
||||||
|
|
@ -3766,6 +2896,7 @@ xrf.navigator.to = (url,flags,loader,data) => {
|
||||||
evalFragment()
|
evalFragment()
|
||||||
return resolve(xrf.model) // eval non-positional fragments (no loader needed)
|
return resolve(xrf.model) // eval non-positional fragments (no loader needed)
|
||||||
}
|
}
|
||||||
|
|
||||||
xrf
|
xrf
|
||||||
.emit('navigateLoading', {url,loader,data})
|
.emit('navigateLoading', {url,loader,data})
|
||||||
.then( () => {
|
.then( () => {
|
||||||
|
|
@ -3811,7 +2942,7 @@ xrf.navigator.init = () => {
|
||||||
xrf.navigator.URI = xrfragment.URI.parse(document.location.href)
|
xrf.navigator.URI = xrfragment.URI.parse(document.location.href)
|
||||||
|
|
||||||
window.addEventListener('popstate', function (event){
|
window.addEventListener('popstate', function (event){
|
||||||
if( xrf.navigator.updateHash.active && document.location.hash.length > 1 ){ // ignore programmatic hash updates (causes infinite recursion)
|
if( xrf.navigator.updateHash.active ){ // ignore programmatic hash updates (causes infinite recursion)
|
||||||
xrf.navigator.to( xrf.navigator.URI.last )
|
xrf.navigator.to( xrf.navigator.URI.last )
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
@ -3821,9 +2952,7 @@ xrf.navigator.init = () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
// allow other libraries to trigger popstate event without triggering the navigate-fallbacks during pageload
|
// allow other libraries to trigger popstate event without triggering the navigate-fallbacks during pageload
|
||||||
setTimeout( () => {
|
setTimeout( xrf.navigator.setupNavigateFallbacks(), 1500 )
|
||||||
xrf.navigator.setupNavigateFallbacks()
|
|
||||||
}, 2500 )
|
|
||||||
|
|
||||||
// this allows selectionlines to be updated according to the camera (renderloop)
|
// this allows selectionlines to be updated according to the camera (renderloop)
|
||||||
xrf.focusLine = new xrf.THREE.Group()
|
xrf.focusLine = new xrf.THREE.Group()
|
||||||
|
|
@ -5913,11 +5042,8 @@ window.AFRAME.registerComponent('xrf', {
|
||||||
let searchIsUri = document.location.search &&
|
let searchIsUri = document.location.search &&
|
||||||
!document.location.search.match(/=/) &&
|
!document.location.search.match(/=/) &&
|
||||||
document.location.search.match("/")
|
document.location.search.match("/")
|
||||||
if( searchIsUri ){ // override url
|
if( searchIsUri || document.location.hash.length > 1 ){ // override url
|
||||||
this.data = `${document.location.search.substr(1)}`
|
this.data = `${document.location.search.substr(1)}${document.location.hash}`
|
||||||
}
|
|
||||||
if( document.location.hash.length > 1 ){
|
|
||||||
this.data = this.data.replace(/#.*/,'') + document.location.hash
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
870
dist/xrfragment.js
vendored
870
dist/xrfragment.js
vendored
|
|
@ -1,873 +1,3 @@
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:48:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:44:27 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:42:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:41:33 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:39:55 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:36:55 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:33:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:32:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:31:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:30:31 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:28:57 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:27:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:26:30 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:25:45 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:24:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:23:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:22:20 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:08:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:05:15 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:41:03 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:38:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:38:06 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:36:06 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:31:30 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:30:20 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:28:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:27:57 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:27:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:24:05 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:22:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:11:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:09:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:03:50 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:57:15 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:55:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:55:46 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:51:27 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:49:52 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:48:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:48:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:47:32 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:46:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:46:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:43:03 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:42:36 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:45:50 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:45:13 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:43:59 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:42:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:38:57 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:37:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:35:24 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:34:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:32:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:32:31 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:31:34 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:29:22 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:28:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:26:10 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:15:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:14:45 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:14:20 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:12:10 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:11:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:08:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:06:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:05:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:05:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:04:05 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:03:28 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:00:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:00:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:58:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:57:43 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:57:03 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:55:32 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:54:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:53:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:52:28 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:44:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:44:13 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:43:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:41:59 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:41:14 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:40:06 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:39:46 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:39:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:37:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:37:02 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:36:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:35:53 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:34:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:32:59 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:31:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:29:17 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:26:56 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:25:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:21:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:20:45 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:17:32 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:15:21 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 11:58:48 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 11:57:32 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 11:55:38 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:29:31 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:29:00 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:14:39 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:13:14 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:11:15 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:09:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:07:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:07:02 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:05:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:05:22 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:04:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:58:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:57:27 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:54:09 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:46:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:43:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:41:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:24:11 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 05:54:21 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 09:01:22 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:58:39 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:54:26 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:53:52 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:49:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:49:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:47:36 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:46:47 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:45:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:44:14 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:41:56 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:40:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:40:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:38:17 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:38:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:37:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:37:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 07:01:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 11:02:24 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 11:01:36 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:59:57 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:58:57 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:55:24 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:54:54 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:53:36 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:50:46 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:50:18 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:49:55 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:49:10 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:46:35 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:45:38 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:40:35 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:29:57 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:19:23 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:18:25 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:18:06 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:16:43 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:15:40 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:14:49 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:13:07 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:12:25 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:10:21 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:25:46 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:25:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:23:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:21:49 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:20:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:20:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:17:05 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:15:26 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 05:24:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
* v0.5.1 generated at Wed Apr 23 17:57:18 CEST 2025
|
* v0.5.1 generated at Wed Apr 23 17:57:18 CEST 2025
|
||||||
* https://xrfragment.org
|
* https://xrfragment.org
|
||||||
|
|
|
||||||
890
dist/xrfragment.model-viewer.js
vendored
890
dist/xrfragment.model-viewer.js
vendored
File diff suppressed because one or more lines are too long
487983
dist/xrfragment.module.js
vendored
487983
dist/xrfragment.module.js
vendored
File diff suppressed because it is too large
Load diff
2
dist/xrfragment.plugin.editor.js
vendored
2
dist/xrfragment.plugin.editor.js
vendored
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* v0.5.1 generated at Thu May 15 04:48:16 PM CEST 2025
|
* v0.5.1 generated at Wed Apr 23 17:57:18 CEST 2025
|
||||||
* https://xrfragment.org
|
* https://xrfragment.org
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
82
dist/xrfragment.plugin.frontend.css.js
vendored
82
dist/xrfragment.plugin.frontend.css.js
vendored
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* v0.5.1 generated at Thu May 15 04:48:16 PM CEST 2025
|
* v0.5.1 generated at Wed Apr 23 17:57:18 CEST 2025
|
||||||
* https://xrfragment.org
|
* https://xrfragment.org
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
@ -369,9 +369,8 @@ document.head.innerHTML += `
|
||||||
opacity:0.5
|
opacity:0.5
|
||||||
}
|
}
|
||||||
|
|
||||||
body.menu .js-snackbar__wrapper,
|
body.menu .js-snackbar__wrapper {
|
||||||
body.topbar .js-snackbar__wrapper {
|
top: 64px;
|
||||||
transform: translateY(40px);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.transcript{
|
.transcript{
|
||||||
|
|
@ -746,7 +745,6 @@ document.head.innerHTML += `
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
position: relative;
|
position: relative;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-right:5px;
|
|
||||||
transform: scale(var(--ggs,1)) translate(3px,3px);
|
transform: scale(var(--ggs,1)) translate(3px,3px);
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 6px;
|
height: 6px;
|
||||||
|
|
@ -854,79 +852,5 @@ document.head.innerHTML += `
|
||||||
left: -11px;
|
left: -11px;
|
||||||
top: -2px
|
top: -2px
|
||||||
}
|
}
|
||||||
|
|
||||||
.gg-software-upload {
|
|
||||||
box-sizing: border-box;
|
|
||||||
position: relative;
|
|
||||||
display: inline-block;
|
|
||||||
margin-right:5px;
|
|
||||||
transform: scale(var(--ggs, 1));
|
|
||||||
width: 16px;
|
|
||||||
height: 6px;
|
|
||||||
border: 2px solid;
|
|
||||||
border-top: 0;
|
|
||||||
border-bottom-left-radius: 2px;
|
|
||||||
border-bottom-right-radius: 2px;
|
|
||||||
margin-top: 8px;
|
|
||||||
}
|
|
||||||
.gg-software-upload::after {
|
|
||||||
content: "";
|
|
||||||
display: block;
|
|
||||||
box-sizing: border-box;
|
|
||||||
position: absolute;
|
|
||||||
width: 8px;
|
|
||||||
height: 8px;
|
|
||||||
border-left: 2px solid;
|
|
||||||
border-top: 2px solid;
|
|
||||||
transform: rotate(45deg);
|
|
||||||
left: 2px;
|
|
||||||
bottom: 4px;
|
|
||||||
}
|
|
||||||
.gg-software-upload::before {
|
|
||||||
content: "";
|
|
||||||
display: block;
|
|
||||||
box-sizing: border-box;
|
|
||||||
position: absolute;
|
|
||||||
border-radius: 3px;
|
|
||||||
width: 2px;
|
|
||||||
height: 10px;
|
|
||||||
background: currentColor;
|
|
||||||
left: 5px;
|
|
||||||
bottom: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gg-globe-alt,
|
|
||||||
.gg-globe-alt::after,
|
|
||||||
.gg-globe-alt::before {
|
|
||||||
display: inline-block;
|
|
||||||
box-sizing: border-box;
|
|
||||||
height: 18px;
|
|
||||||
border: 2px solid;
|
|
||||||
}
|
|
||||||
.gg-globe-alt {
|
|
||||||
position: relative;
|
|
||||||
transform: scale(var(--ggs, 1));
|
|
||||||
width: 18px;
|
|
||||||
border-radius: 22px;
|
|
||||||
}
|
|
||||||
.gg-globe-alt::after,
|
|
||||||
.gg-globe-alt::before {
|
|
||||||
content: "";
|
|
||||||
position: absolute;
|
|
||||||
width: 8px;
|
|
||||||
border-radius: 100%;
|
|
||||||
top: -2px;
|
|
||||||
left: 3px;
|
|
||||||
}
|
|
||||||
.gg-globe-alt::after {
|
|
||||||
width: 24px;
|
|
||||||
height: 20px;
|
|
||||||
border: 2px solid transparent;
|
|
||||||
border-bottom: 2px solid;
|
|
||||||
top: -11px;
|
|
||||||
left: -5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
`
|
`
|
||||||
|
|
|
||||||
171
dist/xrfragment.plugin.frontend.js
vendored
171
dist/xrfragment.plugin.frontend.js
vendored
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* v0.5.1 generated at Thu May 15 04:48:16 PM CEST 2025
|
* v0.5.1 generated at Wed Apr 23 17:57:18 CEST 2025
|
||||||
* https://xrfragment.org
|
* https://xrfragment.org
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
@ -640,128 +640,6 @@ menuComponent = (el) => new Proxy({
|
||||||
document.addEventListener('frontend:ready', (e) => {
|
document.addEventListener('frontend:ready', (e) => {
|
||||||
window.$menu = menuComponent( document.createElement('div') ).init(e.detail)
|
window.$menu = menuComponent( document.createElement('div') ).init(e.detail)
|
||||||
})
|
})
|
||||||
|
|
||||||
// reactive component for displaying the menu
|
|
||||||
filesComponent = (el) => new Proxy({
|
|
||||||
|
|
||||||
html: (data) => `
|
|
||||||
<style type="text/css">
|
|
||||||
#messages .msg.ui #files div {
|
|
||||||
border:none;
|
|
||||||
padding:0;
|
|
||||||
border-radius:0;
|
|
||||||
margin:0;
|
|
||||||
box-shadow:none;
|
|
||||||
}
|
|
||||||
.msg.ui #files{
|
|
||||||
min-width:415px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<div class="ui envelope">
|
|
||||||
<div class="msg ui">
|
|
||||||
<div>
|
|
||||||
<div id="files">
|
|
||||||
<a onclick="$files.toggle(false)"><i class="gg-close-o" id="close"></i></a>
|
|
||||||
<br>
|
|
||||||
<div class="tab-frame">
|
|
||||||
${data.tabs.map( (t) =>
|
|
||||||
` <input type="radio" name="tab" id="${t.id}" ${t.id == "localFiles" ? 'checked="checked"' : '' }>
|
|
||||||
<label for="${t.id}">${t.name}</label>
|
|
||||||
`
|
|
||||||
).join('')
|
|
||||||
}
|
|
||||||
<br><br>
|
|
||||||
<div class="tab" style="margin-top:15px;">
|
|
||||||
<div id="localFilesTab">
|
|
||||||
<button id="localOpen" onclick="$files.fileLoaders()" ><i class="gg-software-upload"></i> open experience</button>
|
|
||||||
<br>
|
|
||||||
<button id="localSave" onclick="frontend.download()"><i class="gg-software-download"></i> save current</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
`,
|
|
||||||
|
|
||||||
tabs: [
|
|
||||||
{name: "offline", id: "localFiles"}
|
|
||||||
],
|
|
||||||
|
|
||||||
show: false,
|
|
||||||
$localFiles: $localFiles = el.querySelector("#localFiles"),
|
|
||||||
|
|
||||||
toggle(state){
|
|
||||||
this.show = state !== undefined ? state : !this.show
|
|
||||||
},
|
|
||||||
|
|
||||||
remove(){
|
|
||||||
el.parent.remove(el)
|
|
||||||
},
|
|
||||||
|
|
||||||
init(opts){
|
|
||||||
this.decorateFileButton()
|
|
||||||
// create HTML element
|
|
||||||
el.innerHTML = this.html(this)
|
|
||||||
for( i in this ) el[i] = this[i]
|
|
||||||
this.toggle(this.show) // trigger visibility
|
|
||||||
document.querySelector("#messages").appendChild(el);
|
|
||||||
// setup input listeners
|
|
||||||
(['click']).map( (e) => el.addEventListener(e, (ev) => this[e] && this[e](ev.target.id,ev) ) )
|
|
||||||
|
|
||||||
// signal ready
|
|
||||||
setTimeout( () => {
|
|
||||||
document.dispatchEvent( new CustomEvent("$files:ready", {detail: {$files:this,xrf}}) )
|
|
||||||
},100)
|
|
||||||
return this
|
|
||||||
},
|
|
||||||
|
|
||||||
decorateFileButton: function(){
|
|
||||||
// rename button
|
|
||||||
document.querySelector("#load").setAttribute("value","3D file")
|
|
||||||
// decorate fileLoaders
|
|
||||||
window.frontend.fileLoaders = ( (fileLoaders) => {
|
|
||||||
this.fileLoaders = fileLoaders
|
|
||||||
return () => this.toggle()
|
|
||||||
})( window.frontend.fileLoaders )
|
|
||||||
},
|
|
||||||
|
|
||||||
click(id,e){
|
|
||||||
switch(id){
|
|
||||||
case "icon":
|
|
||||||
case "more": return this.toggle(); break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
|
|
||||||
get(me,k,v){ return me[k] },
|
|
||||||
|
|
||||||
set(me,k,v){
|
|
||||||
me[k] = v
|
|
||||||
switch( k ){
|
|
||||||
case "show":{
|
|
||||||
el.style.display = v ? '' : 'none';
|
|
||||||
if( v ) $chat.visible = true
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "tabs":{
|
|
||||||
el.innerHTML = $files.html($files)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
renderButtons: (data) => `${data.buttons.join('')}`
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
||||||
// reactify component!
|
|
||||||
document.addEventListener('$chat:ready', (e) => {
|
|
||||||
window.$files = filesComponent( document.createElement('div') ).init(e.detail)
|
|
||||||
})
|
|
||||||
// this has some overlap with $menu.js
|
// this has some overlap with $menu.js
|
||||||
// frontend serves as a basis for shared functions (download, share e.g.)
|
// frontend serves as a basis for shared functions (download, share e.g.)
|
||||||
|
|
||||||
|
|
@ -807,8 +685,7 @@ window.frontend = (opts) => new Proxy({
|
||||||
.setupCapture()
|
.setupCapture()
|
||||||
.setupUserHints()
|
.setupUserHints()
|
||||||
.setupNetworkListeners()
|
.setupNetworkListeners()
|
||||||
.setupTopbar()
|
.hidetopbarWhenMenuCollapse()
|
||||||
.hideTopbarWhenMenuCollapse()
|
|
||||||
.hideUIWhenNavigating()
|
.hideUIWhenNavigating()
|
||||||
|
|
||||||
window.notify = this.notify
|
window.notify = this.notify
|
||||||
|
|
@ -833,16 +710,6 @@ window.frontend = (opts) => new Proxy({
|
||||||
return this
|
return this
|
||||||
},
|
},
|
||||||
|
|
||||||
setupTopbar(){
|
|
||||||
// setup topbar handle
|
|
||||||
this.$topbar = this.el.querySelector("#topbar")
|
|
||||||
this.$topbar.toggle = (state) => {
|
|
||||||
this.$topbar.style.display = state ? 'block' : 'none'
|
|
||||||
document.body.classList[ state ? 'add' : 'remove' ](['topbar'])
|
|
||||||
}
|
|
||||||
return this
|
|
||||||
},
|
|
||||||
|
|
||||||
setupIframeUrlHandler(){
|
setupIframeUrlHandler(){
|
||||||
// allow iframe to open url
|
// allow iframe to open url
|
||||||
window.addEventListener('message', (event) => {
|
window.addEventListener('message', (event) => {
|
||||||
|
|
@ -950,9 +817,9 @@ window.frontend = (opts) => new Proxy({
|
||||||
return this
|
return this
|
||||||
},
|
},
|
||||||
|
|
||||||
hideTopbarWhenMenuCollapse(){
|
hidetopbarWhenMenuCollapse(){
|
||||||
// hide topbar when menu collapse button is pressed
|
// hide topbar when menu collapse button is pressed
|
||||||
document.addEventListener('$menu:collapse', (e) => this.$topbar.toggle( e.detail === true ) )
|
document.addEventListener('$menu:collapse', (e) => this.el.querySelector("#topbar").style.display = e.detail === true ? 'block' : 'none')
|
||||||
return this
|
return this
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -1025,13 +892,7 @@ window.frontend = (opts) => new Proxy({
|
||||||
window.frontend.emit("notify",opts)
|
window.frontend.emit("notify",opts)
|
||||||
},
|
},
|
||||||
|
|
||||||
download(cb){
|
download(){
|
||||||
|
|
||||||
function exportScene(model,ext,file,cb){
|
|
||||||
|
|
||||||
document.dispatchEvent( new CustomEvent('frontend.export',{detail:{ scene: model.scene,ext}}) )
|
|
||||||
xrf.emit('export', {scene: model.scene, ext})
|
|
||||||
.then( () => {
|
|
||||||
|
|
||||||
function download(dataurl, filename) {
|
function download(dataurl, filename) {
|
||||||
var a = document.createElement("a");
|
var a = document.createElement("a");
|
||||||
|
|
@ -1041,17 +902,18 @@ window.frontend = (opts) => new Proxy({
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( !cb ) cb = download
|
function exportScene(model,ext,file){
|
||||||
|
document.dispatchEvent( new CustomEvent('frontend.export',{detail:{ scene: model.scene,ext}}) )
|
||||||
|
xrf.emit('export', {scene: model.scene, ext})
|
||||||
|
.then( () => {
|
||||||
// setup exporters
|
// setup exporters
|
||||||
let defaultExporter = THREE.GLTFExporter
|
let defaultExporter = THREE.GLTFExporter
|
||||||
if( !xrf.loaders['gltf'].exporter ) xrf.loaders['gltf'].exporter = defaultExporter
|
if( !xrf.loaders['gltf'].exporter ) xrf.loaders['gltf'].exporter = defaultExporter
|
||||||
if( !xrf.loaders['glb'].exporter ) xrf.loaders['glb'].exporter = defaultExporter
|
if( !xrf.loaders['glb'].exporter ) xrf.loaders['glb'].exporter = defaultExporter
|
||||||
const exporter = new xrf.loaders[ext].exporter()
|
const exporter = new xrf.loaders[ext]()
|
||||||
|
|
||||||
exporter.parse(
|
exporter.parse(
|
||||||
model.scene,
|
model.scene,
|
||||||
function ( glb ) { cb(glb, `${file}`) }, // ready
|
function ( glb ) { download(glb, `${file}`) }, // ready
|
||||||
function ( error ) { console.error(error) }, // error
|
function ( error ) { console.error(error) }, // error
|
||||||
{
|
{
|
||||||
binary:true,
|
binary:true,
|
||||||
|
|
@ -1067,17 +929,12 @@ window.frontend = (opts) => new Proxy({
|
||||||
// load original scene and overwrite with updates
|
// load original scene and overwrite with updates
|
||||||
let url = document.location.search.replace(/\?/,'')
|
let url = document.location.search.replace(/\?/,'')
|
||||||
let {urlObj,dir,file,hash,fileExt} = xrf.navigator.origin = xrf.URI.parse(url)
|
let {urlObj,dir,file,hash,fileExt} = xrf.navigator.origin = xrf.URI.parse(url)
|
||||||
|
debugger
|
||||||
const Loader = xrf.loaders[fileExt]
|
const Loader = xrf.loaders[fileExt]
|
||||||
loader = new Loader().setPath( dir )
|
loader = new Loader().setPath( dir )
|
||||||
notify('exporting scene<br><br>please wait..')
|
notify('exporting scene<br><br>please wait..')
|
||||||
|
loader.load(url, (model) => {
|
||||||
fetch(url, { method: 'HEAD' })
|
exportScene(model,fileExt,file)
|
||||||
.then( (res) => { // url exists
|
|
||||||
if( res.ok ){
|
|
||||||
loader.load( url, (model) => exportScene(model,fileExt,file,cb), console.error )
|
|
||||||
}else{
|
|
||||||
exportScene(xrf.model,fileExt,file,cb)
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
2
dist/xrfragment.plugin.matrix.js
vendored
2
dist/xrfragment.plugin.matrix.js
vendored
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* v0.5.1 generated at Thu May 15 04:48:16 PM CEST 2025
|
* v0.5.1 generated at Wed Apr 23 17:57:18 CEST 2025
|
||||||
* https://xrfragment.org
|
* https://xrfragment.org
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
3
dist/xrfragment.plugin.network.js
vendored
3
dist/xrfragment.plugin.network.js
vendored
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* v0.5.1 generated at Thu May 15 04:48:16 PM CEST 2025
|
* v0.5.1 generated at Wed Apr 23 17:57:18 CEST 2025
|
||||||
* https://xrfragment.org
|
* https://xrfragment.org
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
@ -824,7 +824,6 @@ chatComponent.css = `
|
||||||
margin-right:15px;
|
margin-right:15px;
|
||||||
width:100%;
|
width:100%;
|
||||||
max-width:40%;
|
max-width:40%;
|
||||||
margin-bottom:7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.envelope,
|
.envelope,
|
||||||
|
|
|
||||||
2
dist/xrfragment.plugin.p2p.js
vendored
2
dist/xrfragment.plugin.p2p.js
vendored
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* v0.5.1 generated at Thu May 15 04:48:16 PM CEST 2025
|
* v0.5.1 generated at Wed Apr 23 17:57:18 CEST 2025
|
||||||
* https://xrfragment.org
|
* https://xrfragment.org
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
293
dist/xrfragment.plugin.remotestorage.js
vendored
293
dist/xrfragment.plugin.remotestorage.js
vendored
|
|
@ -1,293 +0,0 @@
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:48:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
(function(){
|
|
||||||
// this demonstrates the remotestorage aframe component
|
|
||||||
|
|
||||||
// reactive component for displaying the menu
|
|
||||||
remoteStorageComponent = (el) => new Proxy({
|
|
||||||
|
|
||||||
html: (data) => (`
|
|
||||||
<style type="text/css">
|
|
||||||
body #files .rs-button-big{
|
|
||||||
background: #FFF;
|
|
||||||
box-shadow: none;
|
|
||||||
border: 1px solid #CCC;
|
|
||||||
padding: 10px 0px 49px 10px;
|
|
||||||
}
|
|
||||||
#files .rs-button{
|
|
||||||
background:#CCC;
|
|
||||||
}
|
|
||||||
#files input {
|
|
||||||
min-width:345px;
|
|
||||||
}
|
|
||||||
#files #buttons select,
|
|
||||||
#files #buttons button{
|
|
||||||
width:255px;
|
|
||||||
max-width:unset;
|
|
||||||
}
|
|
||||||
#files #listing{
|
|
||||||
margin-bottom:15px;
|
|
||||||
}
|
|
||||||
#files #delete{
|
|
||||||
display: none;
|
|
||||||
transform: translate(10px, 5px);
|
|
||||||
}
|
|
||||||
#links{
|
|
||||||
display:none
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<div id="remoteFilesTab">
|
|
||||||
<div id="rswidget"></div>
|
|
||||||
<br>
|
|
||||||
<div id="buttons" style="display:none">
|
|
||||||
<select id="listing" alt="your files"></select>
|
|
||||||
<i class="gg-close-o" id="delete" alt="delete" onclick="$remotestorage.remove()"></i>
|
|
||||||
<a href="https://inspektor.5apps.com/?path=%2Fwebxr%2F" target="_blank" style="margin-left:15px">manage files</a>
|
|
||||||
<br>
|
|
||||||
<button onclick="$remotestorage.savePrivate()"><i class="gg-software-download"></i> save experience</button>
|
|
||||||
<br>
|
|
||||||
<button onclick="$remotestorage.savePublic()" ><i class="gg-globe-alt"></i> publish online</button>
|
|
||||||
<br>
|
|
||||||
<div id="links">
|
|
||||||
<br>
|
|
||||||
<div><i class="gg-link"></i> 3D file</div>
|
|
||||||
<input type="text" value='' id="file">
|
|
||||||
<br>
|
|
||||||
<div><i class="gg-link"></i> 3D file in webviewer</div>
|
|
||||||
<input type="text" value='' id="webviewer">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
`),
|
|
||||||
|
|
||||||
connected: false,
|
|
||||||
$listing: false,
|
|
||||||
$links: false,
|
|
||||||
|
|
||||||
init(opts){
|
|
||||||
// create HTML element
|
|
||||||
$files.tabs = $files.tabs.concat({id:"remoteFiles", name: "remote storage"})
|
|
||||||
el.innerHTML = this.html(this)
|
|
||||||
el.className = "tab"
|
|
||||||
document.querySelector("#files .tab-frame").appendChild(el);
|
|
||||||
|
|
||||||
// setup references
|
|
||||||
this.$listing = document.querySelector('#files .tab-frame select#listing');
|
|
||||||
this.$links = document.querySelector('#files .tab-frame #links');
|
|
||||||
|
|
||||||
// setup input listeners
|
|
||||||
(['click']).map( (e) => el.addEventListener(e, (ev) => typeof this[e] == 'function' && this[e](ev.target.id,ev) ) )
|
|
||||||
|
|
||||||
// signal ready
|
|
||||||
setTimeout( () => {
|
|
||||||
document.dispatchEvent( new CustomEvent("remotestorage:ready", {detail: {$files:this,xrf}}) )
|
|
||||||
},100)
|
|
||||||
|
|
||||||
this.loadScript( () => this.initRemoteStorage() )
|
|
||||||
|
|
||||||
return this
|
|
||||||
},
|
|
||||||
|
|
||||||
loadScript(cb){
|
|
||||||
let el = document.createElement("script")
|
|
||||||
el.setAttribute("defer","")
|
|
||||||
el.src = "https://unpkg.com/remotestoragejs@2.0.0-beta.7/release/remotestorage.js"
|
|
||||||
document.head.appendChild(el)
|
|
||||||
|
|
||||||
el = document.createElement("script")
|
|
||||||
el.src = "https://unpkg.com/remotestorage-widget@1.6.0/build/widget.js"
|
|
||||||
el.addEventListener('load', () => setTimeout(cb,2000) )
|
|
||||||
document.head.appendChild(el)
|
|
||||||
},
|
|
||||||
|
|
||||||
initRemoteStorage(){
|
|
||||||
let apis = {
|
|
||||||
dropbox: "4jc8nx1lbarp472"
|
|
||||||
}
|
|
||||||
const modules = []
|
|
||||||
if( typeof WebXR != undefined ){
|
|
||||||
modules.push(WebXR) // defined in remotestorage-module-webXRF.js
|
|
||||||
}
|
|
||||||
window.remoteStorage = new RemoteStorage({logging: true, modules })
|
|
||||||
if( Object.keys(apis).length ) remoteStorage.setApiKeys(apis)
|
|
||||||
|
|
||||||
remoteStorage.on('not-connected', (e) => { this.connected = false })
|
|
||||||
remoteStorage.on('ready', (e) => { })
|
|
||||||
remoteStorage.on('connected', (e) => {
|
|
||||||
this.connected = true
|
|
||||||
// force open dialog and click remote-tab
|
|
||||||
frontend.$topbar.toggle(true)
|
|
||||||
$files.toggle(true)
|
|
||||||
document.querySelector("#files input#remoteFiles").click()
|
|
||||||
|
|
||||||
this.updateFiles()
|
|
||||||
})
|
|
||||||
|
|
||||||
remoteStorage.access.claim( `webxr`, 'rw'); // our data dir
|
|
||||||
remoteStorage.caching.enable( `/webxr/` ) // local-first, remotestorage-second
|
|
||||||
remoteStorage.caching.enable( `/public/webxr/` ) // local-first, remotestorage-second
|
|
||||||
|
|
||||||
// create widget
|
|
||||||
let opts = {}
|
|
||||||
opts.modalBackdrop = false
|
|
||||||
opts.leaveOpen = true
|
|
||||||
widget = new window.Widget(window.remoteStorage, opts)
|
|
||||||
widget.attach( "rswidget" );
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
savePrivate(){
|
|
||||||
frontend.download( (data,filename) => {
|
|
||||||
filename = prompt('save-as filename', filename)
|
|
||||||
remoteStorage.webxr.add(data,{public:false,filename,mimetype: 'model/glb-binary'})
|
|
||||||
.then( () => window.notify(`saved webxr/${filename} to remote storage`) )
|
|
||||||
.catch( (e) => {
|
|
||||||
console.error(e)
|
|
||||||
window.notify(`failed to save webxr/${filename} to remote storage`,{status:'error'})
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
savePublic(){
|
|
||||||
frontend.download( (data,filename) => {
|
|
||||||
filename = prompt('save-as filename', filename)
|
|
||||||
opts = {public:true,filename,mimetype: 'model/glb-binary'}
|
|
||||||
remoteStorage.webxr.add(data,opts)
|
|
||||||
.then( (res) => {
|
|
||||||
window.notify(`saved webxr/${filename} to remote storage`)
|
|
||||||
const link = opts.client.storage.remote.href + opts.client.base + filename
|
|
||||||
const linkWebView = document.location.href.replace(/(\?|#).*/,'') + `?${link}`
|
|
||||||
this.$links.querySelector("#file").value = link
|
|
||||||
this.$links.querySelector("#webviewer").value = linkWebView
|
|
||||||
this.$links.style.display = 'block'
|
|
||||||
})
|
|
||||||
.catch( (e) => {
|
|
||||||
console.error(e)
|
|
||||||
window.notify(`failed to save webxr/${filename} to remote storage`,{status:'error'})
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
openPrivate(file){
|
|
||||||
if( !confirm(`teleport to ${file} on your remotestorage?`) ) return
|
|
||||||
remoteStorage.webxr.getFile(file)
|
|
||||||
.then( (res) => {
|
|
||||||
for( var i in xrf.loaders ){
|
|
||||||
if( file.replace(/.*\./).match(i) ){
|
|
||||||
xrf.navigator.URI.file = '' // bypass cached file (easy refresh same file for testing)
|
|
||||||
xrf.navigator.to(file,null, (new xrf.loaders[i]()), res.data)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
throw 'unknown filetype: '+file
|
|
||||||
})
|
|
||||||
.catch( (e) => {
|
|
||||||
console.error(e)
|
|
||||||
window.notify("could not load webxr/"+file)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
remove(){
|
|
||||||
const currentFile = el.querySelector('select#listing').value
|
|
||||||
if( confirm("remove "+currentFile+" from remote storage?") ){
|
|
||||||
remoteStorage.webxr.remove(currentFile)
|
|
||||||
.then( () => {
|
|
||||||
window.notify(`removed webxr/${filename} from remote storage`)
|
|
||||||
this.updateFiles()
|
|
||||||
})
|
|
||||||
.catch( (e) => {
|
|
||||||
console.error(e)
|
|
||||||
window.notify(`could not webxr/${filename} from remote storage`,{status:'error'})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
updateFiles(){
|
|
||||||
remoteStorage.webxr.getListing()
|
|
||||||
.then( (listing) => {
|
|
||||||
|
|
||||||
this.$listing.innerHTML = '' // empty
|
|
||||||
|
|
||||||
const addOption = (value,text) => {
|
|
||||||
let opt = document.createElement("option")
|
|
||||||
opt.text = text
|
|
||||||
opt.value = value
|
|
||||||
this.$listing.appendChild(opt)
|
|
||||||
}
|
|
||||||
|
|
||||||
addOption("","--- your experiences ---")
|
|
||||||
for( let file in listing ){
|
|
||||||
if( file.match(/\.(glb|gltf|usd|obj|col|fbx)$/) ) addOption(file,file)
|
|
||||||
}
|
|
||||||
|
|
||||||
// autoload selection
|
|
||||||
if( !this.updateFiles.autoload ){ // run once
|
|
||||||
this.$listing.addEventListener('change', () => {
|
|
||||||
if( this.$listing.options.selectedIndex > 0 ) this.openPrivate(this.$listing.value)
|
|
||||||
document.querySelector("#delete").style.display = this.$listing.options.selectedIndex == 0 ? "none" : "inline-block"
|
|
||||||
this.$links.style.display = 'none'
|
|
||||||
})
|
|
||||||
this.updateFiles.autoload = true
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
click(id,e){
|
|
||||||
//switch(id){
|
|
||||||
// case "more": return this.toggle(); break;
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
|
|
||||||
get(me,k,v){ return me[k] },
|
|
||||||
|
|
||||||
set(me,k,v){
|
|
||||||
me[k] = v
|
|
||||||
switch( k ){
|
|
||||||
case 'connected': el.querySelector("#buttons").style.display = v ? 'block' : 'none'; break;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
||||||
// reactify component!
|
|
||||||
document.addEventListener('$files:ready', (e) => {
|
|
||||||
window.$remotestorage = remoteStorageComponent( document.createElement('div') ).init(e.detail)
|
|
||||||
})
|
|
||||||
const WebXR = { name: 'webxr', builder: function(privateClient, publicClient) {
|
|
||||||
return {
|
|
||||||
exports: {
|
|
||||||
add: function(data,opts) {
|
|
||||||
if( !data || !opts.filename || !opts.mimetype) throw 'webxr.add() needs filedata + filename + mimetype'
|
|
||||||
const client = opts.client = opts.public ? publicClient : privateClient;
|
|
||||||
return client.storeFile(opts.mimetype, opts.filename,data)
|
|
||||||
},
|
|
||||||
|
|
||||||
getListing: function(a,opts){
|
|
||||||
opts = opts || {}
|
|
||||||
const client = opts.public ? publicClient : privateClient;
|
|
||||||
return client.getListing(a)
|
|
||||||
},
|
|
||||||
|
|
||||||
getFile: function(file,opts){
|
|
||||||
opts = opts || {}
|
|
||||||
const client = opts.public ? publicClient : privateClient;
|
|
||||||
return client.getFile(file)
|
|
||||||
},
|
|
||||||
|
|
||||||
remove: function(file,opts){
|
|
||||||
opts = opts || {}
|
|
||||||
const client = opts.public ? publicClient : privateClient;
|
|
||||||
return client.remove(file)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}};
|
|
||||||
}).apply({})
|
|
||||||
877
dist/xrfragment.three.js
vendored
877
dist/xrfragment.three.js
vendored
|
|
@ -1,873 +1,3 @@
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:48:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:44:27 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:42:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:41:33 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:39:55 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:36:55 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:33:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:32:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:31:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:30:31 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:28:57 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:27:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:26:30 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:25:45 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:24:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:23:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:22:20 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:08:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:05:15 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:41:03 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:38:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:38:06 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:36:06 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:31:30 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:30:20 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:28:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:27:57 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:27:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:24:05 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:22:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:11:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:09:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:03:50 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:57:15 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:55:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:55:46 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:51:27 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:49:52 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:48:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:48:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:47:32 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:46:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:46:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:43:03 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:42:36 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:45:50 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:45:13 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:43:59 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:42:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:38:57 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:37:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:35:24 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:34:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:32:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:32:31 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:31:34 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:29:22 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:28:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:26:10 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:15:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:14:45 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:14:20 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:12:10 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:11:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:08:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:06:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:05:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:05:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:04:05 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:03:28 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:00:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:00:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:58:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:57:43 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:57:03 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:55:32 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:54:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:53:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:52:28 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:44:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:44:13 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:43:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:41:59 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:41:14 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:40:06 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:39:46 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:39:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:37:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:37:02 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:36:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:35:53 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:34:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:32:59 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:31:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:29:17 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:26:56 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:25:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:21:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:20:45 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:17:32 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:15:21 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 11:58:48 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 11:57:32 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 11:55:38 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:29:31 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:29:00 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:14:39 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:13:14 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:11:15 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:09:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:07:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:07:02 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:05:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:05:22 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:04:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:58:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:57:27 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:54:09 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:46:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:43:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:41:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:24:11 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 05:54:21 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 09:01:22 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:58:39 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:54:26 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:53:52 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:49:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:49:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:47:36 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:46:47 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:45:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:44:14 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:41:56 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:40:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:40:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:38:17 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:38:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:37:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:37:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 07:01:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 11:02:24 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 11:01:36 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:59:57 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:58:57 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:55:24 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:54:54 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:53:36 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:50:46 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:50:18 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:49:55 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:49:10 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:46:35 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:45:38 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:40:35 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:29:57 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:19:23 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:18:25 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:18:06 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:16:43 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:15:40 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:14:49 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:13:07 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:12:25 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:10:21 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:25:46 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:25:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:23:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:21:49 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:20:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:20:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:17:05 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:15:26 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 05:24:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
* v0.5.1 generated at Wed Apr 23 17:57:18 CEST 2025
|
* v0.5.1 generated at Wed Apr 23 17:57:18 CEST 2025
|
||||||
* https://xrfragment.org
|
* https://xrfragment.org
|
||||||
|
|
@ -3766,6 +2896,7 @@ xrf.navigator.to = (url,flags,loader,data) => {
|
||||||
evalFragment()
|
evalFragment()
|
||||||
return resolve(xrf.model) // eval non-positional fragments (no loader needed)
|
return resolve(xrf.model) // eval non-positional fragments (no loader needed)
|
||||||
}
|
}
|
||||||
|
|
||||||
xrf
|
xrf
|
||||||
.emit('navigateLoading', {url,loader,data})
|
.emit('navigateLoading', {url,loader,data})
|
||||||
.then( () => {
|
.then( () => {
|
||||||
|
|
@ -3811,7 +2942,7 @@ xrf.navigator.init = () => {
|
||||||
xrf.navigator.URI = xrfragment.URI.parse(document.location.href)
|
xrf.navigator.URI = xrfragment.URI.parse(document.location.href)
|
||||||
|
|
||||||
window.addEventListener('popstate', function (event){
|
window.addEventListener('popstate', function (event){
|
||||||
if( xrf.navigator.updateHash.active && document.location.hash.length > 1 ){ // ignore programmatic hash updates (causes infinite recursion)
|
if( xrf.navigator.updateHash.active ){ // ignore programmatic hash updates (causes infinite recursion)
|
||||||
xrf.navigator.to( xrf.navigator.URI.last )
|
xrf.navigator.to( xrf.navigator.URI.last )
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
@ -3821,9 +2952,7 @@ xrf.navigator.init = () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
// allow other libraries to trigger popstate event without triggering the navigate-fallbacks during pageload
|
// allow other libraries to trigger popstate event without triggering the navigate-fallbacks during pageload
|
||||||
setTimeout( () => {
|
setTimeout( xrf.navigator.setupNavigateFallbacks(), 1500 )
|
||||||
xrf.navigator.setupNavigateFallbacks()
|
|
||||||
}, 2500 )
|
|
||||||
|
|
||||||
// this allows selectionlines to be updated according to the camera (renderloop)
|
// this allows selectionlines to be updated according to the camera (renderloop)
|
||||||
xrf.focusLine = new xrf.THREE.Group()
|
xrf.focusLine = new xrf.THREE.Group()
|
||||||
|
|
|
||||||
877
dist/xrfragment.three.module.js
vendored
877
dist/xrfragment.three.module.js
vendored
|
|
@ -1,873 +1,3 @@
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:48:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:44:27 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:42:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:41:33 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:39:55 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:36:55 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:33:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:32:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:31:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:30:31 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:28:57 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:27:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:26:30 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:25:45 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:24:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:23:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:22:20 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:08:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 04:05:15 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:41:03 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:38:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:38:06 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:36:06 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:31:30 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:30:20 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:28:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:27:57 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:27:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:24:05 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:22:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:11:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:09:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 03:03:50 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:57:15 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:55:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:55:46 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:51:27 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:49:52 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:48:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:48:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:47:32 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:46:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:46:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:43:03 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 02:42:36 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:45:50 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:45:13 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:43:59 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:42:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:38:57 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:37:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:35:24 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:34:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:32:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:32:31 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:31:34 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:29:22 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:28:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:26:10 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:15:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:14:45 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:14:20 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:12:10 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:11:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:08:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:06:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:05:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:05:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:04:05 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:03:28 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:00:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 01:00:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:58:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:57:43 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:57:03 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:55:32 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:54:40 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:53:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:52:28 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:44:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:44:13 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:43:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:41:59 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:41:14 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:40:06 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:39:46 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:39:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:37:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:37:02 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:36:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:35:53 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:34:44 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:32:59 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:31:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:29:17 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:26:56 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:25:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:21:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:20:45 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:17:32 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 12:15:21 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 11:58:48 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 11:57:32 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Thu May 15 11:55:38 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:29:31 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:29:00 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:14:39 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:13:14 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:11:15 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:09:35 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:07:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:07:02 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:05:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:05:22 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 07:04:12 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:58:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:57:27 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:54:09 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:46:42 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:43:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:41:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 06:24:11 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Wed May 14 05:54:21 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 09:01:22 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:58:39 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:54:26 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:53:52 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:49:19 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:49:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:47:36 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:46:47 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:45:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:44:14 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:41:56 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:40:48 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:40:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:38:17 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:38:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:37:51 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 08:37:18 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 07:01:38 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 11:02:24 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 11:01:36 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:59:57 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:58:57 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:55:24 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:54:54 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:53:36 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:50:46 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:50:18 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:49:55 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:49:10 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:46:35 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:45:38 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:40:35 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:29:57 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:19:23 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:18:25 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:18:06 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:16:43 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:15:40 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:14:49 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:13:07 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:12:25 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Tue May 13 10:10:21 AM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:25:46 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:25:08 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:23:07 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:21:49 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:20:54 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:20:25 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:17:05 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 09:15:26 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* v0.5.1 generated at Mon May 12 05:24:16 PM CEST 2025
|
|
||||||
* https://xrfragment.org
|
|
||||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
* v0.5.1 generated at Wed Apr 23 17:57:18 CEST 2025
|
* v0.5.1 generated at Wed Apr 23 17:57:18 CEST 2025
|
||||||
* https://xrfragment.org
|
* https://xrfragment.org
|
||||||
|
|
@ -3766,6 +2896,7 @@ xrf.navigator.to = (url,flags,loader,data) => {
|
||||||
evalFragment()
|
evalFragment()
|
||||||
return resolve(xrf.model) // eval non-positional fragments (no loader needed)
|
return resolve(xrf.model) // eval non-positional fragments (no loader needed)
|
||||||
}
|
}
|
||||||
|
|
||||||
xrf
|
xrf
|
||||||
.emit('navigateLoading', {url,loader,data})
|
.emit('navigateLoading', {url,loader,data})
|
||||||
.then( () => {
|
.then( () => {
|
||||||
|
|
@ -3811,7 +2942,7 @@ xrf.navigator.init = () => {
|
||||||
xrf.navigator.URI = xrfragment.URI.parse(document.location.href)
|
xrf.navigator.URI = xrfragment.URI.parse(document.location.href)
|
||||||
|
|
||||||
window.addEventListener('popstate', function (event){
|
window.addEventListener('popstate', function (event){
|
||||||
if( xrf.navigator.updateHash.active && document.location.hash.length > 1 ){ // ignore programmatic hash updates (causes infinite recursion)
|
if( xrf.navigator.updateHash.active ){ // ignore programmatic hash updates (causes infinite recursion)
|
||||||
xrf.navigator.to( xrf.navigator.URI.last )
|
xrf.navigator.to( xrf.navigator.URI.last )
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
@ -3821,9 +2952,7 @@ xrf.navigator.init = () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
// allow other libraries to trigger popstate event without triggering the navigate-fallbacks during pageload
|
// allow other libraries to trigger popstate event without triggering the navigate-fallbacks during pageload
|
||||||
setTimeout( () => {
|
setTimeout( xrf.navigator.setupNavigateFallbacks(), 1500 )
|
||||||
xrf.navigator.setupNavigateFallbacks()
|
|
||||||
}, 2500 )
|
|
||||||
|
|
||||||
// this allows selectionlines to be updated according to the camera (renderloop)
|
// this allows selectionlines to be updated according to the camera (renderloop)
|
||||||
xrf.focusLine = new xrf.THREE.Group()
|
xrf.focusLine = new xrf.THREE.Group()
|
||||||
|
|
|
||||||
13
index.html
13
index.html
File diff suppressed because one or more lines are too long
|
|
@ -1,40 +1,35 @@
|
||||||
import * as SUPER_THREE from 'three';
|
import * as SUPER_THREE from 'super-three';
|
||||||
import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js';
|
import { DRACOLoader } from 'super-three/examples/jsm/loaders/DRACOLoader';
|
||||||
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
|
import { GLTFLoader } from 'super-three/examples/jsm/loaders/GLTFLoader';
|
||||||
import { KTX2Loader } from 'three/addons/loaders/KTX2Loader.js';
|
//import { KTX2Loader } from 'super-three/examples/jsm/loaders/KTX2Loader';
|
||||||
import { OBB } from 'three/addons/math/OBB.js';
|
import { OBB } from 'super-three/addons/math/OBB.js';
|
||||||
import { OBJLoader } from 'three/addons/loaders/OBJLoader.js';
|
import { OBJLoader } from 'super-three/examples/jsm/loaders/OBJLoader';
|
||||||
import { FBXLoader } from 'three/examples/jsm/loaders/FBXLoader';
|
import { FBXLoader } from 'super-three/examples/jsm/loaders/FBXLoader';
|
||||||
import { USDZLoader } from 'three/examples/jsm/loaders/USDZLoader';
|
import { USDZLoader } from 'super-three/examples/jsm/loaders/USDZLoader';
|
||||||
import { ColladaLoader } from 'three/examples/jsm/loaders/ColladaLoader';
|
import { ColladaLoader } from 'super-three/examples/jsm/loaders/ColladaLoader';
|
||||||
import { MTLLoader } from 'three/examples/jsm/loaders/MTLLoader';
|
import { MTLLoader } from 'super-three/examples/jsm/loaders/MTLLoader';
|
||||||
import * as BufferGeometryUtils from 'three/examples/jsm/utils/BufferGeometryUtils';
|
import * as BufferGeometryUtils from 'super-three/examples/jsm/utils/BufferGeometryUtils';
|
||||||
import { LightProbeGenerator } from 'three/examples/jsm/lights/LightProbeGenerator';
|
import { LightProbeGenerator } from 'super-three/examples/jsm/lights/LightProbeGenerator';
|
||||||
import { TransformControls } from 'three/examples/jsm/controls/TransformControls.js';
|
import { TransformControls } from 'super-three/examples/jsm/controls/TransformControls.js';
|
||||||
import { GLTFExporter } from 'three/examples/jsm/exporters/GLTFExporter.js';
|
import { GLTFExporter } from 'super-three/examples/jsm/exporters/GLTFExporter.js';
|
||||||
import { DeviceOrientationControls } from '../../vendor/DeviceOrientationControls'// THREE.DeviceOrientationControls
|
|
||||||
|
|
||||||
var THREE = globalThis.THREE = {...SUPER_THREE};
|
var THREE = globalThis.THREE = {...SUPER_THREE};
|
||||||
|
|
||||||
// TODO: Eventually include these only if they are needed by a component.
|
// TODO: Eventually include these only if they are needed by a component.
|
||||||
THREE.DeviceOrientationControls = DeviceOrientationControls;
|
require('../../vendor/DeviceOrientationControls'); // THREE.DeviceOrientationControls
|
||||||
THREE.DRACOLoader = DRACOLoader;
|
THREE.DRACOLoader = DRACOLoader;
|
||||||
THREE.GLTFLoader = GLTFLoader;
|
THREE.GLTFLoader = GLTFLoader;
|
||||||
THREE.KTX2Loader = KTX2Loader;
|
THREE.KTX2Loader = KTX2Loader;
|
||||||
THREE.OBJLoader = OBJLoader;
|
THREE.OBJLoader = OBJLoader;
|
||||||
THREE.MTLLoader = MTLLoader;
|
THREE.MTLLoader = MTLLoader;
|
||||||
THREE.OBB = OBB;
|
|
||||||
THREE.OBJLoader = OBJLoader;
|
|
||||||
THREE.FBXLoader = FBXLoader;
|
THREE.FBXLoader = FBXLoader;
|
||||||
THREE.USDZLoader = USDZLoader;
|
THREE.USDZLoader = USDZLoader;
|
||||||
THREE.ColladaLoader = ColladaLoader;
|
THREE.ColladaLoader = ColladaLoader;
|
||||||
|
THREE.OBB = OBB;
|
||||||
THREE.BufferGeometryUtils = BufferGeometryUtils;
|
THREE.BufferGeometryUtils = BufferGeometryUtils;
|
||||||
THREE.LightProbeGenerator = LightProbeGenerator;
|
THREE.LightProbeGenerator = LightProbeGenerator;
|
||||||
THREE.TransformControls = TransformControls;
|
THREE.TransformControls = TransformControls;
|
||||||
THREE.GLTFExporter = GLTFExporter || console.error("GLTFExporter not found");
|
THREE.GLTFExporter = GLTFExporter;
|
||||||
THREE.BufferGeometryUtils = BufferGeometryUtils;
|
|
||||||
THREE.LightProbeGenerator = LightProbeGenerator;
|
|
||||||
THREE.DeviceOrientationControls = DeviceOrientationControls;
|
|
||||||
|
|
||||||
THREE.Cache.enabled = true;
|
THREE.Cache.enabled = true;
|
||||||
|
|
||||||
|
|
|
||||||
35
src/3rd/js/aframe/build/three.module.js
Normal file
35
src/3rd/js/aframe/build/three.module.js
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
import * as SUPER_THREE from 'super-three';
|
||||||
|
import { DRACOLoader } from 'super-three/examples/jsm/loaders/DRACOLoader';
|
||||||
|
import { GLTFLoader } from 'super-three/examples/jsm/loaders/GLTFLoader';
|
||||||
|
import { KTX2Loader } from 'super-three/examples/jsm/loaders/KTX2Loader';
|
||||||
|
import { OBB } from 'super-three/addons/math/OBB.js';
|
||||||
|
import { OBJLoader } from 'super-three/examples/jsm/loaders/OBJLoader';
|
||||||
|
import { FBXLoader } from 'super-three/examples/jsm/loaders/FBXLoader';
|
||||||
|
import { USDZLoader } from 'super-three/examples/jsm/loaders/USDZLoader';
|
||||||
|
import { ColladaLoader } from 'super-three/examples/jsm/loaders/ColladaLoader';
|
||||||
|
import { MTLLoader } from 'super-three/examples/jsm/loaders/MTLLoader';
|
||||||
|
import * as BufferGeometryUtils from 'super-three/examples/jsm/utils/BufferGeometryUtils';
|
||||||
|
import { LightProbeGenerator } from 'super-three/examples/jsm/lights/LightProbeGenerator';
|
||||||
|
import { TransformControls } from 'super-three/examples/jsm/controls/TransformControls.js';
|
||||||
|
import { GLTFExporter } from 'super-three/examples/jsm/exporters/GLTFExporter.js';
|
||||||
|
|
||||||
|
var THREE = window.THREE = SUPER_THREE;
|
||||||
|
|
||||||
|
// TODO: Eventually include these only if they are needed by a component.
|
||||||
|
require('../../vendor/DeviceOrientationControls'); // THREE.DeviceOrientationControls
|
||||||
|
THREE.DRACOLoader = DRACOLoader;
|
||||||
|
THREE.GLTFLoader = GLTFLoader;
|
||||||
|
THREE.KTX2Loader = KTX2Loader;
|
||||||
|
THREE.OBJLoader = OBJLoader;
|
||||||
|
THREE.MTLLoader = MTLLoader;
|
||||||
|
THREE.FBXLoader = FBXLoader;
|
||||||
|
THREE.USDZLoader = USDZLoader;
|
||||||
|
THREE.ColladaLoader = ColladaLoader;
|
||||||
|
THREE.OBB = OBB;
|
||||||
|
THREE.BufferGeometryUtils = BufferGeometryUtils;
|
||||||
|
THREE.LightProbeGenerator = LightProbeGenerator;
|
||||||
|
THREE.TransformControls = TransformControls;
|
||||||
|
THREE.GLTFExporter = GLTFExporter || console.error("GLTFExporter not found");
|
||||||
|
//THREE.Text = Text
|
||||||
|
|
||||||
|
export default THREE;
|
||||||
|
|
@ -434,7 +434,6 @@ chatComponent.css = `
|
||||||
margin-right:15px;
|
margin-right:15px;
|
||||||
width:100%;
|
width:100%;
|
||||||
max-width:40%;
|
max-width:40%;
|
||||||
margin-bottom:7px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.envelope,
|
.envelope,
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ filesComponent = (el) => new Proxy({
|
||||||
<div class="msg ui">
|
<div class="msg ui">
|
||||||
<div>
|
<div>
|
||||||
<div id="files">
|
<div id="files">
|
||||||
<a onclick="$files.toggle(false)"><i class="gg-close-o" id="close"></i></a>
|
<i class="gg-close-o" id="close" onclick="$files.remove()"></i>
|
||||||
<br>
|
<br>
|
||||||
<div class="tab-frame">
|
<div class="tab-frame">
|
||||||
${data.tabs.map( (t) =>
|
${data.tabs.map( (t) =>
|
||||||
|
|
@ -29,8 +29,8 @@ filesComponent = (el) => new Proxy({
|
||||||
`
|
`
|
||||||
).join('')
|
).join('')
|
||||||
}
|
}
|
||||||
<br><br>
|
<br><br><br>
|
||||||
<div class="tab" style="margin-top:15px;">
|
<div class="tab">
|
||||||
<div id="localFilesTab">
|
<div id="localFilesTab">
|
||||||
<button id="localOpen" onclick="$files.fileLoaders()" ><i class="gg-software-upload"></i> open experience</button>
|
<button id="localOpen" onclick="$files.fileLoaders()" ><i class="gg-software-upload"></i> open experience</button>
|
||||||
<br>
|
<br>
|
||||||
|
|
|
||||||
|
|
@ -364,9 +364,8 @@ document.head.innerHTML += `
|
||||||
opacity:0.5
|
opacity:0.5
|
||||||
}
|
}
|
||||||
|
|
||||||
body.menu .js-snackbar__wrapper,
|
body.menu .js-snackbar__wrapper {
|
||||||
body.topbar .js-snackbar__wrapper {
|
top: 64px;
|
||||||
transform: translateY(40px);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.transcript{
|
.transcript{
|
||||||
|
|
|
||||||
|
|
@ -43,8 +43,7 @@ window.frontend = (opts) => new Proxy({
|
||||||
.setupCapture()
|
.setupCapture()
|
||||||
.setupUserHints()
|
.setupUserHints()
|
||||||
.setupNetworkListeners()
|
.setupNetworkListeners()
|
||||||
.setupTopbar()
|
.hidetopbarWhenMenuCollapse()
|
||||||
.hideTopbarWhenMenuCollapse()
|
|
||||||
.hideUIWhenNavigating()
|
.hideUIWhenNavigating()
|
||||||
|
|
||||||
window.notify = this.notify
|
window.notify = this.notify
|
||||||
|
|
@ -69,16 +68,6 @@ window.frontend = (opts) => new Proxy({
|
||||||
return this
|
return this
|
||||||
},
|
},
|
||||||
|
|
||||||
setupTopbar(){
|
|
||||||
// setup topbar handle
|
|
||||||
this.$topbar = this.el.querySelector("#topbar")
|
|
||||||
this.$topbar.toggle = (state) => {
|
|
||||||
this.$topbar.style.display = state ? 'block' : 'none'
|
|
||||||
document.body.classList[ state ? 'add' : 'remove' ](['topbar'])
|
|
||||||
}
|
|
||||||
return this
|
|
||||||
},
|
|
||||||
|
|
||||||
setupIframeUrlHandler(){
|
setupIframeUrlHandler(){
|
||||||
// allow iframe to open url
|
// allow iframe to open url
|
||||||
window.addEventListener('message', (event) => {
|
window.addEventListener('message', (event) => {
|
||||||
|
|
@ -186,9 +175,9 @@ window.frontend = (opts) => new Proxy({
|
||||||
return this
|
return this
|
||||||
},
|
},
|
||||||
|
|
||||||
hideTopbarWhenMenuCollapse(){
|
hidetopbarWhenMenuCollapse(){
|
||||||
// hide topbar when menu collapse button is pressed
|
// hide topbar when menu collapse button is pressed
|
||||||
document.addEventListener('$menu:collapse', (e) => this.$topbar.toggle( e.detail === true ) )
|
document.addEventListener('$menu:collapse', (e) => this.el.querySelector("#topbar").style.display = e.detail === true ? 'block' : 'none')
|
||||||
return this
|
return this
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -261,9 +250,9 @@ window.frontend = (opts) => new Proxy({
|
||||||
window.frontend.emit("notify",opts)
|
window.frontend.emit("notify",opts)
|
||||||
},
|
},
|
||||||
|
|
||||||
download(cb){
|
download(){
|
||||||
|
|
||||||
function exportScene(model,ext,file,cb){
|
function exportScene(model,ext,file){
|
||||||
|
|
||||||
document.dispatchEvent( new CustomEvent('frontend.export',{detail:{ scene: model.scene,ext}}) )
|
document.dispatchEvent( new CustomEvent('frontend.export',{detail:{ scene: model.scene,ext}}) )
|
||||||
xrf.emit('export', {scene: model.scene, ext})
|
xrf.emit('export', {scene: model.scene, ext})
|
||||||
|
|
@ -277,17 +266,15 @@ window.frontend = (opts) => new Proxy({
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( !cb ) cb = download
|
|
||||||
|
|
||||||
// setup exporters
|
// setup exporters
|
||||||
let defaultExporter = THREE.GLTFExporter
|
let defaultExporter = THREE.GLTFExporter
|
||||||
if( !xrf.loaders['gltf'].exporter ) xrf.loaders['gltf'].exporter = defaultExporter
|
if( !xrf.loaders['gltf'].exporter ) xrf.loaders['gltf'].exporter = defaultExporter
|
||||||
if( !xrf.loaders['glb'].exporter ) xrf.loaders['glb'].exporter = defaultExporter
|
if( !xrf.loaders['glb'].exporter ) xrf.loaders['glb'].exporter = defaultExporter
|
||||||
const exporter = new xrf.loaders[ext].exporter()
|
const exporter = new xrf.loaders[ext].exporter()
|
||||||
|
debugger
|
||||||
exporter.parse(
|
exporter.parse(
|
||||||
model.scene,
|
model.scene,
|
||||||
function ( glb ) { cb(glb, `${file}`) }, // ready
|
function ( glb ) { download(glb, `${file}`) }, // ready
|
||||||
function ( error ) { console.error(error) }, // error
|
function ( error ) { console.error(error) }, // error
|
||||||
{
|
{
|
||||||
binary:true,
|
binary:true,
|
||||||
|
|
@ -306,15 +293,9 @@ window.frontend = (opts) => new Proxy({
|
||||||
const Loader = xrf.loaders[fileExt]
|
const Loader = xrf.loaders[fileExt]
|
||||||
loader = new Loader().setPath( dir )
|
loader = new Loader().setPath( dir )
|
||||||
notify('exporting scene<br><br>please wait..')
|
notify('exporting scene<br><br>please wait..')
|
||||||
|
loader.load(url, (model) => {
|
||||||
fetch(url, { method: 'HEAD' })
|
exportScene(model,fileExt,file)
|
||||||
.then( (res) => { // url exists
|
}, console.error )
|
||||||
if( res.ok ){
|
|
||||||
loader.load( url, (model) => exportScene(model,fileExt,file,cb), console.error )
|
|
||||||
}else{
|
|
||||||
exportScene(xrf.model,fileExt,file,cb)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
|
|
||||||
updateHashPosition(randomize){
|
updateHashPosition(randomize){
|
||||||
|
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
const WebXR = { name: 'webxr', builder: function(privateClient, publicClient) {
|
|
||||||
return {
|
|
||||||
exports: {
|
|
||||||
add: function(data,opts) {
|
|
||||||
if( !data || !opts.filename || !opts.mimetype) throw 'webxr.add() needs filedata + filename + mimetype'
|
|
||||||
const client = opts.client = opts.public ? publicClient : privateClient;
|
|
||||||
return client.storeFile(opts.mimetype, opts.filename,data)
|
|
||||||
},
|
|
||||||
|
|
||||||
getListing: function(a,opts){
|
|
||||||
opts = opts || {}
|
|
||||||
const client = opts.public ? publicClient : privateClient;
|
|
||||||
return client.getListing(a)
|
|
||||||
},
|
|
||||||
|
|
||||||
getFile: function(file,opts){
|
|
||||||
opts = opts || {}
|
|
||||||
const client = opts.public ? publicClient : privateClient;
|
|
||||||
return client.getFile(file)
|
|
||||||
},
|
|
||||||
|
|
||||||
remove: function(file,opts){
|
|
||||||
opts = opts || {}
|
|
||||||
const client = opts.public ? publicClient : privateClient;
|
|
||||||
return client.remove(file)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}};
|
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
const WebXRF = { name: 'webxr', builder: function(privateClient, publicClient) {
|
||||||
|
return {
|
||||||
|
exports: {
|
||||||
|
addScene: function() {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}};
|
||||||
|
|
@ -14,65 +14,30 @@ remoteStorageComponent = (el) => new Proxy({
|
||||||
#files .rs-button{
|
#files .rs-button{
|
||||||
background:#CCC;
|
background:#CCC;
|
||||||
}
|
}
|
||||||
#files input {
|
|
||||||
min-width:345px;
|
|
||||||
}
|
|
||||||
#files #buttons select,
|
|
||||||
#files #buttons button{
|
|
||||||
width:255px;
|
|
||||||
max-width:unset;
|
|
||||||
}
|
|
||||||
#files #listing{
|
|
||||||
margin-bottom:15px;
|
|
||||||
}
|
|
||||||
#files #delete{
|
|
||||||
display: none;
|
|
||||||
transform: translate(10px, 5px);
|
|
||||||
}
|
|
||||||
#links{
|
|
||||||
display:none
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div id="remoteFilesTab">
|
<div id="remoteFilesTab">
|
||||||
<div id="rswidget"></div>
|
<div id="rswidget"></div>
|
||||||
<br>
|
<br>
|
||||||
<div id="buttons" style="display:none">
|
<div id="buttons" style="display:none">
|
||||||
<select id="listing" alt="your files"></select>
|
<button id="remoteOpen" ><i class="gg-software-upload"></i> open experience</button>
|
||||||
<i class="gg-close-o" id="delete" alt="delete" onclick="$remotestorage.remove()"></i>
|
|
||||||
<a href="https://inspektor.5apps.com/?path=%2Fwebxr%2F" target="_blank" style="margin-left:15px">manage files</a>
|
|
||||||
<br>
|
<br>
|
||||||
<button onclick="$remotestorage.savePrivate()"><i class="gg-software-download"></i> save experience</button>
|
<button id="remoteSave"><i class="gg-software-download"></i> save private experience</button>
|
||||||
<br>
|
<br>
|
||||||
<button onclick="$remotestorage.savePublic()" ><i class="gg-globe-alt"></i> publish online</button>
|
<button id="remoteSave"><i class="gg-globe-alt"></i> save public experience</button>
|
||||||
<br>
|
|
||||||
<div id="links">
|
|
||||||
<br>
|
|
||||||
<div><i class="gg-link"></i> 3D file</div>
|
|
||||||
<input type="text" value='' id="file">
|
|
||||||
<br>
|
|
||||||
<div><i class="gg-link"></i> 3D file in webviewer</div>
|
|
||||||
<input type="text" value='' id="webviewer">
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
`),
|
`),
|
||||||
|
|
||||||
connected: false,
|
connected: false,
|
||||||
$listing: false,
|
|
||||||
$links: false,
|
|
||||||
|
|
||||||
init(opts){
|
init(opts){
|
||||||
// create HTML element
|
// create HTML element
|
||||||
$files.tabs = $files.tabs.concat({id:"remoteFiles", name: "remote storage"})
|
$files.tabs = $files.tabs.concat({id:"remoteFiles", name: "online"})
|
||||||
el.innerHTML = this.html(this)
|
el.innerHTML = this.html(this)
|
||||||
el.className = "tab"
|
el.className = "tab"
|
||||||
document.querySelector("#files .tab-frame").appendChild(el);
|
document.querySelector("#files .tab-frame").appendChild(el);
|
||||||
|
|
||||||
// setup references
|
|
||||||
this.$listing = document.querySelector('#files .tab-frame select#listing');
|
|
||||||
this.$links = document.querySelector('#files .tab-frame #links');
|
|
||||||
|
|
||||||
// setup input listeners
|
// setup input listeners
|
||||||
(['click']).map( (e) => el.addEventListener(e, (ev) => typeof this[e] == 'function' && this[e](ev.target.id,ev) ) )
|
(['click']).map( (e) => el.addEventListener(e, (ev) => typeof this[e] == 'function' && this[e](ev.target.id,ev) ) )
|
||||||
|
|
||||||
|
|
@ -103,23 +68,17 @@ remoteStorageComponent = (el) => new Proxy({
|
||||||
dropbox: "4jc8nx1lbarp472"
|
dropbox: "4jc8nx1lbarp472"
|
||||||
}
|
}
|
||||||
const modules = []
|
const modules = []
|
||||||
if( typeof WebXR != undefined ){
|
if( typeof WebXRF != undefined ){
|
||||||
modules.push(WebXR) // defined in remotestorage-module-webXRF.js
|
modules.push(WebXRF) // defined in remotestorage-module-webXRF.js
|
||||||
}
|
}
|
||||||
window.remoteStorage = new RemoteStorage({logging: true, modules })
|
window.remoteStorage = new RemoteStorage({logging: true, modules })
|
||||||
if( Object.keys(apis).length ) remoteStorage.setApiKeys(apis)
|
if( Object.keys(apis).length ) remoteStorage.setApiKeys(apis)
|
||||||
|
|
||||||
remoteStorage.on('not-connected', (e) => { this.connected = false })
|
remoteStorage.on('connected', (e) => { this.connected = true })
|
||||||
|
//remoteStorage.on('network-offline', (e) => this.el.sceneEl.emit('remoteStorage.network-offline',e) )
|
||||||
|
//remoteStorage.on('network-online', (e) => this.el.sceneEl.emit('remoteStorage.network-online',e) )
|
||||||
|
//remoteStorage.on('error', (e) => this.el.sceneEl.emit('remoteStorage.error',e) )
|
||||||
remoteStorage.on('ready', (e) => { } )
|
remoteStorage.on('ready', (e) => { } )
|
||||||
remoteStorage.on('connected', (e) => {
|
|
||||||
this.connected = true
|
|
||||||
// force open dialog and click remote-tab
|
|
||||||
frontend.$topbar.toggle(true)
|
|
||||||
$files.toggle(true)
|
|
||||||
document.querySelector("#files input#remoteFiles").click()
|
|
||||||
|
|
||||||
this.updateFiles()
|
|
||||||
})
|
|
||||||
|
|
||||||
remoteStorage.access.claim( `webxr`, 'rw'); // our data dir
|
remoteStorage.access.claim( `webxr`, 'rw'); // our data dir
|
||||||
remoteStorage.caching.enable( `/webxr/` ) // local-first, remotestorage-second
|
remoteStorage.caching.enable( `/webxr/` ) // local-first, remotestorage-second
|
||||||
|
|
@ -134,103 +93,6 @@ remoteStorageComponent = (el) => new Proxy({
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
savePrivate(){
|
|
||||||
frontend.download( (data,filename) => {
|
|
||||||
filename = prompt('save-as filename', filename)
|
|
||||||
remoteStorage.webxr.add(data,{public:false,filename,mimetype: 'model/glb-binary'})
|
|
||||||
.then( () => window.notify(`saved webxr/${filename} to remote storage`) )
|
|
||||||
.catch( (e) => {
|
|
||||||
console.error(e)
|
|
||||||
window.notify(`failed to save webxr/${filename} to remote storage`,{status:'error'})
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
savePublic(){
|
|
||||||
frontend.download( (data,filename) => {
|
|
||||||
filename = prompt('save-as filename', filename)
|
|
||||||
opts = {public:true,filename,mimetype: 'model/glb-binary'}
|
|
||||||
remoteStorage.webxr.add(data,opts)
|
|
||||||
.then( (res) => {
|
|
||||||
window.notify(`saved webxr/${filename} to remote storage`)
|
|
||||||
const link = opts.client.storage.remote.href + opts.client.base + filename
|
|
||||||
const linkWebView = document.location.href.replace(/(\?|#).*/,'') + `?${link}`
|
|
||||||
this.$links.querySelector("#file").value = link
|
|
||||||
this.$links.querySelector("#webviewer").value = linkWebView
|
|
||||||
this.$links.style.display = 'block'
|
|
||||||
})
|
|
||||||
.catch( (e) => {
|
|
||||||
console.error(e)
|
|
||||||
window.notify(`failed to save webxr/${filename} to remote storage`,{status:'error'})
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
openPrivate(file){
|
|
||||||
if( !confirm(`teleport to ${file} on your remotestorage?`) ) return
|
|
||||||
remoteStorage.webxr.getFile(file)
|
|
||||||
.then( (res) => {
|
|
||||||
for( var i in xrf.loaders ){
|
|
||||||
if( file.replace(/.*\./).match(i) ){
|
|
||||||
xrf.navigator.URI.file = '' // bypass cached file (easy refresh same file for testing)
|
|
||||||
xrf.navigator.to(file,null, (new xrf.loaders[i]()), res.data)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
throw 'unknown filetype: '+file
|
|
||||||
})
|
|
||||||
.catch( (e) => {
|
|
||||||
console.error(e)
|
|
||||||
window.notify("could not load webxr/"+file)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
remove(){
|
|
||||||
const currentFile = el.querySelector('select#listing').value
|
|
||||||
if( confirm("remove "+currentFile+" from remote storage?") ){
|
|
||||||
remoteStorage.webxr.remove(currentFile)
|
|
||||||
.then( () => {
|
|
||||||
window.notify(`removed webxr/${filename} from remote storage`)
|
|
||||||
this.updateFiles()
|
|
||||||
})
|
|
||||||
.catch( (e) => {
|
|
||||||
console.error(e)
|
|
||||||
window.notify(`could not webxr/${filename} from remote storage`,{status:'error'})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
updateFiles(){
|
|
||||||
remoteStorage.webxr.getListing()
|
|
||||||
.then( (listing) => {
|
|
||||||
|
|
||||||
this.$listing.innerHTML = '' // empty
|
|
||||||
|
|
||||||
const addOption = (value,text) => {
|
|
||||||
let opt = document.createElement("option")
|
|
||||||
opt.text = text
|
|
||||||
opt.value = value
|
|
||||||
this.$listing.appendChild(opt)
|
|
||||||
}
|
|
||||||
|
|
||||||
addOption("","--- your experiences ---")
|
|
||||||
for( let file in listing ){
|
|
||||||
if( file.match(/\.(glb|gltf|usd|obj|col|fbx)$/) ) addOption(file,file)
|
|
||||||
}
|
|
||||||
|
|
||||||
// autoload selection
|
|
||||||
if( !this.updateFiles.autoload ){ // run once
|
|
||||||
this.$listing.addEventListener('change', () => {
|
|
||||||
if( this.$listing.options.selectedIndex > 0 ) this.openPrivate(this.$listing.value)
|
|
||||||
document.querySelector("#delete").style.display = this.$listing.options.selectedIndex == 0 ? "none" : "inline-block"
|
|
||||||
this.$links.style.display = 'none'
|
|
||||||
})
|
|
||||||
this.updateFiles.autoload = true
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
click(id,e){
|
click(id,e){
|
||||||
//switch(id){
|
//switch(id){
|
||||||
// case "more": return this.toggle(); break;
|
// case "more": return this.toggle(); break;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue