Dvě pouzdra — zlatá a stříbrná
Téma je distribuováno do každého zobrazení prostřednictvím prostředí a okamžitě se přepíná. Dokonce i styl obličeje, rukou a číslic je pro každé pouzdro vytvořen odlišně.
Gold — Hunter Case
Hluboký smalt lapis × římské číslice se zlatým přízvukem (zápis IIII) · centrální hřeben srpku měsíce a osmicípá hvězda
Ryté pouzdro z letitého zlata (stařená mosaz). Malé okno pro další budík na pozici 6 hodin.
#8F7028
Lapis #101838
Zlatý přízvuk #D9B45C
Měsíční zlato #F2DC96
nádech #A67C2E
Stříbro — železniční hodinky
Bílý obličej · tučné arabské číslice · obuškové ruce
Sekundová ručička je zasazena do červené barvy, jak je u železničních hodinek zvykem
#9CA3AE
Bílý porcelán #FAFAF7
Železná černá #1A1C22
Červený #B02E2E
nádech #44546A
Nastavení času ručně
Není použit žádný DatePicker. Namísto gesta natahování korunky tažením rukou samotné tváře určíte dobu vyzvánění. Obličej níže lze skutečně přetáhnout.
DOPOLEDNE7:30
- Převod úhlu na čas — souřadnice tažení jsou převedeny na úhel pomocí atan2, poté kvantovány v krocích 6° pro minutovou ručičku a 30° pro hodinovou ručičku (implementováno jako čistá funkce,
ClockAngleMatha pokryto testy). - Linkage — otáčení minutové ručky způsobí, že hodinová ručka následuje rychlostí 0,5°/minutu. Překročení značky 0 minut posune nebo vrátí hodinu (určeno překročením od 45 do 15 minut).
- Haptika — .sensoryFeedback(.selection) se spustí v každém 1minutovém kroku a vrátí cvakání ozubených kol na váš prst.
- Selected Hand — na špičce ruky je zobrazen mosazný kroužek (knoflík), který ukazuje, která z nich je ovládána.
- Potvrzení – uloženo prostřednictvím štítku „Set to This Time“, převedeno na Alarm.Schedule.relative AlarmKit.
Tlumení času — Soumrak a úsvit
Čím hlubší je noc, tím více se tvář zatahuje do fialovo-indigo, jako nádoba pro duši. Za svítání je šero očištěno světlem. Při západu slunce stoupá souhvězdí ročního období a září na tváři. Vyzkoušejte posuvník níže, abyste se mohli pohybovat po dni.
21:00Večer
- Murk — od 16:00 do večera se od okraje obličeje plní fialovo-indigové usaliny, které dosahují vrcholu mezi 23:00 a 4:00. Prostřednictvím vícevrstvého gradientu ve vícenásobné směsi se slonovinová půda potápí jako „dno nádoby“.
- Očištění úsvitu — mezi 4:00 a 6:00 světlo shora (směs obrazovky) rozpouští usazeniny. Hodinky hrdiny prožívají tento cyklus neustále, synchronizovaně se aktuálním časem.
- Sezónní konstelace — při západu slunce (±2 hodiny) se konstelace sezóny zvedá ve zlatě. Jaro = Lev / Léto = Štír / Podzim = Cassiopeia / Zima = Orion. Lehce přetrvává přes noc.
- Implementace SwiftUI — časový koeficient je vypočítán pomocí
TimelineView(.everyMinute)a odráží se ve vykreslování multiplikace/obrazovky na plátně a neprůhlednosti cesty konstelace.
Obálka dvanácti domů — hřeben souhvězdí na každý měsíc
Do středu obálky je zasazen hluboký lapisový smalt as každým novým měsícem je dům (souhvězdí) znovu vyrytý do zlata – doprovázený půlměsícem a jeho tradičním japonským názvem měsíce. Kryt hrdinských hodinek nese znak současného měsíce.
Turning Houses —· Hvězdy mají hloubku a neustále se otáčí prostorem. Hlaďte je a hybnost je nese dál.
Designový tón navazuje na starožitné kapesní hodinky „lapis enamel × aged gold“ (odkaz: design-refs/ref-watch.jpg). Čáry souhvězdí jsou stylizovanou, zjednodušenou formou. V SwiftUI je znak pro každý měsíc vybrán pomocí Calendar.current.component(.month) a vykreslen na plátně se zlatým akcentem.
Arcana — Záhady dvanácti domů
Pohlaďte tvář v kruhu a dvanáctkrát ji naviňte a umění se projeví. V noci Arcana (12 druhů, jeden na dům); podle dne, Solar Arts (6 druhů); se zavřeným krytem, těsnění (6 druhů) — 24 druhů ve třech systémech na skutečném zařízení. Ukázka na této stránce vám umožní vyzkoušet sedm reprezentativních příkladů.
Kouzlo, když je kryt otevřený
Kouzlo, když je kryt zavřený (Utěsnění, na skutečném zařízení)
Hodina zvonění (když zazní budík)
Když přijde hodina, celá obrazovka zabliká zlatem a magický kruh se rozvine s nápisem: „Přišla hodina“.
- Detekce vinutí — sleduje kumulativní úhel natočení kolem středu obličeje; každé 2π je jedno vinutí. Diamanty magického kruhu se rozsvítí. Nechte působit 4 sekundy a vinutí se rozplyne.
- Purge of Dawn's Light — Čistí šero světlem. Obličej je přinucen do stavu úsvitu a skrz ni projde výbuch zlata.
- Bouře souhvězdí — Souhvězdí sezóny vzplane a jeho hvězdy se rozptýlí z hodinek.
- Převíjení času — Ruce běží rychlostí vzad a magický kruh se točí obráceně.
- Bariéra fialového blesku — Fialovo-indigový záblesk a rázová vlna. Magický kruh zfialoví.
- Crimson Blaze — Žhavé uhlíky stoupají 3D prostorem kolem hodinek (částice promítané perspektivou, s blikáním).
- Víření modrých vln — Vlnky se šíří pod nohama a stříkají oblouky, jak je taženo gravitací.
- Ring of the Gale — Proudy větru krouží kolem hodinek, vpředu i vzadu, a jeho tlak způsobuje kývání hodinek.
- Implementace SwiftUI — detekce rotace akumuluje
atan2(přidáno do ClockAngleMath); magie je sjednocena pod protokolemSpellEffects nastavením slotu uloženým v UserDefaults. Při vyzvánění je detekován stav výstrahy AlarmKit, který spustí velký efekt prostřednictvím fullScreenCover.
Složení obrazovky
Domovská obrazovka jsou vždy hodinky. Seznam, editor a časovač jsou vytvořeny jako pracovní plochy na vnitřní straně krytu, ryté desky umístěné na stejném plstěném podkladu.
Hodinu uvolníš
Další budík — zítra 7:30
Dlouhým stisknutím přepnete téma
Domovská stránka (RootView)
Poplachový zvonek
DOPOLEDNE7:30
Pracovní dny · Odložit 9 min
DOPOLEDNE9:00
Víkendy
ODPOLEDNE10:15
Jen jednou
Seznam (AlarmListView)
Nastavte čas
DOPOLEDNE7:30
Štítek — "Morning Tea" · Odložení 9 min
Nastavte na This TimeUpravit (AlarmEditorView)
Časovač
Časovač (TimerView)
Live Activity / Dynamický ostrov
Časovač a stopky běží na uzamčené obrazovce a na dynamickém ostrově. S jediným mosazným akcentem na černé barvě zachovávají přítomnost kapesních hodinek i v uživatelském rozhraní systému.
POCKETCHIME
Čajový časovač
4:23
Uzamknout obrazovku — řízeno textem (interval časovače:)
Dynamický ostrov (kompaktní) — ciferník vlevo, zbývající čas vpravo
Typografie a barva
Typ písma je systémová patka (New York / Hiragino Mincho). Číslice jsou zasazeny do tabulkových obrazců a latinské štítky jsou opatřeny širokými mezerami mezi písmeny, evokujícími rytý nápis.
10:09
Nastavte čas
Otevřete kryt a den začíná. Natočte ruce a počkejte na hodinu.
RAILROAD GRADE · EST. 2026
| Plstěná půda (pozadí) | #24331F → #0B110A | |
| Text inkoustu (tělo) | #EFE6CD | |
| mosaz (akcent) | #C9A24B | |
| Crimson (z druhé ruky, varování) | #A03A2A | |
| Ocel (stříbrný motiv) | #AEB6C2 |
| Design | Implementace (podle DESIGN.md) |
|---|---|
| Otevírání a zavírání krytu | rotation3DEffect(axis:(0,1,0), anchor:.leading) + spring 1.3s |
| Pohyb rukou | Průběžné řízení pomocí TimelineView(.animation) |
| Tažení za ruce | ClockAngleMath (čistá funkce atan2, pokrytá jednotkovými testy) |
| Podřimovat | secondaryButtonBehavior: .odpočítávání + 9minutový postAlert |
| Zobrazení zbývajícího času | Live Activity přes AlarmAttributes<PocketWatchMetadata> |
| Propagace tématu | Konzistentní až k widgetu prostřednictvím tintColor a metadata.themeName |