दो बाह्य रूप — स्वर्ण और रजत
थीम Environment के माध्यम से सभी व्यू में वितरित होती है, और तुरंत बदल जाती है। अंक-पटल, सुई, और अंकों की शैली तक, हर बाह्य रूप के लिए अलग से रचा गया है।
स्वर्ण — शिकारी घड़ी
नीलम-मणि एनेमल × स्वर्ण-आभा रोमन अंक (IIII अंकन) · अर्धचंद्र और अष्टकोणीय तारे का केंद्रीय चिह्न
प्राचीन स्वर्ण (एज्ड पीतल) का उत्कीर्ण ख़ोल। 6 बजे की स्थिति में अगली नियत बेला की लघु खिड़की
#8F7028
नीलम-मणि #101838
स्वर्ण-आभा #D9B45C
चंद्र-स्वर्ण #F2DC96
tint #A67C2E
रजत — रेलवे घड़ी
श्वेत अंक-पटल · मोटे अरबी अंक · दंड सुई
सेकंड-सुई, रेलवे घड़ी की परंपरा अनुसार, लाल रंग में जड़ी जाती है
#9CA3AE
श्वेत चीनी-मिट्टी #FAFAF7
लौह-काला #1A1C22
लाल #B02E2E
tint #44546A
सुई से समय मिलाएँ
DatePicker का उपयोग नहीं किया जाता। चाबी घुमाने की क्रिया के स्थान पर, अंक-पटल की सुई को सीधे खींचकर बजने का समय निर्धारित किया जाता है। नीचे दिया अंक-पटल वास्तव में खींचा जा सकता है।
पूर्वाह्न7:30
- कोण→समय रूपांतरण — खींचे गए निर्देशांकों को atan2 से कोण में बदला जाता है, फिर मिनट की सुई को 6°, घंटे की सुई को 30° की वृद्धि में परिमाणित किया जाता है (
ClockAngleMathनामक शुद्ध फलन बनाकर परीक्षण का विषय बनाया गया)। - अनुबंधन — मिनट की सुई घुमाने पर घंटे की सुई 0.5°/मिनट की गति से अनुसरण करती है। 0 मिनट को पार करने पर घंटा आगे/पीछे होता है (45→15 मिनट के पार होने से निर्धारित)।
- स्पर्श-प्रतिक्रिया — हर 1 मिनट की वृद्धि पर .sensoryFeedback(.selection)। यह गियर के क्लिक जैसा अहसास अंगुली को लौटाता है।
- चयनित सुई — पीतल रंग का वलय (नॉब) सुई के सिरे पर प्रदर्शित होता है, जो दर्शाता है कि कौन-सी सुई संचालित हो रही है।
- पुष्टि — "इसी समय पर मिलाएँ" पट्टिका से सहेजा जाता है। यह AlarmKit के Alarm.Schedule.relative में परिवर्तित हो जाता है।
बेला की मलिनता — संध्या-अंधकार और उषा
रात्रि जितनी गहराती है, अंक-पटल उतना ही आत्मा के पात्र की भाँति बैंगनी-नील मलिनता में डूबता जाता है। उषा की बेला में, यह मलिनता प्रकाश के साथ शुद्ध हो जाती है। सूर्यास्त की बेला में, उस ऋतु का तारामंडल पटल पर उभरकर चमकता है। नीचे दिए स्लाइडर से एक दिन का चक्र घुमाकर देखिए।
21:00संध्या
- मलिनता — 16 बजे से संध्या तक पटल के किनारे से बैंगनी-नील तलछट भरती है, और 23 बजे से 4 बजे तक चरम पर पहुँचती है। गुणन-मिश्रण (multiply blend) की बहु-स्तरीय प्रवणता से, हाथी-दाँत रंग की भूमि "पात्र के तल" की भाँति धँस जाती है।
- उषा का शोधन — 4 बजे से 6 बजे तक, ऊपर से आता प्रकाश (स्क्रीन कम्पोज़िट) तलछट को घोल देता है। मुख्य घड़ी वास्तविक समय से जुड़कर सदैव इसी चक्र को जीती है।
- ऋतु का तारामंडल — सूर्यास्त (±2 घंटे) पर उस ऋतु का तारामंडल स्वर्णिम रंग में उभरता है। वसंत = सिंह / ग्रीष्म = वृश्चिक / शरद = कैसिओपिया / शीत = ओरायन। रात्रि में यह मंद आभा में शेष रहता है।
- SwiftUI कार्यान्वयन —
TimelineView(.everyMinute)से समय-गुणांक की गणना की जाती है, और इसे Canvas के गुणन/स्क्रीन रेखांकन तथा तारामंडल पथ की अपारदर्शिता में प्रतिबिंबित किया जाता है।
द्वादश राशियों का ढक्कन — मास बदलते ही बदलता तारामंडल-चिह्न
ढक्कन के मध्य में नीलम-मणि एनेमल जड़ा गया है, और हर बार मास बदलने पर उस मास की राशि (तारामंडल) स्वर्ण में पुनः उत्कीर्ण होती है। बालचंद्र के साथ, और पारंपरिक जापानी मास-नाम के साथ। मुख्य घड़ी का ढक्कन वर्तमान मास के चिह्न को धारण किए हुए है।
घूमता तारामंडल — · तारे गहराई लिए हुए हैं, और अंतरिक्ष में घूमते रहते हैं। सहलाकर घुमाने पर जड़त्व चढ़ जाता है
अभिकल्पना का स्वर पुरातन जेब-घड़ी के "नीलम-मणि एनेमल × प्राचीन स्वर्ण" का अनुसरण करता है (संदर्भ सामग्री: design-refs/ref-watch.jpg)। तारामंडल की रेखाएँ अभिकल्पित, सरलीकृत रूप हैं। SwiftUI में, मास बदलते ही बदलने वाला चिह्न Calendar.current.component(.month) से चुना जाता है, और Canvas पर स्वर्ण-आभा में रेखांकित किया जाता है।
तंत्र — द्वादश राशियों का रहस्य
पटल को वृत्ताकार सहलाकर बारह बार चाबी भरने पर विद्या प्रकट होती है। रात्रि में तंत्र (द्वादश राशियों के 12 प्रकार), दिवस में सौर विद्या (6 प्रकार), ढक्कन बंद करने पर मुहर-मंत्र (6 प्रकार) — वास्तविक उपकरण में तीन प्रणालियों के कुल 24 प्रकार। इस पृष्ठ का प्रदर्शन उनमें से सात प्रतिनिधि प्रकार आज़माने देता है।
ढक्कन खुलने पर का मंत्र
ढक्कन बंद होने पर का मंत्र (वास्तविक उपकरण में मुहर-मंत्र)
बजने की बेला (उद्घोष घंटी के सक्रिय होने पर)
नियत बेला आते ही संपूर्ण स्क्रीन स्वर्णिम रंग में जगमगाती है, और "नियत बेला, आ पहुँची है" के अभिलेख के साथ यंत्र विस्तृत होता है।
- चाबी-भराव पहचान — पटल के केंद्र के चारों ओर संचित घूर्णन कोण को ट्रैक किया जाता है, हर 2π पर एक चक्कर। यंत्र की हीरक-आकृति जगमगाती है। 4 सेकंड तक छोड़ देने पर चाबी-भराव बिखर जाता है।
- उषा-प्रकाश का शोधन — मलिनता को प्रकाश से शुद्ध करता है। पटल बलपूर्वक उषा की अवस्था में परिवर्तित होता है, और स्वर्णिम आभा फूट पड़ती है।
- नक्षत्र-झंझावात — ऋतु का तारामंडल प्रज्वलित होता है, और तारे घड़ी से बिखर जाते हैं।
- काल-प्रत्यावर्तन — सुइयाँ तीव्र गति से विपरीत दिशा में चलती हैं, और यंत्र उल्टा घूमने लगता है।
- बैंगनी वज्र-कवच — बैंगनी-नील चमक और आघात। यंत्र बैंगनी रंग में बदल जाता है।
- रक्तवर्णी ज्वाला — घड़ी के चारों ओर से चिंगारियाँ 3D अंतरिक्ष में उठकर मंडराती हैं (परिप्रेक्ष्य-प्रक्षेपित कण, कंपन सहित)।
- नील तरंगों का भँवर — पैरों तले तरंग-वलय फैलते हैं, और छींटे गुरुत्व से खिंचकर चाप बनाते हैं।
- प्रचंड वायु का वलय — वायु की धाराएँ घड़ी के आगे-पीछे लिपटते हुए परिक्रमा करती हैं, और उस वायु-दाब से घड़ी हिल उठती है।
- SwiftUI कार्यान्वयन — घूर्णन पहचान
atan2के संचयन पर आधारित है (ClockAngleMath में जोड़ा गया), मंत्र को protocolSpellEffectमें एकीकृत किया गया है, और स्लॉट सेटिंग UserDefaults में रहती है। बजने के समय AlarmKit की alerting अवस्था का पता लगाकर fullScreenCover से महा-प्राकट्य होता है।
स्क्रीन संरचना
होम सदैव घड़ी ही है। सूची, संपादन, और रेत-घड़ी, ढक्कन के भीतरी पृष्ठ पर कार्य-स्थल के रूप में, उसी फ़ेल्ट भूमि पर उत्कीर्ण पट्टिकाओं से रचे गए हैं।
तू, नियत बेला को मुक्त कर
अगली नियत बेला — कल पूर्वाह्न 7:30
देर तक दबाने पर थीम बदलें
होम (RootView)
उद्घोष घंटी
पूर्वाह्न7:30
सप्ताह के दिन · तंद्रा 9 मिनट
पूर्वाह्न9:00
सप्ताहांत
अपराह्न10:15
केवल एक बार
सूची (AlarmListView)
समय मिलाएँ
पूर्वाह्न7:30
लेबल — "सुबह की चाय" · तंद्रा 9 मिनट
इसी समय पर मिलाएँसंपादन (AlarmEditorView)
रेत-घड़ी
रेत-घड़ी (TimerView)
Live Activity / Dynamic Island
रेत-घड़ी और कालमापी लॉक स्क्रीन और Dynamic Island में जीवंत रहते हैं। काली भूमि पर पीतल के एक बिंदु-स्पर्श के साथ, प्रणाली के UI में भी जेब-घड़ी की उपस्थिति बनी रहती है।
POCKETCHIME
चाय की रेत-घड़ी
4:23
लॉक स्क्रीन — Text(timerInterval:) से संचालित
Dynamic Island(compact)— बाईं ओर अंक-पटल, दाईं ओर शेष समय
अक्षर-संयोजन और रंग
फ़ॉन्ट प्रणाली का सेरिफ़ है (New York / Hiragino Mincho)। अंक समान-चौड़ाई (tabular) संख्याओं में अंकित हैं, और अंग्रेज़ी लेबल चौड़े अक्षर-अंतराल के साथ, उत्कीर्ण पट्टिका की भाँति प्रतीत होते हैं।
10:09
समय मिलाएँ
ढक्कन खोलते ही दिन आरंभ होता है। सुई को भरकर, समय की प्रतीक्षा करो।
RAILROAD GRADE · EST. 2026
| फ़ेल्ट भूमि (पृष्ठभूमि) | #24331F → #0B110A | |
| स्याही अक्षर (मुख्य पाठ) | #EFE6CD | |
| पीतल (एक्सेंट) | #C9A24B | |
| अरुण (सेकंड-सुई, चेतावनी) | #A03A2A | |
| इस्पात (रजत थीम) | #AEB6C2 |
| अभिकल्पना | कार्यान्वयन (DESIGN.md के अनुरूप) |
|---|---|
| ढक्कन का खुलना-बंद होना | rotation3DEffect(axis:(0,1,0), anchor:.leading) + spring 1.3s |
| सुइयों की गति | TimelineView(.animation) से निरंतर संचालित |
| सुई खींचना (ड्रैग) | ClockAngleMath(atan2 का शुद्ध फलन, यूनिट टेस्ट का विषय) |
| तंद्रा (स्नूज़) | secondaryButtonBehavior: .countdown + postAlert 9 मिनट |
| शेष समय प्रदर्शन | AlarmAttributes<PocketWatchMetadata> की Live Activity |
| थीम प्रसार | tintColor और metadata.themeName से Widget तक एकरूपता |