Dla tego, kto czyta instrukcję
Dokumentacja.Cała powierzchnia sterowania.
Wszystko, co robi projektant, jest dokumentem, klawiszem albo URL-em. Oto wszystkie trzy — plus bramki QA, przez które przechodzi przed wydaniem, żebyś wiedział, co znaczy „działa" w liczbach.
Dokument — *.webhome.json
| poziomy | jeden wpis na kondygnację; ściany, otwory i obiekty odwołują się do swojej kondygnacji |
| ściany | odwołują się do węzłów; dwie ściany są sąsiednie dokładnie wtedy, gdy dzielą węzeł |
| otwory | odwołują się do ściany po id — okno, drzwi, brama garażowa, przejście; prostokąt, okrąg lub trójkąt |
| dach | rodzaj: gable, hip, flat lub shed; gable/hip dopasowują prostokąt o minimalnej powierzchni obejmujący obrys |
| obiekty | wstawienia z biblioteki — pozycja, obrót; legalność sprawdzana ponownie przy wczytaniu |
| teren · ogród · drogi | wysokości, malowanie splatami, nasadzenia, punkty dróg |
| doc.look | gradowanie, look LUT, mgła i pozycja słońca — filmowy wygląd podróżuje razem z plikiem |
| doc.sun | słońce, które czyta renderer — niezależnie od tego, czy pochodzi z efemeryd, czy z twojej ręki |
| doc.wind | kierunek i siła — jeden front wiatru na całą działkę |
Autosave ląduje w localStorage; Ctrl+S zapisuje *.webhome.json. Projekty zapisane na koncie trzymane są po stronie serwera jako ten sam nieprzejrzysty JSON.
Klawiatura
| 1–9 · 0 | narzędzia · narzędzie Słońce |
| B | uzbrój albo zdejmij edycję (drzwi Design robi to samo) |
| klik · Shift · dwuklik | ściany: postaw narożnik · zablokuj 15° · zakończ ciąg |
| Q E R | obróć wstawiony obiekt (albo gizmo) |
| WASD · Shift | spacer · bieg |
| V | trzecia osoba (z trybu spaceru) |
| E | otwórz drzwi przed sobą |
| Esc | wyjście z trybu spaceru |
| F | wykadruj projekt |
| Ctrl+Z/Y | cofnij · ponów (o ograniczonym zasięgu) |
| Ctrl+S | zapisz *.webhome.json |
| Delete | usuń zaznaczenie, niezależnie od aktywnego narzędzia |
| Space | odtwórz dzień (narzędzie Słońce) |
Parametry URL
?design=<url> | otwórz udostępniony projekt; logowanie przebiega po cichu, jeśli masz sesję castomo |
?fresh=1 | zignoruj autosave, zacznij od zera |
?empty=1 | pusta działka — bez domu startowego |
?quality=low|medium|high | przypnij poziom jakości renderu (ultra jest w menu Widok) |
?reveal=0|1 | wymuś odsłonę budowania włączoną albo wyłączoną (domyślnie wyłączona dla automatyzacji) |
Brak query string? Przy każdej wizycie projektant otwiera inny dom z katalogu 140 projektów — a twoją ostatnią pracę, jeśli autosave coś zapisało.
Bramki QA — co znaczy „działa"
| 60 FPS | bramka na projekcie obciążeniowym: 1 fundament, 2 kondygnacje, 15 ścian, 8 otworów w tym trójkąty, 50 obiektów |
| < 300 draw calls | jedna scalona siatka na materiał, kondygnację i kategorię; meble instancjonowane |
| < 250 MB sterty JS | bramka na tym samym projekcie obciążeniowym i na ogrodzie z 4 386 roślin |
| fizyka słoneczna | południe przesilenia a nachylenie osi Ziemi, wschód w równonocy dokładnie na wschodzie, ekstrema równania czasu, dzień polarny i polarna noc, długość lunacji, Warszawa 21.06 04:14–21:01 |
| szwy tekstur | każde wykończenie proceduralne oceniane na łączeniu opaski; próg wynosi 1.3 |
| reguły rozmieszczania | żadnego stania w ścianach, żadnych nakładań (wspólna powierzchnia, 0,1 m² podłogi), limity sufitu i podłogi; dywany i dosunięte krzesła zwolnione |
| pokój | dwie prawdziwe przeglądarki na żywej sesji współedycji — role, obszary, obecność, głos |
Projektant działa pod adresem builder.castomo.com/editor — wymagany WebGL2, wszystko inne opcjonalne.