feat: Add fence functionality with 3D model integration and site controls
continuous-integration/drone/push Build is passing

This commit is contained in:
martin.fencl
2026-10-26 14:25:31 +01:00
parent 222fb6f6f7
commit 9defe3ac98
6 changed files with 292 additions and 12 deletions
+3 -1
View File
@@ -141,6 +141,8 @@
id="siteParcel" autocomplete="off" checked><span>Celý pozemek</span></label>
<label class="site-switch" title="Parkovací plocha, napojení a schody; dvě orientační auta"><input
type="checkbox" id="siteParking" autocomplete="off" checked><span>Parkování</span></label>
<label class="site-switch" title="Plot z 3D panelů na podhrabových deskách; u příjezdu brána a branka"><input
type="checkbox" id="siteFence" autocomplete="off"><span>Plot</span></label>
<button id="siteFit" class="site-fit" type="button" title="Zarámovat zapnuté okolí"
aria-label="Zarámovat zapnuté okolí"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" aria-hidden="true">
@@ -345,7 +347,7 @@
<script>
// Firefox and Safari accept an import map only before the first module starts loading, so the map
// for Three.js is added here and bootstrap.js is requested only afterwards.
fetch('./data/app-config.json',{cache:'no-cache'}).then(r=>r.json()).then(c=>{const m=document.createElement('script');m.type='importmap';m.textContent=JSON.stringify({imports:{three:new URL(c.threeModule,location.href).href}});document.head.appendChild(m);}).catch(()=>{}).finally(()=>{const s=document.createElement('script');s.type='module';s.src='./js/bootstrap.js?v=20261022c';document.body.appendChild(s);});
fetch('./data/app-config.json',{cache:'no-cache'}).then(r=>r.json()).then(c=>{const m=document.createElement('script');m.type='importmap';m.textContent=JSON.stringify({imports:{three:new URL(c.threeModule,location.href).href}});document.head.appendChild(m);}).catch(()=>{}).finally(()=>{const s=document.createElement('script');s.type='module';s.src='./js/bootstrap.js?v=20261026';document.body.appendChild(s);});
</script>
</body>