From ff9d4273120cbfb4e5b06c30873d2d8fd10687a9 Mon Sep 17 00:00:00 2001 From: David Peer Date: Sat, 15 Oct 2022 23:03:11 +0200 Subject: [PATCH] New clock generated with stable diffusion. --- apps/aiclock/ChangeLog | 1 + apps/aiclock/README.md | 21 ++++ apps/aiclock/aiclock.app.js | 194 +++++++++++++++++++++++++++++++++++ apps/aiclock/aiclock.icon.js | 1 + apps/aiclock/aiclock.png | Bin 0 -> 2026 bytes apps/aiclock/impl.png | Bin 0 -> 2553 bytes apps/aiclock/metadata.json | 20 ++++ apps/aiclock/orig.png | Bin 0 -> 50612 bytes 8 files changed, 237 insertions(+) create mode 100644 apps/aiclock/ChangeLog create mode 100644 apps/aiclock/README.md create mode 100644 apps/aiclock/aiclock.app.js create mode 100644 apps/aiclock/aiclock.icon.js create mode 100644 apps/aiclock/aiclock.png create mode 100644 apps/aiclock/impl.png create mode 100644 apps/aiclock/metadata.json create mode 100644 apps/aiclock/orig.png diff --git a/apps/aiclock/ChangeLog b/apps/aiclock/ChangeLog new file mode 100644 index 000000000..759f68777 --- /dev/null +++ b/apps/aiclock/ChangeLog @@ -0,0 +1 @@ +0.01: New app! \ No newline at end of file diff --git a/apps/aiclock/README.md b/apps/aiclock/README.md new file mode 100644 index 000000000..42e8242ab --- /dev/null +++ b/apps/aiclock/README.md @@ -0,0 +1,21 @@ +# AI Clock +This clock was designed by stable diffusion ([paper](https://arxiv.org/abs/2112.10752)) using the following prompt: + +`A rectangle digital watchface` + + +The original output of stable diffusion is shown here: + +![](orig.png) + +And my implementation is shown here: + +![](impl.png) + + +# Thanks to +The great open source community: I used an open source diffusion model (https://github.com/CompVis/stable-diffusion) +to generate a watch face for the open source smartwatch BangleJs. + +## Creator +- [David Peer](https://github.com/peerdavid). \ No newline at end of file diff --git a/apps/aiclock/aiclock.app.js b/apps/aiclock/aiclock.app.js new file mode 100644 index 000000000..5a3081029 --- /dev/null +++ b/apps/aiclock/aiclock.app.js @@ -0,0 +1,194 @@ +/** + * AI Clock + */ +require("Font7x11Numeric7Seg").add(Graphics); +Graphics.prototype.setFontGochiHand = function(scale) { + // Actual height 27 (29 - 3) + this.setFontCustom( + atob('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAA8AAAAADwAAAAAPAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAA/+AAAB//4AAH///gAH///gAAf//AAAB/+AAAAH8AAAAAAAAAAAAAAAAAAAAH8AAAAB/8AAAAP/4AAAB//wAAAPx/AAAB8B+AAAHgD4AAA+AHgAADwAeAAAPAB4AAA8AHgAAD4AeAAAPgB4AAAeAPgAAB8A8AAAH4HwAAAP/+AAAAf/wAAAA/+AAAAB/wAAAAB8AAAAAAAAAAADgAAAAAfAAAAAB4AAAAAPAAAAAB8AAAAAHgAAAAA8AAAAADwAAAAAf4AAAAB//8AAAD//4AAAH//gAAAD/+AAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AHgAAHgA+AAA/AD4AAD4AfgAAfAD+AAB4Af4AAHgD/gAAeAfeAAB4D54AAHw/HgAAf/4fAAA//B8AAD/4DwAAH+APAAAHgA8AAAAADwAAAAAOAAAAAAAAABgAAAAAPAAAAAB8AAAAAHwAYAAAeAD4AAD4APwAAPA4fgAA8Hw+AADwfB4AAPh4HwAA+HgPAAB/+A8AAH/4DwAAP/weAAAf/j4AAAc//gAAAB/8AAAAD/gAAAAD8AAAAAAAAAAAAAAAAAADAAAAAA+AAAAAP4AAAAB/wAAAAP/AAAAD+8AAAAfzwAAAf8HAAAB/gcAAAH/hwAAAf//gAAA//+AAAAf//gAAAP//gAAAD/+AAAAB/4AAAAH/AAAAAeAAAAAAgAAAAAAAAAAAAcAAAB8H8AAAP4f4AAA/x/wAAD/H/gAAf+A+AAB74B4AAHnwHgAAefAfAAB58A8AAHj4DwAAePgPAAB4fA8AAHh+HgAAeD8+AAB4P/4AAHgf/AAAeA/4AAAAA+AAAAAAAAAAAAAAAAAAHgAAAAD/wAAAA//gAAAH//AAAA//+AAAD4H8AAAfA/wAAB4D/AAAHgP+AAAeB54AAB4HngAAHweeAAAfB54AAA4HngAAAAeeAAAAB/4AAAAH/AAAAAP4AAAAAfAAADwAAAAAPAAAAAA8HgAAADweAAAAPB4AAAA8HgAAADweAAAAPh4AAAA+HgAAAB4eAAAAHx4AAAAf//8AAA///wAAD//+AAAH//4AAAAeAAAAAB4AAAAAHgAAAAAeAAAAAB4AAAAAHgAAAAAAAAAAAAAAAAAAD+AAAA+f+AAAH//8AAA///wAAH/4fgAAePgeAAB4+B4AAHj4HwAAePgPAAB4+A8AAHz4DwAAfngeAAA//B4AAD/+HgAAH//8AAAP//wAAAAf+AAAAA/wAAAAAYAAAAAAAAAAA/gAAAAH/AAAAA/8AAAAD34AAAAeHgAAAB4eAAAAHh4AAAA8HgAAADweAAAAPDwAAAA8PAAAADx4AAAAPvgAAAAf///AAB///8AAH///wAAP///AAA/wA4AABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOA4AAAA8DwAAADwPAAAAPA8AAAAYBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=='), + 46, + atob("DQoXEBQVExUUFRYUDQ=="), + 40+(scale<<8)+(1<<16) + ); + return this; +} + +/* + * Set some important constants such as width, height and center + */ +var W = g.getWidth(),R=W/2; +var H = g.getHeight(); +var cx = W/2; +var cy = H/2; +var drawTimeout; + +/* + * Based on the great multi clock from https://github.com/jeffmer/BangleApps/ + */ +Graphics.prototype.drawRotRect = function(w, r1, r2, angle) { + angle = angle % 360; + var w2=w/2, h=r2-r1, theta=angle*Math.PI/180; + return this.fillPoly(this.transformVertices([-w2,0,-w2,-h,w2,-h,w2,0], + {x:cx+r1*Math.sin(theta),y:cy-r1*Math.cos(theta),rotate:theta})); +}; + + +function drawBackground() { + g.setFontAlign(0,0); + g.setColor(g.theme.fg); + + y = 0; + while(y < H){ + y += 3 + Math.floor(Math.random() * 10); + g.drawLine(0, y, W, y); + g.drawLine(0, y+1, W, y+1); + g.drawLine(0, y+2, W, y+2); + y += 2; + } +} + + +function drawCircle(isLocked){ + g.setColor(g.theme.fg); + g.fillCircle(cx, cy, 12); + + var c = isLocked ? "#f00" : g.theme.bg; + g.setColor(c); + g.fillCircle(cx, cy, 6); +} + + +function drawTime(){ + var drawHourHand = g.drawRotRect.bind(g,8,12,R-38); + var drawMinuteHand = g.drawRotRect.bind(g,6,12,R-12 ); + + g.setFontAlign(0,0); + + // Compute angles + var date = new Date(); + var m = parseInt(date.getMinutes() * 360 / 60); + var h = date.getHours(); + h = h > 12 ? h-12 : h; + h = parseInt(h*360/12); + + // Draw minute and hour bg + g.setColor(g.theme.bg); + drawHourHand(Math.max(0, h - 2)); + drawHourHand(Math.min(360, h + 2)); + drawMinuteHand(Math.max(0, m - 2)); + drawMinuteHand(Math.min(360, m + 2)); + + // Draw minute and hour fg + g.setColor(g.theme.fg); + drawHourHand(h); + drawMinuteHand(m); +} + + + +function drawDate(){ + var date = new Date(); + g.setFontAlign(0,0); + g.setFontGochiHand(); + + var text = ("0"+date.getDate()).substr(-2) + "/" + ("0"+date.getMonth()).substr(-2); + var w = g.stringWidth(text); + g.setColor(g.theme.bg); + g.fillRect(cx-w/2-4, 20, cx+w/2+2, 40+12); + + g.setColor(g.theme.fg); + g.drawLine(cx+w/2+1, 20, cx+w/2+1, 40+12); + g.drawLine(cx+w/2+2, 20, cx+w/2+2, 40+12); + g.drawLine(cx+w/2+3, 20, cx+w/2+3, 40+12); + g.drawLine(cx+w/2+4, 20, cx+w/2+4, 40+12); + g.drawString(text, cx, 40); +} + + +function drawSteps(){ + g.setFontAlign(0,0); + g.setFont("7x11Numeric7Seg",3); + + var text = "4234"; + var w = g.stringWidth(text); + g.setColor(g.theme.bg); + g.fillRect(cx-w/2-4, 120, cx+w/2+2, 140+20); + + g.setColor(g.theme.fg); + g.drawLine(cx+w/2+1, 120, cx+w/2+1, 140+20); + g.drawLine(cx+w/2+2, 120, cx+w/2+2, 140+20); + g.drawLine(cx+w/2+3, 120, cx+w/2+3, 140+20); + g.drawLine(cx+w/2+4, 120, cx+w/2+4, 140+20); + g.drawString(text, cx, 140); + g.drawString(text, cx+1, 140); + g.drawString(text, cx, 141); +} + + + +function draw(){ + // Queue draw in one minute + queueDraw(); + + + g.reset(); + g.clearRect(0, 0, g.getWidth(), g.getHeight()); + + g.setColor(1,1,1); + drawBackground(); + drawDate(); + drawSteps(); + drawTime(); + drawCircle(Bangle.isLocked()); +} + + +/* + * Listeners + */ +Bangle.on('lcdPower',on=>{ + if (on) { + draw(true); + } else { // stop draw timer + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = undefined; + } +}); + +Bangle.on('lock', function(isLocked) { + drawCircle(isLocked); +}); + + +/* + * Some helpers + */ +function queueDraw() { + if (drawTimeout) clearTimeout(drawTimeout); + drawTimeout = setTimeout(function() { + drawTimeout = undefined; + draw(); + }, 60000 - (Date.now() % 60000)); +} + + + +/* + * Lets start widgets, listen for btn etc. + */ +// Show launcher when middle button pressed +Bangle.setUI("clock"); +Bangle.loadWidgets(); +/* + * we are not drawing the widgets as we are taking over the whole screen + * so we will blank out the draw() functions of each widget and change the + * area to the top bar doesn't get cleared. + */ +for (let wd of WIDGETS) {wd.draw=()=>{};wd.area="";} + +// Clear the screen once, at startup and draw clock +g.setTheme({bg:"#fff",fg:"#000",dark:false}).clear(); +draw(); + +// After drawing the watch face, we can draw the widgets +// Bangle.drawWidgets(); diff --git a/apps/aiclock/aiclock.icon.js b/apps/aiclock/aiclock.icon.js new file mode 100644 index 000000000..06565b50f --- /dev/null +++ b/apps/aiclock/aiclock.icon.js @@ -0,0 +1 @@ +atob("ADAwhAT///////////////////////////////////////////////////////////////8RERERERERERERERERERERERERERERERH///////////////////////////////////////////////////////////////8RERERERMzMzMzMzMzMzMzMzMhERERERH////////yH/8zP/I///////8h///////////////yAjAAA/A/Mz/zEBMh//////////////8TEDAT//DzAQEwIxAh//////8RERERESMvMBMQHzDwPzAgIQEgERERERH/////////IQPzAiEw//EiEhIh////////////////EgH/EhLwEyA//xIh//////8zMzMzM///PyAgHwPzERP//xIhMzMzMzMRERERES////AD/z///////yIgERERERH///////////IC//////////8z//////8zMzMzMzMzMzMQMzMzMzMzMzMzMzMzMzMRERERERESEREgERERERERERERERERERH///////8QE//xA/////////////////////////8QAC/zAf////////////////8RERERERESEAAiEBEREREREREREREREREzMzMzMzMz8gABIAIjMzMzMzMzMzMzMzP///////////IAAQAAL/////////////8zMzMzMzMzMzMgAAXAAjMzMzMzMzMzMzMiIiIiIiIiIiIiIFzMASIiIiIiIiIiIiIiIiIiIiIiIiIiIMzMASIiIiIiIiIiIiIiIiIiIiIiIiIiIAzFAiIiIiIiIiIiIiIzMzMzMzMzMzMzMQAAAzMzMzMzMzMzMzMiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIRERERERERERERERERERERERERERERERH///////////////////////////////8iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiL///////////////////////8///////8iIiIiIiP////zM//zM/////MCIiIiIiIiIiIiIiMz//PxABMwACM//zMCIiIiIiIzMzMzMz8h/zH//xL//wIf8wMDMzMzMzMiIiIiIiMh/zH//xL//wIf8wMCIiIiIiIRERERERIh/yH//xL//wIf8wMBERERERH////////xAAMwAB8wAB8gACMf/////////////////zES/////wP/8wMf//////8RERERERL//zES/////wP/8wMBERERERH//////////zES/////wP/8wMf//////8RERERERP///MwAC8wAC///zMBERERERH///////////////////////Mf//////8iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzP///////////////////////////////8RERERERERERERERERERERERERERERERE=") \ No newline at end of file diff --git a/apps/aiclock/aiclock.png b/apps/aiclock/aiclock.png new file mode 100644 index 0000000000000000000000000000000000000000..184abbb4f24a091c229d1d3be0398e43a7799e40 GIT binary patch literal 2026 zcmVubx)%T+0AG#X@C1|TCNgQB7$9z1w}Ua#l#=g%}YHUc1oVA7;X=yW=^ zZ{N;_4I7v{cdlweRaI5^`}^tSbrpq$g#r*sNlBu-yj;<3X=xFFuv)F+=FOX8`0(K( zBqT%tA~7*h)YsPwA0Ho)mzO8ZX0w6<%bNTS$13^JSw6?Zlv)Pz2V+N8W;p^**x3@R4EOYqq zVN50yk&%(evdo-0bCkg{8jb24aEN_B6ciM&X3ZK(OG`O=^e8iD&Sd7ynM|KPovyAf zDl02lvSbNk$BspkB+}El7gR~pJMOf!-s?7p{=T_0>17ZeT(o% zZM|O4gb5Rr7mY?Eo}Qj`b#;-MnaQbBr^w04As`@tEnBvbo14py9Xl8^W(*fDT;R~5 zL!_mp;pOGU_3PIMkncldVFF=fgW04`pr2m`Jrl}wsF|`Kw0nDdS+{N-b#--=mX_k~?mj3xgKDb{ zp+3~s*0OBbGG4xXIY1s37Dj4nD&gVbczb&z{;eyPqf;Ci87X907Hik871h<%1D+)( zCksGaxpKu(vxA1iCvjX{oX~2u0uVZ#PVC>mU$nNi3L%83t*sTVuC5{^Bt+P3w%TL&m_2(oiHV71Wo4n!XxO!D7XSeP0gN9%-g&J1<5#Ef)vH%x z+qP}O&CN{!LXspgb?Q_BD1XC;4;M#{91*>}z0Qc50g%q0Kkt<7!fZBk>Cz<{8ym6P z?YIG1fDXt8{sUxZXES!}SZ8#nKst8pnA7&V(W6K6`t@rL9XiBGAoZKv0{HTEtBr|? zaaMN#XkA=foMx<}ql0(v-T_}nz7KtEjYfkr`vcI98a2wP2ItM2M}B@j+5h~*BEFJ8 z@aXeiF^PwVaN?NoyROP4OCxVRYKeliaa4eak``xb!d)2DOl)G1_HX7S?1ijB2v*OHo=N<%{fD_5=r;N!=Sl$4a9*XxmG z*`dSEp@U4P({c6cRZJ$6;=uj;_sP%CCn6$(r%#_Mx=Be%6crVbk&!`bYpWvn_V&id z$A|pVTUf5s6`+S1Ze)yjSK z%C4?1WmMbS+m%YP)oP`;w^z||adDxir-!z-wgJRtS;lU+D>mBN+7ufd9UVBr$>D^i zrKLs0#Kb7c%E*x;MR9Slc>MUW@bvUl(vWqO!7bKytHg-8#|S+$?tQ-aSB` zlanKE-@YvZ0s95QY&K!D*+gMsp@@u(6j4!8A}=pbk=yNdA%qaUy}gRe zX0r(|FE3#>n}ywOS7a3x6=KYoG2-^^+rr=9-ytrl%j*E?>FI3TxDi>Fm9I5@|NGkC zf0+3GV?|%QYcv|=X4*gbw^%HyOY1O*^7`+9=(nJKeSL9+lN1#drTQe^v}qG-)~p#I zYi@3)v$K=7wl-F*SfMP~&6_uK`t)h4s;UNz=)r>rIdI^>fSsqky`B2{daPC}adB~k zhli_opsA@zwF7#+9-U72)8}vBzQu0017Gvw5hF&>-Q7(~ON*j2Zrr#5Vb>pJWo2Y! zWN`WNWwn%$_Uzg7*W85$1MQL}Oa3&6U&3E?8yyUW{Et2U3$j-Os{yTcApigX07*qo IM6N<$f&q`;egFUf literal 0 HcmV?d00001 diff --git a/apps/aiclock/impl.png b/apps/aiclock/impl.png new file mode 100644 index 0000000000000000000000000000000000000000..76bf8455e6a7c0b32705dabee571bfa177dc5810 GIT binary patch literal 2553 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 F{x3|in`Hn1 literal 0 HcmV?d00001 diff --git a/apps/aiclock/metadata.json b/apps/aiclock/metadata.json new file mode 100644 index 000000000..8a22a4050 --- /dev/null +++ b/apps/aiclock/metadata.json @@ -0,0 +1,20 @@ +{ + "id": "aiclock", + "name": "AI Clock", + "shortName":"AI Clock", + "icon": "aiclock.png", + "version":"0.01", + "readme": "README.md", + "supports": ["BANGLEJS2"], + "description": "A watch face generated by an AI (stable diffusion) and implemented by a human.", + "type": "clock", + "tags": "clock", + "screenshots": [ + {"url":"orig.png"}, + {"url":"impl.png"} + ], + "storage": [ + {"name":"aiclock.app.js","url":"aiclock.app.js"}, + {"name":"aiclock.img","url":"aiclock.icon.js","evaluate":true} + ] +} diff --git a/apps/aiclock/orig.png b/apps/aiclock/orig.png new file mode 100644 index 0000000000000000000000000000000000000000..00982645454d5609864f7d3aafa2e3a685e946e7 GIT binary patch literal 50612 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