PageSourceSearch

https://hugging-apps-flux2-klein-refcontrol-lineart.hf.space/assets/Model3D-CWtA1JFE.js

js hugging-apps-flux2-klein-refcontrol-lineart.hf.space collected 2026-10-03 16:58:18 UTC 6,813 bytes, 259 lines download raw bytes

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