PageSourceSearch

https://leks-forever-lez-rus-2.hf.space/assets/Model3D-DJQlKi0w.js

js leks-forever-lez-rus-2.hf.space collected 2026-10-03 10:23:47 UTC 6,920 bytes, 261 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Canvas3D-Dn6B10BO.js","./index-Bq2njFOY.js","./index-JtiO_h80.css","./i18n-CGlVUOvE.js","./i18n-DmEW90TJ.css","./Canvas3DGS-Ba2XF_ih.js"])))=>i.map(i=>d[i]);
2import { M as push, ab as state, ac as proxy, ad as user_effect, $ as set, Z as get, N as first_child, a as append, O as pop, ag as __vitePreload, a2 as user_derived, S as sibling, R as from_html, Q as child, T as reset, t as template_effect, a3 as comment } from './index-Bq2njFOY.js';
3import { p as prop, i as if_block, a as set_attribute, d as bind_this } from './i18n-CGlVUOvE.js';
4import { I as IconButton, c as component } from './ScrollFade.svelte_svelte_type_style_lang-D0JPkGar.js';
5import './MarkdownCode.svelte_svelte_type_style_lang-B29zDiob.js';
6import { B as BlockLabel } from './BlockLabel-VpI11pHf.js';
7import { D as Download } from './Download-D5ZNT7uE.js';
8import { F as File } from './File-BiXBtg1a.js';
9import { U as Undo } from './Undo-4MCSCpCy.js';
10import { I as IconButtonWrapper } from './IconButtonWrapper-DAsvkfJg.js';
11import { d as dequal } from './index-DnoGeqVF.js';
12import './snippet-BG7qkY_1.js';
13import './prism-python-NrKIQnfs.js';
14
15var root_2 = from_html(`<!> <a><!></a>`, 1);
16var root_1 = from_html(`<div class="model3D svelte-pnaihf" data-testid="model3d"><!> <!></div>`);
17var root = from_html(`<!> <!>`, 1);
18
19function Model3D($$anchor, $$props) {
20	push($$props, true);
21
22	let display_mode = prop($$props, 'display_mode', 3, "solid"),
23		clear_color = prop($$props, 'clear_color', 19, () => [0, 0, 0, 0]),
24		label = prop($$props, 'label', 3, ""),
25		zoom_speed = prop($$props, 'zoom_speed', 3, 1),
26		pan_speed = prop($$props, 'pan_speed', 3, 1),
27		camera_position = prop($$props, 'camera_position', 19, () => [null, null, null]),
28		has_change_history = prop($$props, 'has_change_history', 3, false);
29
30	let current_settings = state(proxy({
31		camera_position: camera_position(),
32		zoom_speed: zoom_speed(),
33		pan_speed: pan_speed()
34	}));
35
36	let use_3dgs = state(false);
37	let Canvas3DGSComponent = state(void 0);
38	let Canvas3DComponent = state(void 0);
39	let canvas3d = state(void 0);
40
41	async function loadCanvas3D() {
42		const module = await __vitePreload(() => import('./Canvas3D-Dn6B10BO.js'),true              ?__vite__mapDeps([0,1,2,3,4]):void 0,import.meta.url);
43
44		return module.default;
45	}
46
47	async function loadCanvas3DGS() {
48		const module = await __vitePreload(() => import('./Canvas3DGS-Ba2XF_ih.js'),true              ?__vite__mapDeps([5,3,1,2,4]):void 0,import.meta.url);
49
50		return module.default;
51	}
52
53	user_effect(() => {
54		if ($$props.value) {
55			set(use_3dgs, $$props.value.path.endsWith(".splat") || $$props.value.path.endsWith(".ply"), true);
56
57			if (get(use_3dgs)) {
58				loadCanvas3DGS().then((component) => {
59					set(Canvas3DGSComponent, component, true);
60				});
61			} else {
62				loadCanvas3D().then((component) => {
63					set(Canvas3DComponent, component, true);
64				});
65			}
66		}
67	});
68
69	function handle_undo() {
70		get(canvas3d)?.reset_camera_position();
71	}
72
73	user_effect(() => {
74		if (!dequal(get(current_settings).camera_position, camera_position()) || get(current_settings).zoom_speed !== zoom_speed() || get(current_settings).pan_speed !== pan_speed()) {
75			get(canvas3d)?.update_camera(camera_position(), zoom_speed(), pan_speed());
76
77			set(
78				current_settings,
79				{
80					camera_position: camera_position(),
81					zoom_speed: zoom_speed(),
82					pan_speed: pan_speed()
83				},
84				true
85			);
86		}
87	});
88
89	var fragment = root();
90	var node = first_child(fragment);
91
92	{
93		let $0 = user_derived(() => label() || $$props.i18n("3D_model.3d_model"));
94
95		BlockLabel(node, {
96			get show_label() {
97				return $$props.show_label;
98			},
99
100			get Icon() {
101				return File;
102			},
103
104			get label() {
105				return get($0);
106			}
107		});
108	}
109
110	var node_1 = sibling(node, 2);
111
112	{
113		var consequent_2 = ($$anchor) => {
114			var div = root_1();
115			var node_2 = child(div);
116
117			IconButtonWrapper(node_2, {
118				children: ($$anchor, $$slotProps) => {
119					var fragment_1 = root_2();
120					var node_3 = first_child(fragment_1);
121
122					{
123						var consequent = ($$anchor) => {
124							{
125								let $0 = user_derived(() => !has_change_history());
126
127								IconButton($$anchor, {
128									get Icon() {
129										return Undo;
130									},
131									label: 'Undo',
132									onclick: () =>
132 handle_undo(),
133									get disabled() {
134										return get($0);
135									}
136								});
137							}
138						};
139
140						if_block(node_3, ($$render) => {
141							if (!get(use_3dgs)) $$render(consequent);
142						});
143					}
144
145					var a = sibling(node_3, 2);
146
147					set_attribute(a, 'target', window.__is_colab__ ? "_blank" : null);
148
149					var node_4 = child(a);
150
151					{
152						let $0 = user_derived(() => $$props.i18n("common.download"));
153
154						IconButton(node_4, {
155							get Icon() {
156								return Download;
157							},
158
159							get label() {
160								return get($0);
161							}
162						});
163					}
164
165					reset(a);
166
167					template_effect(() => {
168						set_attribute(a, 'href', $$props.value.url);
169						set_attribute(a, 'download', window.__is_colab__ ? null : $$props.value.orig_name || $$props.value.path);
170					});
171
172					append($$anchor, fragment_1);
173				},
174				$$slots: { default: true }
175			});
176
177			var node_5 = sibling(node_2, 2);
178
179			{
180				var consequent_1 = ($$anchor) => {
181					var fragment_3 = comment();
182					var node_6 = first_child(fragment_3);
183
184					component(node_6, () => get(Canvas3DGSComponent), ($$anchor, $$component) => {
185						$$component($$anchor, {
186							get value() {
187								return $$props.value;
188							},
189
190							get zoom_speed() {
191								return zoom_speed();
192							},
193
194							get pan_speed() {
195								return pan_speed();
196							}
197						});
198					});
199
200					append($$anchor, fragment_3);
201				};
202
203				var alternate = ($$anchor) => {
204					var fragment_4 = comment();
205					var node_7 = first_child(fragment_4);
206
207					component(node_7, () => get(Canvas3DComponent), ($$anchor, $$component) => {
208						bind_this(
209							$$component($$anchor, {
210								get value() {
211									return $$props.value;
212								},
213
214								get display_mode() {
215									return display_mode();
216								},
217
218								get clear_color() {
219									return clear_color();
220								},
221
222								get camera_position() {
223									return camera_position();
224								},
225
226								get zoom_speed() {
227									return zoom_speed();
228								},
229
230								get pan_speed() {
231									return pan_speed();
232								}
233							}),
234							($$value) => set(canvas3d, $$value, true),
235							() => get(canvas3d)
236						);
237					});
238
239					append($$anchor, fragment_4);
240				};
241
242				if_block(node_5, ($$render) => {
243					if (get(use_3dgs)) $$render(consequent_1); else $$render(alternate, false);
244				});
245			}
246
247			reset(div);
248			append($$anchor, div);
249		};
250
251		if_block(node_1, ($$render) => {
252			if ($$props.value) $$render(consequent_2);
253		});
254	}
255
256	append($$anchor, fragment);
257	pop();
258}
259
260export { Model3D as default };
261//# sourceMappingURL=Model3D-DJQlKi0w.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.