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.