Files
martinfencl.eu/klabava/README_CZ.md
T
martin.fencl f0a6480c86
continuous-integration/drone/push Build is passing
feat: add BufferGeometryUtils for advanced geometry manipulation
- Implemented computeMikkTSpaceTangents for consistent tangent generation.
- Added mergeGeometries to combine multiple BufferGeometries.
- Introduced mergeAttributes for merging BufferAttributes.
- Created deepCloneAttribute for cloning BufferAttributes.
- Developed interleaveAttributes and deinterleaveAttribute for attribute management.
- Added estimateBytesUsed to calculate memory usage of geometries.
- Implemented mergeVertices to optimize vertex data.
- Created toTrianglesDrawMode for converting geometries to triangle mode.
- Added computeMorphedAttributes for handling morph targets in geometries.
- Implemented mergeGroups to consolidate geometry groups.
- Developed toCreasedNormals for generating smooth normals with crease angles.
2026-11-02 13:38:01 +01:00

68 lines
7.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Klabava · pracovní 3D web
Tato složka obsahuje samostatný web s otočným modelem domu a pozemku, simulací slunce a odkazy na dodané PDF. Styl ovládání a časové chování simulace vychází z projektu Ločenice. Barvy a standardy domu zůstávají otevřené.
## Spuštění na počítači
Web používá ES moduly a přibalené Three.js 0.180.0 ve složce `vendor/`. Spusťte místní server z této složky:
```sh
python3 -m http.server 8000
```
Potom otevřete <http://localhost:8000>. Prohlížeč potřebuje WebGL. Knihovny se načítají lokálně, takže připojení k CDN není potřeba. Samotný soubor `index.html` neotvírejte přes `file://`; použijte místní server nebo hosting. Při nasazení na hosting nahrajte celý obsah složky `klabava/`; soubory `index.html`, `css/`, `js/`, `data/`, `vendor/` a `references/` musí zůstat pohromadě. `index.php` je vstup pro PHP hosting.
## Ovládání
- Tažením myši model otáčíte, kolečkem přibližujete a pravým tlačítkem posouváte.
- Příjezd, Zahrada a Shora nastaví pohled; Terén, Parcela a Parkování přepínají vrstvy pozemku.
- Panel Slunce zachovává volbu data a času, sezónní dny, přehrávání dne, rychlost, východ/poledne/západ, azimut, výšku slunce, stíny, časové pásmo Europe/Prague a PNG.
- Zeměpisná poloha je střed parcely 66/17 (49,7520° N, 13,5440° E) podle souřadnicové sítě S-JTSK ve výškopisu. Severka situace ukazuje sever sítě S-JTSK, který je tady o 8,5° západněji než zeměpisný sever; uliční strana domu proto míří 1,5° východně od zeměpisného severu. Natočení pozemku lze upravit v rozšířeném nastavení slunce.
- Stáhnout model GLB exportuje aktuálně viditelný 3D model domu a pozemku. Sluneční ovládání je součástí webu, nikoli souboru GLB.
## Podklady a míra přesnosti
Z půdorysu a pohledů vychází obrys domu 17,40 × 13,05 m, zastavěná plocha 178,75 m², užitná plocha 153,74 m² a úrovně hřebenů +5,275 a +5,832 m. Řez uvádí sklon střechy 23°, přesah 0,6 m, podbití +2,766 a okap +3,046 m. Vyšší valbová střecha kryje kuchyňské křídlo, krytý vstup a krytou terasu (13,05 × 11,925 m, hřeben +5,832 m), nižší křídlo s ložnicemi (9,3 m, hřeben +5,275 m); na uliční straně mají obě střechy společnou rovinu. Situace uvádí parcelu 66/17 o výměře 1 037 m² a 206,54 m² včetně krytého vstupu (1,5 × 6,525 m) a terasy (3,75 × 4,8 m). Dvě parkovací stání 6,625 × 5,0 m jsou mezi komunikací a krytým vstupem před kuchyňským křídlem, tedy vpravo při pohledu z ulice. Dům je 5,0 m od komunikace, 2,0 m od východní a asi 3,3 m od západní hranice. Bodové výšky ve výškopisu klesají přibližně z 349,2 m n. m. u komunikace na 347,1 m n. m. u zadní hranice; východní strana je asi o 0,4 m výš.
Obrys domu, polohy a rozměry otvorů, střechy, komín a sloupky terasy a vstupu vycházejí z kót a vektorů půdorysu, pohledů a řezu. Terén je rovina proložená 27 bodovými výškami parcely (střední odchylka 4 cm); podlaha ±0,000 je 0,30 m nad terénem uprostřed domu. Rámy otvorů, nosná konstrukce terasy a vstupu, auta a materiály slouží k prostorové orientaci. Hranice parcely je převzatá graficky ze situačního PDF a výškopisu, nikoli z vytyčovacích souřadnic. Model není BIM ani podklad pro stavbu, zemní práce nebo vytyčení.
Soubor `data/model.json` uchovává hlavní údaje projektu. Dodané PDF jsou zkopírované do `references/` jako podklad modelu; panel interiéru odkazuje na půdorys a řez. Barvy fasády, střešní krytiny, oken a vybavení nejsou zatím vybrané.
## Soubory
- `index.html` — webová aplikace.
- `index.php` — jednoduchý vstup pro PHP hosting.
- `js/klabava.js` — sestavení 3D modelu, kamera, ovládání a export GLB.
- `js/solar.js` — výpočet polohy slunce převzatý z podkladového webu.
- `css/app.css` a `css/web.css` — vizuální základ z původního webu; `css/klabava.css` obsahuje úpravy pro Klabavu.
- `data/model.json` — souhrn údajů z výkresů.
- `references/` — výškopis, situace, půdorys, pohledy a řez.
## Nový interiér
Klikněte na **Prohlédnout interiér** (nebo klávesu I). Ovládání navazuje na Ločenici, dispozice je nově sestavená podle Klabavy.
- **Půdorys:** ortografický pohled shora s plochami místností.
- **3D bez střechy:** otočný pohled se skutečným řezem stěn ve výšce 1,12 m.
- **Procházet:** stěny a rovný podhled mají plnou výšku 2,60 m. Klikněte do modelu a použijte W/A/S/D, šipky nebo tlačítka na obrazovce. Tažením se rozhlížíte, Shift zrychlí chůzi. Kolečko mění zorný úhel.
- Mapa, výběr místnosti a připravené pohledy přenesou kameru dovnitř. Průchody jsou volné; zárubně jsou zobrazené bez dveřních křídel.
- Vybavení, popisky a přisvětlení lze přepnout. Barva mění vnitřní příčky; obvodový plášť a strop používají původní materiály.
- Tlačítko ☷ skryje panel, ⌖ zarámuje dům nebo obnoví pohled. **Exteriér / Esc** vrací původní kameru, vrstvy okolí a otevřený panel. Simulace slunce se v interiéru pozastaví a při návratu obnoví původní stav přehrávání.
- **PNG** ukládá aktuální pohled včetně popisků a stručné poznámky. **GLB** obsahuje právě viditelné vrstvy: v řezu skutečně zkrácené stěny, při procházení plnou výšku. Z exteriéru se exportuje celý dům včetně interiéru a viditelných vrstev pozemku. Světla a ovládání webu nejsou součástí GLB.
Dispozice obsahuje 11 místností o součtu ploch z výkresu 153,74 m²: obývací pokoj s kuchyní, místnost bez určení, šatnu, zádveří, chodbu, technickou místnost, společnou koupelnu, dva pokoje, ložnici se šatnou a koupelnu u ložnice. Názvy jsou odvozené ze zakresleného vybavení. Místnost 7,05 m² je ponechaná prázdná a přístupná přes šatnu 6,15 m².
Poloha a tloušťky příček, dveřních otvorů a uspořádání vybavení vycházejí z půdorysu. Světlá výška 2,60 m vychází z řezu; výška vnitřních otvorů 2,10 m je vizualizační předpoklad. Kuchyň do U s poloostrovem, sedačka, jídelní stůl, postele, skříně, sanita a technické vybavení jsou zjednodušené. Rozměry výrobků, jejich přesné provedení a materiály nejsou závazně navržené. Podhled zůstává rovný, podle dokumentace Klabavy.
Přisvětlení slouží ke čtení interiéru. Pohled bez střechy ani přisvětlený interiér nejsou výpočtem denního osvětlení.
### Nové soubory
- `js/interior-model.js`: místnosti, podlahy, příčky, dveřní otvory, strop a kolizní hranice.
- `js/interior-furniture.js`: vybavení a jeho kolizní hranice.
- `js/interior-view.js`: přepínání režimů, procházení, mapa, popisky a PNG.
- `vendor/three/`: lokální Three.js, OrbitControls, GLTFExporter a licence MIT.
- `tests/interior-checks.mjs`: geometrická kontrola a průchodnost ze zádveří do všech místností s vybavením i bez něj. Spuštění: `node tests/interior-checks.mjs` (Node.js 22+).
Kontrola: všechny místnosti jsou dostupné z chodby/zádveří, součet popsaných ploch odpovídá výkresu, geometrie má konečné souřadnice. V prohlížeči ověřeny režimy půdorys, 3D a chůze, mobilní rozložení, návrat do exteriéru a export PNG/GLB.