Replace app.html with dum_3D_slunce.html in index.php for updated content delivery
continuous-integration/drone/push Build is passing
@@ -5,7 +5,7 @@
|
|||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="allstav-config-version" content="2025.2">
|
<meta name="allstav-config-version" content="2025.2">
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
|
<meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
|
||||||
<title>Ločenice | Model domu / web</title>
|
<title>Ločenice | Slunečný vrch</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
<svg id="measure" aria-hidden="true"></svg>
|
<svg id="measure" aria-hidden="true"></svg>
|
||||||
<header>
|
<header>
|
||||||
<div class="eyebrow"><span class="dot"></span>RODINNÝ DŮM - Ločenice</div>
|
<div class="eyebrow"><span class="dot"></span>RODINNÝ DŮM - Ločenice</div>
|
||||||
<h1>Model domu / web – Ločenice (Novohradské podhůří)</h1>
|
<h1>Slunečný vrch – Ločenice (Novohradské podhůří)</h1>
|
||||||
<div class="sub">Ločenice · 3D model + simulace slunce</div>
|
<div class="sub">Ločenice · 3D model + simulace slunce</div>
|
||||||
<div class="metrics">
|
<div class="metrics">
|
||||||
<div class="metric"><strong>15,340 m</strong><small>Délka</small></div>
|
<div class="metric"><strong>15,340 m</strong><small>Délka</small></div>
|
||||||
@@ -324,7 +324,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script type="module" src="./js/bootstrap.js"></script>
|
<script type="module" src="./js/bootstrap.js?v=20261022"></script>
|
||||||
<div id="webStatus" role="status">Načítání modelu…</div>
|
<div id="webStatus" role="status">Načítání modelu…</div>
|
||||||
<button id="projectToggle" class="btn" type="button">Projekt a podklady</button>
|
<button id="projectToggle" class="btn" type="button">Projekt a podklady</button>
|
||||||
<dialog id="projectDialog" aria-labelledby="projectTitle">
|
<dialog id="projectDialog" aria-labelledby="projectTitle">
|
||||||
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 145 KiB |
|
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 143 KiB After Width: | Height: | Size: 143 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 148 KiB After Width: | Height: | Size: 148 KiB |
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 123 KiB |
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 117 KiB |
|
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 127 KiB After Width: | Height: | Size: 127 KiB |
|
Before Width: | Height: | Size: 153 KiB After Width: | Height: | Size: 153 KiB |
|
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 325 KiB After Width: | Height: | Size: 325 KiB |
|
Before Width: | Height: | Size: 575 KiB After Width: | Height: | Size: 575 KiB |
|
Before Width: | Height: | Size: 203 KiB After Width: | Height: | Size: 203 KiB |
|
Before Width: | Height: | Size: 216 KiB After Width: | Height: | Size: 216 KiB |
|
Before Width: | Height: | Size: 156 KiB After Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
@@ -6,7 +6,8 @@
|
|||||||
"threeLoader": "https://cdn.jsdelivr.net/npm/three@0.180.0/examples/jsm/loaders/GLTFLoader.js",
|
"threeLoader": "https://cdn.jsdelivr.net/npm/three@0.180.0/examples/jsm/loaders/GLTFLoader.js",
|
||||||
"cdnTimeoutMs": 6500,
|
"cdnTimeoutMs": 6500,
|
||||||
"maxPixelRatio": 1.5,
|
"maxPixelRatio": 1.5,
|
||||||
"startAutoRotate": false,
|
"startAutoRotate": true,
|
||||||
|
"startStandardsOpen": false,
|
||||||
"catalog": "./data/catalog.json",
|
"catalog": "./data/catalog.json",
|
||||||
"assets": "./data/assets.json",
|
"assets": "./data/assets.json",
|
||||||
"references": "./data/references.json",
|
"references": "./data/references.json",
|
||||||
@@ -1,3 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
// Upload this whole folder, not only this file. No Node.js or database required.
|
||||||
readfile(__DIR__ . '/dum_3D_slunce.html');
|
header('Content-Type: text/html; charset=utf-8');
|
||||||
|
header('X-Content-Type-Options: nosniff');
|
||||||
|
$file = __DIR__ . '/app.html';
|
||||||
|
if (!is_readable($file)) {
|
||||||
|
http_response_code(500);
|
||||||
|
exit('Chybi app.html. Nahrajte celou slozku locenice.');
|
||||||
|
}
|
||||||
|
readfile($file);
|
||||||
|
|||||||
@@ -986,7 +986,7 @@ let backend=null,projectPanel=null;
|
|||||||
window.ALLSTAV_CONFIG={getState:()=>stdClone(stdState),defaults:()=>stdClone(STD_DEFAULTS),set:(patch)=>{stdState=stdNormalize({...stdClone(stdState),...patch});stdApply();return stdClone(stdState);},open:stdOpen,close:stdClose,view:stdView,summary:stdSummary,exportData:stdExportData,normalize:stdNormalize,visibleWindows:()=>[...new Set(meshes.filter(m=>m.std?.stdBlind&&visible(m)).map(m=>m.std.windowNode))],sourcePage:stdShowCatalog,saveHtml:stdSaveHtml,validate:()=>({windowCount:gltf.extras.allstavStandards.windows.length,triangleExcluded:!meshes.some(m=>m.std?.stdBlind&&m.std.windowNode===gltf.extras.allstavStandards.triangleExcludedNode),rooms:STD_ROOMS.length,materials:gltf.extras.allstavStandards.materials})};
|
window.ALLSTAV_CONFIG={getState:()=>stdClone(stdState),defaults:()=>stdClone(STD_DEFAULTS),set:(patch)=>{stdState=stdNormalize({...stdClone(stdState),...patch});stdApply();return stdClone(stdState);},open:stdOpen,close:stdClose,view:stdView,summary:stdSummary,exportData:stdExportData,normalize:stdNormalize,visibleWindows:()=>[...new Set(meshes.filter(m=>m.std?.stdBlind&&visible(m)).map(m=>m.std.windowNode))],sourcePage:stdShowCatalog,saveHtml:stdSaveHtml,validate:()=>({windowCount:gltf.extras.allstavStandards.windows.length,triangleExcluded:!meshes.some(m=>m.std?.stdBlind&&m.std.windowNode===gltf.extras.allstavStandards.triangleExcludedNode),rooms:STD_ROOMS.length,materials:gltf.extras.allstavStandards.materials})};
|
||||||
if(loaded)$('#stdSaved').textContent='Na\u010dten v\u00e1\u0161 ulo\u017een\u00fd v\u00fdb\u011br';else $('#stdSaved').textContent='V\u00fdchoz\u00ed v\u00fdb\u011br \u00b7 zm\u011bny se ukl\u00e1daj\u00ed automaticky';
|
if(loaded)$('#stdSaved').textContent='Na\u010dten v\u00e1\u0161 ulo\u017een\u00fd v\u00fdb\u011br';else $('#stdSaved').textContent='V\u00fdchoz\u00ed v\u00fdb\u011br \u00b7 zm\u011bny se ukl\u00e1daj\u00ed automaticky';
|
||||||
window.addEventListener('pagehide',()=>{if(stdSaveTimer){clearTimeout(stdSaveTimer);stdPersist();}});
|
window.addEventListener('pagehide',()=>{if(stdSaveTimer){clearTimeout(stdSaveTimer);stdPersist();}});
|
||||||
stdOpen('exterior');stdView('terrace');
|
if(config.startStandardsOpen){stdOpen('exterior');stdView('terrace');}
|
||||||
}
|
}
|
||||||
|
|
||||||
start();
|
start();
|
||||||
@@ -16,7 +16,7 @@ try{
|
|||||||
document.getElementById('stdSavedState').textContent=JSON.stringify({selection:payload.selection});
|
document.getElementById('stdSavedState').textContent=JSON.stringify({selection:payload.selection});
|
||||||
}catch(error){console.warn('Invalid shared selection:',error);}
|
}catch(error){console.warn('Invalid shared selection:',error);}
|
||||||
window.LOCENICE_RESOURCES={config,catalog,assets,references,scene,site,modelBytes};
|
window.LOCENICE_RESOURCES={config,catalog,assets,references,scene,site,modelBytes};
|
||||||
await import('./app.js');
|
await import('./app.js?v=20261022');
|
||||||
}catch(error){
|
}catch(error){
|
||||||
console.error(error);const box=document.getElementById('loading');box.className='error';box.innerHTML='<div class="errorDetail"></div><p>Nahrajte celou slozku vcetne js, css, data, models a assets. Otevrete ji pres HTTP(S), nikoli dvojklikem na HTML.</p><a href="./models/dum.glb" download>Stahnout model GLB</a>';
|
console.error(error);const box=document.getElementById('loading');box.className='error';box.innerHTML='<div class="errorDetail"></div><p>Nahrajte celou slozku vcetne js, css, data, models a assets. Otevrete ji pres HTTP(S), nikoli dvojklikem na HTML.</p><a href="./models/dum.glb" download>Stahnout model GLB</a>';
|
||||||
box.querySelector('.errorDetail').textContent=error.message;document.getElementById('webStatus').textContent='Chyba nacitani';
|
box.querySelector('.errorDetail').textContent=error.message;document.getElementById('webStatus').textContent='Chyba nacitani';
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
"""Optional: download pinned Three.js r180 locally, on a computer with internet.
|
"""Optional: download pinned Three.js r180 locally, on a computer with internet.
|
||||||
python tools/vendor_three.py
|
python tools/vendor_three.py
|
||||||
Then upload the generated locenice2/vendor folder AND data/app-config.json.
|
Then upload the generated locenice/vendor folder AND data/app-config.json.
|
||||||
Does not upload anything. No credentials or server-side installer required.
|
Does not upload anything. No credentials or server-side installer required.
|
||||||
"""
|
"""
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
@@ -1,10 +1,3 @@
|
|||||||
<?php
|
<?php
|
||||||
// Upload this whole folder, not only this file. No Node.js or database required.
|
|
||||||
header('Content-Type: text/html; charset=utf-8');
|
readfile(__DIR__ . '/dum_3D_slunce.html');
|
||||||
header('X-Content-Type-Options: nosniff');
|
|
||||||
$file = __DIR__ . '/app.html';
|
|
||||||
if (!is_readable($file)) {
|
|
||||||
http_response_code(500);
|
|
||||||
exit('Chybi app.html. Nahrajte celou slozku locenice2.');
|
|
||||||
}
|
|
||||||
readfile($file);
|
|
||||||
|
|||||||