droidsembly 0.0.0-stage → 0.4.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.it.md +184 -0
- package/README.md +184 -3
- package/bin/cubefarm.js +297 -0
- package/bin/distribution.d.ts +3 -0
- package/bin/distribution.js +48 -0
- package/dist/THIRD_PARTY_LICENSES.txt +2542 -0
- package/dist/assets/AccessibilitySettings-DSmFk9JC.js +30 -0
- package/dist/assets/AccessibilitySettings-HrzBDUTN.css +1 -0
- package/dist/assets/AppViewer-alNn4TBB.js +5 -0
- package/dist/assets/Balloon-UTs7npGo.js +1 -0
- package/dist/assets/Batched-BOgjreKO.js +45 -0
- package/dist/assets/Birds-BA2HM-AD.js +1 -0
- package/dist/assets/Blimp-CTykuz6B.js +1 -0
- package/dist/assets/BufferGeometryUtils-BsmWvcA2.js +1 -0
- package/dist/assets/Duck-DH63jUrP.js +1 -0
- package/dist/assets/Effects-CNyhhFkE.js +65 -0
- package/dist/assets/Fireworks-CJfDJOeb.js +33 -0
- package/dist/assets/Helicopter-CW_SP7xP.js +1 -0
- package/dist/assets/Hurricane-9WqZGyZg.js +33 -0
- package/dist/assets/Kaiju-SpSi_jBg.js +1 -0
- package/dist/assets/Meteors-DvjhLfbF.js +1 -0
- package/dist/assets/MissionConsole-BEP5CdC8.js +1 -0
- package/dist/assets/Office-BBnd6tyn.js +563 -0
- package/dist/assets/Office-DMOP02gg.css +1 -0
- package/dist/assets/PhotoPanel-DehErnsv.js +1 -0
- package/dist/assets/PhotoPanel-v4ANHBsO.css +1 -0
- package/dist/assets/PhotoScene-Ce-dzToM.js +115 -0
- package/dist/assets/Plane-0nfvzL_c.js +1 -0
- package/dist/assets/Pocket-CBoyL0ra.js +2 -0
- package/dist/assets/Rainbow-CdcWsmW8.js +28 -0
- package/dist/assets/Roof-mkMKniSZ.js +34 -0
- package/dist/assets/Shell-BmnZn4UL.js +13 -0
- package/dist/assets/Skywriting-06dZPAfg.js +1 -0
- package/dist/assets/TerminalView-BrP-ENHg.css +1 -0
- package/dist/assets/TerminalView-wlhSixSH.js +17 -0
- package/dist/assets/ToyWorld-Cuu9aW-K.js +1 -0
- package/dist/assets/Ufo-iHaoe5t1.js +1 -0
- package/dist/assets/Whale-DZg88zIX.js +1 -0
- package/dist/assets/all-CYErCTCA.js +11 -0
- package/dist/assets/billboardLayout-DSKGXPIM.js +1 -0
- package/dist/assets/bloomMarks-DariC6lY.js +4231 -0
- package/dist/assets/cheerRules-CZGSrxOB.js +1 -0
- package/dist/assets/cityLayout-7ckfe3wf.js +1 -0
- package/dist/assets/director-CrzFgnoP.js +1 -0
- package/dist/assets/dogState-DiOvoobI.js +1 -0
- package/dist/assets/doors-BHKj8tkO.js +1 -0
- package/dist/assets/gallery-ColCPQQE.js +1 -0
- package/dist/assets/gate-BplJKcLG.js +2 -0
- package/dist/assets/index-B6qvKFYN.js +10 -0
- package/dist/assets/index-COpmc42S.css +1 -0
- package/dist/assets/instantReplay-DGiLgvkQ.js +1 -0
- package/dist/assets/interact-0qw7BGhL.js +1 -0
- package/dist/assets/jsx-runtime-BFUkm7bt.js +1 -0
- package/dist/assets/jukeboxSongs-CjbAzAeb.js +1 -0
- package/dist/assets/kit-C6ByUQ-Y.js +2 -0
- package/dist/assets/mic-B316hcCe.js +1 -0
- package/dist/assets/news-CrPol-gz.js +1 -0
- package/dist/assets/paint.worker-D95XJ3xX.js +1 -0
- package/dist/assets/photoMode-CYxQfgUF.js +1 -0
- package/dist/assets/pipeline-BOTOZ69L.js +1215 -0
- package/dist/assets/rapier-CXAOW8OC.js +1 -0
- package/dist/assets/rig-wAyl3G1G.js +1 -0
- package/dist/assets/speechLanguage-BtfdhZNI.js +1 -0
- package/dist/assets/store-FA83kfnc.js +5 -0
- package/dist/assets/useDayTime-0XsqM14Q.js +1 -0
- package/dist/assets/useGraphics-Cif18p7Q.js +1 -0
- package/dist/assets/voiceMessages-DtNmUazr.js +1 -0
- package/dist/assets/weatherState-ExG1doW-.js +1 -0
- package/dist/icons/Sora-OFL.txt +93 -0
- package/dist/icons/apple-touch-icon.png +0 -0
- package/dist/icons/badge-96.png +0 -0
- package/dist/icons/badge.svg +1 -0
- package/dist/icons/droid-antenna.svg +29 -0
- package/dist/icons/droid-eyes.svg +29 -0
- package/dist/icons/droid-shell.svg +29 -0
- package/dist/icons/droid-spark.svg +29 -0
- package/dist/icons/droid-wire.svg +29 -0
- package/dist/icons/favicon-16.png +0 -0
- package/dist/icons/favicon-32.png +0 -0
- package/dist/icons/favicon.svg +1 -0
- package/dist/icons/icon-192.png +0 -0
- package/dist/icons/icon-512.png +0 -0
- package/dist/icons/icon-maskable-512.png +0 -0
- package/dist/icons/icon.svg +29 -0
- package/dist/icons/logo-dark.svg +29 -0
- package/dist/icons/logo-light.svg +29 -0
- package/dist/icons/sora-400.ttf +0 -0
- package/dist/icons/sora-700.ttf +0 -0
- package/dist/index.html +26 -0
- package/dist/manifest.webmanifest +19 -0
- package/dist/third-party-licenses.json +1106 -0
- package/dist-server/browser-init.js +24 -0
- package/dist-server/index.js +20049 -0
- package/dist-server/index.js.map +7 -0
- package/dist-server/ptyHost.js +234 -0
- package/dist-server/ptyHost.js.map +7 -0
- package/package.json +98 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,i as t,r as n,s as r,u as i}from"./jsx-runtime-BFUkm7bt.js";import{f as a}from"./bloomMarks-DariC6lY.js";var o=i(r(),1),s=[`cycle`,`clock`,`day`],c=`cycle`,l=18e5,u=.6,d=.25,f=.75,p=[[0,0],[2.75,.2],[4.75,.28],[23.75,.7],[25.75,.76],[27.25,.8],[30,1]],m=e=>e-Math.floor(e),h=e=>Math.min(1,Math.max(0,e)),g=(e,t,n)=>{let r=h((n-e)/(t-e));return r*r*(3-2*r)};function _(e){let t=e/6e4;for(let e=1;e<p.length;e++){let[n,r]=p[e];if(t<=n){let[i,a]=p[e-1];return a+(t-i)/(n-i)*(r-a)}}return 0}function v(e,t){if(t===`day`)return u;if(t===`clock`){let t=new Date(e);return m((t.getHours()*3600+t.getMinutes()*60+t.getSeconds()+t.getMilliseconds()/1e3)/86400)}return m(_((e%l+l)%l))}var y=.45;function b(e,t=[0,0,0]){let n=2*Math.PI*(e-d);return t[0]=Math.cos(n),t[1]=Math.sin(n)*Math.cos(y),t[2]=Math.sin(n)*Math.sin(y),t}function x(e){return g(.24,.3,Math.abs(m(e)-.5))}var S={zenith:857656,horizon:2503787,fog:1910864,sunColor:9414399,sunIntensity:.25,hemiSky:4872858,hemiGround:2761792,ambient:.22,exposure:.9,starsOpacity:1,cityLights:1},C={zenith:9226997,horizon:12575743,fog:15985890,sunColor:16777215,sunIntensity:1.55,hemiSky:16775920,hemiGround:10783338,ambient:.18,exposure:1,starsOpacity:0,cityLights:0},w=[[0,S],[.2,{...S,horizon:2898548}],[.235,{zenith:2372462,horizon:6976176,fog:5133712,sunColor:16751226,sunIntensity:.35,hemiSky:7305400,hemiGround:3813448,ambient:.2,exposure:.92,starsOpacity:.5,cityLights:.7}],[.27,{zenith:7311312,horizon:16757920,fog:15778996,sunColor:16757898,sunIntensity:.8,hemiSky:16769232,hemiGround:8021344,ambient:.18,exposure:.96,starsOpacity:0,cityLights:.15}],[.33,{zenith:8831216,horizon:13625087,fog:15789030,sunColor:16773600,sunIntensity:1.35,hemiSky:16774894,hemiGround:10258032,ambient:.18,exposure:1,starsOpacity:0,cityLights:0}],[.5,{zenith:8176375,horizon:12904191,fog:15920870,sunColor:16777215,sunIntensity:1.65,hemiSky:16776436,hemiGround:10783338,ambient:.18,exposure:1,starsOpacity:0,cityLights:0}],[u,C],[.71,{zenith:8366304,horizon:16763016,fog:16176816,sunColor:16760944,sunIntensity:1.35,hemiSky:16770752,hemiGround:10122328,ambient:.18,exposure:1.02,starsOpacity:0,cityLights:0}],[f,{zenith:6254520,horizon:16751210,fog:15902858,sunColor:16747088,sunIntensity:.9,hemiSky:16758944,hemiGround:7229536,ambient:.19,exposure:1,starsOpacity:0,cityLights:.25}],[.775,{zenith:2767488,horizon:8022712,fog:5921430,sunColor:11575551,sunIntensity:.35,hemiSky:8026816,hemiGround:3813456,ambient:.21,exposure:.94,starsOpacity:.35,cityLights:.8}],[.81,S],[1,S]],T=(e,t,n)=>e+(t-e)*n;function E(e,t,n){let r=r=>Math.round(T(e>>r&255,t>>r&255,n));return r(16)<<16|r(8)<<8|r(0)}var D=[`zenith`,`horizon`,`fog`,`sunColor`,`hemiSky`,`hemiGround`],O=[`sunIntensity`,`ambient`,`exposure`,`starsOpacity`,`cityLights`];function k(e,t={}){let n=m(e),r=1;for(;r<w.length-1&&w[r][0]<=n;)r++;let[i,a]=w[r-1],[o,s]=w[r],c=g(i,o,n);for(let e of D)t[e]=E(a[e],s[e],c);for(let e of O)t[e]=T(a[e],s[e],c);return t}function A(e){let t=new URLSearchParams(e).get(`daytime`);if(t===null||t.trim()===``)return null;let n=Number(t);return!Number.isFinite(n)||n<0||n>1?null:m(n)}function j(e){return s.includes(e)?e:c}var M=`cubefarm:daytime`,N=6e4;function P(){try{return j(localStorage.getItem(M))}catch{return c}}function F(){try{return A(window.location.search)}catch{return null}}var I={t:0,mode:P(),frozen:F()};function L(e=Date.now()){let t=n();return I.t=I.frozen??(t===null?v(e,I.mode):v(t,`clock`)),I.t}L();var R=e(()=>({t:I.t,mode:I.mode}));function z(){R.setState({t:L(),mode:I.mode})}typeof window<`u`&&setInterval(z,N);function B(){let{t:e,mode:t}=R();return{clock:I,t:e,mode:t}}function V(e){I.mode=e;try{localStorage.setItem(M,e)}catch{}z()}var H=0;function U(e){t(e);let n=performance.now();(e===null||n-H>=1e3)&&(H=n,z())}var W=new Set;function G(e){let t=(0,o.useRef)(e);t.current=e,a((e,n)=>t.current(e,n)),(0,o.useEffect)(()=>(W.add(t),()=>void W.delete(t)),[])}function K(e){L();for(let t of W)t.current(e,0)}function q(){return a(()=>{L()}),null}typeof window<`u`&&(window.__swarmSky={get t(){return L()},get mode(){return I.mode},set mode(e){s.includes(e)&&V(e)},set(e){Number.isFinite(e)&&(I.frozen=e-Math.floor(e),z())},freeze(e){I.frozen=e?L():null,z()}});export{V as a,G as c,k as d,b as f,L as i,l,I as n,U as o,K as r,B as s,q as t,x as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./jsx-runtime-BFUkm7bt.js";import{Jr as t}from"./store-FA83kfnc.js";var n=[`low`,`medium`,`high`,`auto`],r=`auto`,i=[`low`,`medium`,`high`];function a(e){let t=typeof e==`string`?e.trim().toLowerCase():e;return n.includes(t)?t:r}function o(e){let t=e!==`low`,n=e===`high`;return{bloom:t,screenGlow:t,ao:n,contactShadows:n,grading:n}}var s=e=>Object.entries(o(e)).filter(([,e])=>e).map(([e])=>e),c=e=>i.indexOf(e),l=(e,t)=>c(e)>=c(t),u={downFps:50,downAfterMs:3e3,upFps:57,upAfterMs:2e4,maxUpAfterMs:32e4,failWindowMs:2e4,settleMs:2500,startMs:8e3};function d(e=`high`,t=u){return{tier:e,settle:t.startMs,slowMs:0,fastMs:0,upAfterMs:t.upAfterMs,sinceUpMs:null}}function f(e,t=u){e.settle=t.settleMs,e.slowMs=0,e.fastMs=0}function p(e,t,n,r=u){if(!Number.isFinite(t)||!Number.isFinite(n)||n<=0)return null;if(e.sinceUpMs!==null&&(e.sinceUpMs+=n,e.sinceUpMs>r.failWindowMs&&(e.sinceUpMs=null,e.upAfterMs=r.upAfterMs)),e.settle>0)return e.settle-=n,null;t<r.downFps?(e.slowMs+=n,e.fastMs=0):t>=r.upFps?(e.fastMs+=n,e.slowMs=0):(e.slowMs=0,e.fastMs=0);let a=c(e.tier);if(e.slowMs>=r.downAfterMs&&a>0){let n=e.tier,o=e.sinceUpMs!==null;return o&&(e.upAfterMs=Math.min(r.maxUpAfterMs,e.upAfterMs*2)),e.tier=i[a-1],e.sinceUpMs=null,f(e,r),{from:n,to:e.tier,reason:`${Math.round(t)} fps for ${Math.round(r.downAfterMs/1e3)}s${o?`, so the next step up waits ${Math.round(e.upAfterMs/1e3)}s`:``}`}}if(e.fastMs>=e.upAfterMs&&a<i.length-1){let n=e.tier,o=e.fastMs;return e.tier=i[a+1],e.sinceUpMs=0,f(e,r),{from:n,to:e.tier,reason:`${Math.round(t)} fps with headroom for ${Math.round(o/1e3)}s`}}return null}var m=`cubefarm:graphics`;function h(){try{return a(localStorage.getItem(m))}catch{return r}}var g=d(`high`),_=[],v=null,y=null,b=h(),x=e(()=>({preset:b,tier:b===`auto`?g.tier:b,shown:`low`,blocked:null})),S=e=>e.blocked?`low`:e.tier;function C(e){let t=a(e);try{localStorage.setItem(m,t)}catch{}t===`auto`&&x.getState().preset!==`auto`&&Object.assign(g,d(`high`)),x.setState({preset:t,tier:t===`auto`?g.tier:t})}function w(e){e&&(_.push({at:Date.now(),...e}),t(`gfx`,`${e.from} → ${e.to}`),_.length>20&&_.shift(),x.setState({tier:g.tier}))}function T(e,t){v={fps:Math.round(e*10)/10,ms:Math.round(t)};let n=x.getState();if(!(n.preset!==`auto`||n.blocked)){if(n.shown!==S(n)&&S(n)!==`low`){f(g);return}w(p(g,e,t))}}function E(){f(g)}function D(e){f(g),x.getState().shown!==e&&(t(`gfx`,`${e} effects on screen`),x.setState({shown:e}))}function O(e,t){x.getState().blocked||(console.warn(`Graphics effects are switched off: ${e}.`,t??``),x.setState({blocked:e,shown:`low`}))}function k(e){y=e}function A(){let e=x.getState(),t=S(e);return e.blocked?`${t} (effects off)`:e.preset===`auto`?`auto: ${t}`:t}typeof window<`u`&&(window.__swarmGfx={get preset(){return x.getState().preset},set preset(e){n.includes(e)&&C(e)},get tier(){return S(x.getState())},get shown(){return x.getState().shown},get effects(){return s(S(x.getState()))},get blocked(){return x.getState().blocked},get decisions(){return _.map(e=>({...e}))},get governor(){return{...g}},get fps(){return v},get pipeline(){return y},simulate(e,t){for(let n=0;n<t*1e3;n+=500)T(e,500);return S(x.getState())}});export{D as a,k as c,l as d,E as i,x as l,O as n,T as o,A as r,C as s,S as t,n as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ci as e,Di as t,Mi as n,Ni as r,Zi as i,_i as a,aa as o,ms as s,p as c,vi as l,xi as u,yi as d,ys as f}from"./store-FA83kfnc.js";import{_ as p,g as m,h,m as g}from"./index-B6qvKFYN.js";import{c as _,m as v}from"./mic-B316hcCe.js";import{t as y}from"./speechLanguage-BtfdhZNI.js";var b=[];window.__swarmVoice=b;function x(e,t,n){setTimeout(()=>{a(e.id)&&(S=l(S,{message:e,arrived:t}),E&&C?.(),j())},Math.max(0,t+n-Date.now()))}var S=[],C=null,w=!1,T=null,E=!1,D=!1;function O(e,t){T={message:e,kind:t},D=!0,C?.(),j()}function k(){D=!0,C?.()}var A=()=>{let e=n();return e.muted?0:o(e.volume)*o(e.voice)};async function j(){if(!w){w=!0;try{for(;;){if(T){let e=T;T=null,E=!0,await N(e.message,e.kind).finally(()=>E=!1);continue}let{next:e,rest:t}=d(S,Date.now());if(S=t,!e)break;await N(e.message)}}finally{w=!1,E=!1}}}var M=!1;async function N(n,r){let{settings:i,voiceKeySet:a}=c.getState(),{voiceName:o}=i.voice,s=r?r===`clip`?`elevenlabs`:`browser`:i.voice.provider;if(s===`off`)return;let l={rec:null};D=!1;let u=f(n.text),d=(e,i=1)=>{m(n.id,u,e,i),l.rec={id:n.id,provider:s,start:performance.now(),end:null,volume:A(),...r?{replay:!0}:{}},b.push(l.rec),b.length>50&&b.splice(0,b.length-50),c.setState({voiceSpeaking:n.id}),t(!0),l.unduckMusic=v()};try{if(s===`browser`)await I(u,o,()=>d(null),e=>p(n.id,e));else if(r)await P(n.id,d,!0);else if(a)await P(n.id,d);else throw Error(`no ElevenLabs key is saved`)}catch(t){if(r){l.rec||c.getState().pushToast(`info`,r===`clip`?`🔇 Audio no longer saved`:`🔇 The browser couldn't speak this message`);return}l.rec||e(),M||(M=!0,console.warn(`[voice] couldn't read message ${n.id} aloud: ${t.message}`))}finally{C=null,l.rec&&(h(n.id),l.rec.end=performance.now(),t(!1),l.unduckMusic?.(),c.setState({voiceSpeaking:null}),!r&&!D&&n.from===`ceo`&&!S.length&&!T&&_())}}async function P(e,t,n=!1){let i=!1,a=null;C=()=>{i=!0,a?.()};for(let o=0,s=1;o<s;o++){let c=await fetch(n?`/api/voice/messages/${e}?cached=1&part=${o}`:`/api/voice/messages/${e}`);if(!c.ok)throw Error(`HTTP ${c.status}`);s=Math.max(1,Number(c.headers.get(`X-Voice-Parts`))||1);let l=await c.arrayBuffer();if(i)return;let d=u(),f=r(`voice`);if(!d||!f)throw Error(`audio is unavailable`);let p=await d.ctx.decodeAudioData(l);if(i)return;let m=d.ctx.createBufferSource();if(m.buffer=p,m.connect(f),await new Promise(n=>{let r=setTimeout(()=>n(),(p.duration+2)*1e3);m.onended=()=>{clearTimeout(r),n()},a=()=>{clearTimeout(r);try{m.stop()}catch{}n()},m.start(),o===0?t(p.duration*1e3,s):g(e,o,s,p.duration*1e3)}),a=null,m.disconnect(),i)return}}async function F(e){return e.getVoices().length||await new Promise(t=>{let n=setTimeout(t,1e3);e.addEventListener(`voiceschanged`,()=>(clearTimeout(n),t()),{once:!0})}),e.getVoices()}async function I(e,t,r,a){let o=window.speechSynthesis;if(!o||typeof SpeechSynthesisUtterance>`u`)throw Error(`this browser can't speak`);if(!e)return;let l=new SpeechSynthesisUtterance(e),u=c.getState().settings.language;l.lang=s(u);let d=y(await F(o),t,u);d&&(l.voice=d,l.lang=d.lang),l.volume=A(),await new Promise((t,s)=>{let c=i(()=>n().muted&&p()),u=setTimeout(()=>p(),2e4+e.length*150),d=!1,f=e=>{d||(d=!0,clearTimeout(u),c(),e?s(Error(e)):t())},p=()=>{f(),o.cancel()};C=p,l.onstart=r,l.onboundary=e=>e.name!==`sentence`&&a(e.charIndex),l.onend=()=>f(),l.onerror=e=>f(e.error===`interrupted`||e.error===`canceled`?void 0:`speech failed: ${e.error}`),o.speak(l)})}export{O as replayMessage,x as speakMessage,k as stopSpeaking};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./jsx-runtime-BFUkm7bt.js";import{Fi as t,Ni as n,Uo as r,Vi as i,co as a,oo as o,os as s,p as c,ss as l,va as u,vo as d}from"./store-FA83kfnc.js";import{f}from"./bloomMarks-DariC6lY.js";import{n as p}from"./doors-BHKj8tkO.js";import{u as m}from"./useDayTime-0XsqM14Q.js";var h=e=>Math.min(1,Math.max(0,e)),g=(e,t,n)=>{let r=h((n-e)/(t-e));return r*r*(3-2*r)},_=(e,t,n)=>e+(t-e)*n,v=.03,y=.3,b=.4,x=14e3,S=.08,C=1.6,w=16+d;function ee(e,t,n,i){if(e===`roof`)return n>12?{level:y,clarity:b,from:{x:0,z:12}}:{level:1,clarity:1,from:null};let s=v,c=0,l=null,f=0;for(let p of o){let o=r(p),m=n>=u.minZ&&n<=u.maxZ?g(16,w+.6,o*t):0,_=o*(16+d/2),v=a[e][p].door,x=h(1-Math.hypot(Math.max(0,o*(_-t)),n-v)/8)**2,S=h(i[p])*x;s=Math.max(s,m,y*S),c=Math.max(c,m,b*S);let C=Math.max(m,S);C>f&&(f=C,l=m<1?{x:_,z:v}:null)}return{level:s,clarity:c,from:l}}var T=e=>320*(x/320)**h(e);function te(e,t=`office`){let n=m(e),r=e-Math.floor(e),i=1-g(.015,.06,Math.abs(r-.765)),a=1-g(.01,.05,Math.abs(r-.27));return{wind:_(1,.8,n)*(t===`roof`?C:1),city:h(_(.75,.45,n)+.25*i),birds:h((1-n)*(1-.6*i)+.3*a),crickets:g(.35,1,n),cityHz:_(240,120,n),carsPerMin:_(2.5,.6,n)+1.5*i}}var E={bird:2.5,car:8,cricket:1.2};function ne(e,t){return e<.05?1/0:E.bird+(1.5+8*h(t))/e}function re(e,t){return e<=0?1/0:Math.max(E.car,-Math.log(1-Math.min(h(t),.999))*60/e)}function ie(e,t){return e<.05?1/0:E.cricket+(.5+4*h(t))/e}function ae(e,t){return e+(Number.isFinite(t)?t:5)}var oe=1.6;function se(e){let t=[],n=.85+e()*.35,r=Math.floor(e()*4);if(r===0){let r=2+Math.floor(e()*3),i=.12+e()*.08;for(let a=0;a<r;a++)t.push({at:a*i,dur:.06+e()*.03,from:2600*n,to:3900*n,peak:.8+e()*.2})}else if(r===1)t.push({at:0,dur:.18,from:3100*n,to:3500*n,peak:.8}),t.push({at:.24+e()*.06,dur:.3,from:3400*n,to:2300*n,peak:1});else if(r===2){let r=6+Math.floor(e()*6);for(let e=0;e<r;e++){let i=(4200+e%2*300)*n;t.push({at:e*.06,dur:.035,from:i,to:i*.92,peak:.55+.45*(1-e/r)})}}else{let r=3+Math.floor(e()*3);for(let i=0,a=0;i<r;i++){let r=(2800+e()*1600)*n,i=.07+e()*.06;t.push({at:a,dur:i,from:r,to:r*(.85+e()*.35),peak:.7+e()*.3}),a+=i+.03+e()*.06}}return t}function ce(e){let t=[],n=.45+e()*.3,r=3+Math.floor(e()*2),i=Math.floor((2.5+e()*3)/n);for(let a=0;a<i;a++){let i=.6+e()*.4;for(let e=0;e<r;e++)t.push({at:a*n+e*.04,dur:.022,from:0,to:0,peak:i})}return t.filter(e=>e.at+e.dur<=6)}var D=e=>Math.min(1,Math.max(0,e)),O={level:.32,clarity:.42},le={level:.6,clarity:.2};function k(e){return{level:Math.max(e.level,O.level),cutoff:T(Math.max(e.clarity,O.clarity))}}function A(e){return{level:Math.max(e.level,le.level),cutoff:T(Math.max(e.clarity,le.clarity))}}function j(e){return{rain:D(e.rain),patter:D(e.rain*1.6)*(1-.35*D(e.rain)),gust:D(e.wind*(.4+.6*e.storm)*e.cloud*1.2),hush:D(e.snow)}}function M(e,t,n,r){e.fill(0);let i=Math.round(e.length/t*n);for(let n=0;n<i;n++){let n=Math.floor(r()*e.length),i=t*(.002+r()*.006),a=.25+r()*.75,o=Math.min(Math.floor(i*5),e.length),s=0;for(let t=0;t<o;t++){let o=r()*2-1;s=s*.35+o*.65,e[(n+t)%e.length]+=s*a*Math.exp(-t/i)}}let a=0;for(let t=0;t<e.length;t++)a=Math.max(a,Math.abs(e[t]));if(a>1)for(let t=0;t<e.length;t++)e[t]/=a;return e}var ue=100,N={rain:.05,patter:.035,gust:.06,hush:.012,thunder:.32},de=1.5,P=null,F=null,fe=`office`,I=null,L=!1,R=0,z={level:0,clarity:0,from:null},B=!1,V={rain:-1,patter:-1,rainLevel:-1,rainCut:-1,gust:-1,hush:-1,airLevel:-1,airCut:-1,thunderLevel:-1,thunderCut:-1},pe={west:0,east:0};function me(e,t){fe=e,I=t,F||=setInterval(H,ue),H()}function he(){if(F&&clearInterval(F),F=null,I=null,P)for(let e of[P.rainLevel,P.airLevel])be(e.gain,0,.3);for(let e of Object.keys(V))V[e]=-1;B&&i(`weather:rain`,{group:`outside`,peak:0,played:!1}),B=!1,setTimeout(()=>{!F&&P&&W(P,!1)},1500)}function ge(e){e!==L&&(L=e,F&&H())}function _e(e,t,r){let a=L||typeof document<`u`&&document.hidden||!F,o=A(z),s=a?null:n(`outside`),c=s?ve(s):null;if(i(`weather:thunder`,{group:`outside`,peak:N.thunder*t*o.level,pan:r*.4,played:!!c}),c)try{W(c,!0),R=0;let n=c.ctx,i=n.currentTime+Math.max(0,e),a=n.createBufferSource();a.buffer=c.noise,a.loop=!0;let o=n.createBiquadFilter();o.type=`lowpass`,o.Q.value=.8;let s=n.createGain(),l=typeof n.createStereoPanner==`function`?n.createStereoPanner():null,u=4+3*(1-t)+Math.random()*2;o.frequency.setValueAtTime(t>.6?2600:900,i),o.frequency.exponentialRampToValueAtTime(320,i+.35),o.frequency.exponentialRampToValueAtTime(110,i+u);let d=N.thunder*t;s.gain.setValueAtTime(1e-4,i),s.gain.exponentialRampToValueAtTime(d*(t>.6?1:.55),i+(t>.6?.03:.25));let f=i+.4;for(let e=0;e<4;e++)f+=.3+u/5*Math.random(),s.gain.exponentialRampToValueAtTime(d*(.25+Math.random()*.5)*(1-e*.18),Math.min(f,i+u-.3));s.gain.exponentialRampToValueAtTime(1e-4,i+u),l&&l.pan.setValueAtTime(r*.4,i),a.connect(o).connect(s),(l?s.connect(l):s).connect(c.thunderMuffle),a.start(i,Math.random()),a.stop(i+u+.1)}catch{}}function H(){let e=t();for(let e of o)pe[e]=p(e);z=ee(fe,e.x,e.z,pe);let r=L||document.hidden||!I,a=I?.(),s=a?j(a):{rain:0,patter:0,gust:0,hush:0},c=!r&&(s.rain>.005||s.gust>.005||s.hush>.005),l=c||(P?.hooked??!1)?n(`outside`):null,u=l?ve(l):null;if(u){R=c?0:R+ue/1e3,W(u,R<de);let e=k(z),t=A(z);U(u.rain.gain,`rain`,N.rain*s.rain,1.5),U(u.patter.gain,`patter`,N.patter*s.patter,1.5),U(u.rainLevel.gain,`rainLevel`,r?0:e.level,.35),U(u.rainMuffle.frequency,`rainCut`,e.cutoff,.3,!0),U(u.gust.gain,`gust`,N.gust*s.gust,2),u.gustDepth.gain.value=N.gust*s.gust*.6,U(u.hush.gain,`hush`,N.hush*s.hush,2),U(u.airLevel.gain,`airLevel`,r?0:z.level,.35),U(u.airMuffle.frequency,`airCut`,e.cutoff*.5+200,.3,!0),U(u.thunderLevel.gain,`thunderLevel`,r?0:t.level,.35),U(u.thunderMuffle.frequency,`thunderCut`,t.cutoff,.3,!0)}let d=c&&s.rain>.05&&!!u;d!==B&&(B=d,i(`weather:rain`,{group:`outside`,peak:N.rain*s.rain*k(z).level,played:B}))}function U(e,t,n,r,i=!1){let a=V[t];a>=0&&(i?Math.abs(n/Math.max(a,1e-6)-1)<.03:Math.abs(n-a)<5e-4)||(V[t]=n,be(e,n,r))}function ve(e){if(P?.ctx===e.context&&P.out===e)return P;try{P=ye(e.context,e);for(let e of Object.keys(V))V[e]=-1;return P}catch{return null}}function ye(e,t){let n=0,r=e=>(n++,e),i=t=>{let n=r(e.createGain());return n.gain.value=t,n},a=(t,n,i)=>{let a=r(e.createBiquadFilter());return a.type=t,a.frequency.value=n,a.Q.value=i,a},o=(t,n)=>{let i=r(e.createBufferSource());return i.buffer=t,i.loop=!0,i.start(0,n),i},s=t=>{let n=r(e.createOscillator());return n.frequency.value=t,n.start(),n},c=e.createBuffer(1,e.sampleRate*2,e.sampleRate),l=c.getChannelData(0);for(let e=0;e<l.length;e++)l[e]=Math.random()*2-1;let u=e.createBuffer(1,e.sampleRate*3,e.sampleRate);M(u.getChannelData(0),e.sampleRate,38,Math.random);let d=i(1),f=a(`lowpass`,2e3,.5),p=i(0);f.connect(p).connect(d);let m=i(0);o(c,.3).connect(a(`highpass`,450,.5)).connect(a(`lowpass`,6500,.4)).connect(m).connect(f);let h=i(0);o(u,0).connect(a(`bandpass`,3200,.6)).connect(h).connect(f);let g=a(`lowpass`,1200,.5),_=i(0);g.connect(_).connect(d);let v=a(`bandpass`,520,1.4),y=i(0);o(c,1.1).connect(v).connect(y).connect(g);let b=i(0);s(.13).connect(b).connect(y.gain);let x=i(240);s(.07).connect(x).connect(v.frequency);let S=i(0);o(c,.7).connect(a(`bandpass`,2600,.35)).connect(S).connect(g);let C=a(`lowpass`,900,.5),w=i(0);return C.connect(w).connect(d),{ctx:e,out:t,hooked:!1,tail:d,rain:m,patter:h,rainMuffle:f,rainLevel:p,gust:y,gustDepth:b,hush:S,airMuffle:g,airLevel:_,thunderMuffle:C,thunderLevel:w,noise:c,nodes:n}}function W(e,t){if(t!==e.hooked)try{t?e.tail.connect(e.out):e.tail.disconnect(),e.hooked=t}catch{}}function be(e,t,n){try{let r=P?.ctx.currentTime??0;e.cancelScheduledValues(r),e.setTargetAtTime(t,r,n)}catch{}}typeof window<`u`&&!Object.getOwnPropertyDescriptor(window,`__swarmWeatherSfx`)&&Object.defineProperty(window,"__swarmWeatherSfx",{get:()=>{let e=I?.();return{running:F!==null,quiet:L||document.hidden,layers:e?j(e):null,rain:k(z),thunder:A(z),nodes:P?.nodes??0,hooked:P?.hooked??!1}},enumerable:!1,configurable:!1});var G=[`cloud`,`rain`,`snow`,`fog`,`storm`,`wind`],K=()=>({cloud:0,rain:0,snow:0,fog:0,storm:0,wind:0}),xe={clear:K(),cloudy:{cloud:.7,rain:0,snow:0,fog:.05,storm:0,wind:.35},"light-rain":{cloud:.8,rain:.35,snow:0,fog:.15,storm:0,wind:.35},"heavy-rain":{cloud:.95,rain:1,snow:0,fog:.3,storm:0,wind:.6},storm:{cloud:1,rain:.9,snow:0,fog:.25,storm:1,wind:1},fog:{cloud:.45,rain:0,snow:0,fog:1,storm:0,wind:.05},snow:{cloud:.85,rain:0,snow:1,fog:.35,storm:0,wind:.25}},q=e=>Math.min(1,Math.max(0,e)),J=(e,t,n)=>e+(t-e)*n,Se=(e,t,n)=>{let r=q((n-e)/(t-e));return r*r*(3-2*r)};function Ce(e,t=1,n=0,r=K()){let i=xe[e],a=.35+.65*q(t);return r.cloud=i.cloud*(.75+.25*a),r.fog=i.fog*(e===`fog`?.6+.4*a:1),r.rain=i.rain*a,r.snow=i.snow*a,r.storm=i.storm*a,r.wind=Math.max(i.wind,q(n)),r}function we(e,t,n,r=20){let i=n/r,a=!1;for(let n of G){let r=t[n]-e[n];r!==0&&(e[n]=Math.abs(r)<=i?t[n]:e[n]+Math.sign(r)*i,a=!0)}return a}var Te=e=>G.every(t=>e[t]<.002),Ee=e=>q(e.cloud*.55+e.rain*.25+e.storm*.35+e.snow*.15+e.fog*.2),De=e=>q(e.cloud*.9+e.storm*.1+e.fog*.4),Oe={clear:[[`clear`,5],[`cloudy`,3],[`fog`,.5]],cloudy:[[`clear`,4],[`cloudy`,1.5],[`light-rain`,2],[`fog`,.5],[`snow`,1]],"light-rain":[[`cloudy`,3],[`light-rain`,1],[`heavy-rain`,1.2]],"heavy-rain":[[`light-rain`,3],[`storm`,1.3],[`cloudy`,.7]],storm:[[`heavy-rain`,2],[`light-rain`,2]],fog:[[`clear`,2],[`cloudy`,3]],snow:[[`cloudy`,3],[`snow`,1.5]]},ke={clear:[15,40],cloudy:[10,25],"light-rain":[6,15],"heavy-rain":[4,10],storm:[3,7],fog:[8,18],snow:[10,25]},Ae=e=>e===11||e===0||e===1;function je(e){let t=e>>>0;return()=>{t=t+1831565813>>>0;let e=t;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}function Me(e,t){let n=t*e.reduce((e,[,t])=>e+t,0);for(let[t,r]of e)if(n-=r,n<0)return t;return e[e.length-1][0]}function Ne(e,t,n,r,i=864e5){let a=je(e*1e4+(t+1)*100+n),o=[],s=a()<.7?`clear`:`cloudy`,c=r;for(;c<r+i;){let[e,n]=ke[s],r=e+a()*(n-e),i=s===`clear`||s===`cloudy`?1:.45+a()*.55;o.push({kind:s,intensity:i,from:c,until:c+r*6e4}),c+=r*6e4,s=Me(Oe[s].filter(([e])=>e!==`snow`||Ae(t)),a())}return o}function Pe(e){let t=new Date(e),n=new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),r=new Date(t.getFullYear(),t.getMonth(),t.getDate()+1).getTime(),i=Ne(t.getFullYear(),t.getMonth(),t.getDate(),n,r-n);return i.find(t=>e<t.until)??i[i.length-1]}var Fe={rain:`heavy-rain`,rainy:`heavy-rain`,heavy:`heavy-rain`,drizzle:`light-rain`,light:`light-rain`,showers:`light-rain`,cloud:`cloudy`,clouds:`cloudy`,overcast:`cloudy`,thunder:`storm`,thunderstorm:`storm`,lightning:`storm`,foggy:`fog`,mist:`fog`,snowy:`snow`,sun:`clear`,sunny:`clear`};function Ie(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase().replace(/_/g,`-`);return s.includes(t)?t:Fe[t]??null}var Le=e=>Ie(new URLSearchParams(e).get(`weather`)),Re=e=>((e>>16&255)*.299+(e>>8&255)*.587+(e&255)*.114)/255;function Y(e,t,n){let r=Re(e),i=(i,a)=>{let o=(e>>i&255)/255;return Math.round(q(J(o,r*a,t)*n)*255)};return i(16,.96)<<16|i(8,.99)<<8|i(0,1.05)}function ze(e,t,n){let r=r=>Math.round(J(e>>r&255,t>>r&255,n));return r(16)<<16|r(8)<<8|r(0)}function Be(e,t){let n=q(t.cloud*.8+t.rain*.15+t.storm*.2),r=1-.18*t.cloud-.12*t.rain-.25*t.storm;return e.zenith=Y(e.zenith,n*.85,r*(1-.1*t.cloud)),e.horizon=Y(e.horizon,n*.8,r),e.fog=Y(e.fog,Math.max(n,t.fog)*.85,r*(1+.04*t.fog)),e.horizon=ze(e.horizon,e.fog,t.fog*.85),e.zenith=ze(e.zenith,e.fog,t.fog*.55),e.sunColor=Y(e.sunColor,n*.6,1),e.sunIntensity*=Math.max(.05,1-.85*n-.15*t.fog),e.hemiSky=Y(e.hemiSky,n*.6,1-.12*n),e.hemiGround=Y(e.hemiGround,n*.4,1-.1*n),e.starsOpacity*=1-De(t),e.exposure*=1-.06*n,e.cityLights=Math.max(e.cityLights,.45*Ee(t)*(1-e.cityLights)),e}function Ve(e,t=[0,0]){let n=q(e.fog+e.rain*.35+e.snow*.4+e.storm*.2);return t[0]=J(40,6,n),t[1]=J(500,120,n),t}function He(e,t){return e.birds*=(1-Se(.03,.3,t.rain+t.storm))*(1-.8*t.snow)*(1-.6*t.fog),e.crickets*=1-Se(.05,.4,t.rain+t.snow+t.storm),e.wind*=1+1.6*t.wind*t.cloud,e.city*=1-.6*t.snow-.25*t.fog,e.carsPerMin*=1-.5*t.snow,e}function Ue(e,t,n){return t>.05?Math.min(1,e+n*t*.03):Math.max(0,e-n/240)}function We(e,t,n,r){return t>.05?Math.min(1,e+r*t*.012):Math.max(0,e-r*(1+n*4)/300)}function Ge(e,t){return e<.3?1/0:4+(6+16*q(t))/e}function Ke(e){if(e<0||e>.9)return 0;let t=(t,n,r)=>r*Math.max(0,1-Math.abs(e-t)/n);return q((e<.03?e/.03:Math.exp(-(e-.03)*14))+t(.18,.07,.75)+t(.42,.09,.45))}var qe=e=>1+3*q(e);function Je(){try{return Le(window.location.search)}catch{return null}}var X={mix:K(),target:K(),kind:`clear`,intensity:0,source:`cycle`,active:!1,version:0,clock:0,flash:0,flashAt:-10,nextFlash:1/0,boltSide:1,boltSeed:0,flashHold:null,wet:0,snow:0,url:Je(),probe:null,event:null,spell:null},Z=e(()=>({active:!1,kind:`clear`,source:`cycle`})),Ye=()=>Z();function Xe(e){X.event=e}var Q={kind:`clear`,intensity:0,wind:0,source:`cycle`};function $(e,t,n,r){return Q.kind=e,Q.intensity=t,Q.wind=n,Q.source=r,Q}function Ze(e){if(X.probe)return $(X.probe,1,0,`probe`);if(X.event)return $(X.event.kind,1,X.event.wind,`event`);if(X.url)return $(X.url,1,0,`url`);let t=c.getState(),n=t.settings.weather?.mode??`cycle`;if(n===`off`)return $(`clear`,0,0,`off`);if(n===`real`){let n=l(t.weather,e);if(n)return $(n.kind,n.intensity,Math.min(1,n.wind/60),`real`)}return(!X.spell||e>=X.spell.until||e<X.spell.from)&&(X.spell=Pe(e)),$(X.spell.kind,X.spell.intensity,0,`cycle`)}function Qe(){let e=Z.getState();(e.active!==X.active||e.kind!==X.kind||e.source!==X.source)&&Z.setState({active:X.active,kind:X.kind,source:X.source})}function $e(e,t=Date.now()){let n=Ze(t);X.kind=n.kind,X.intensity=n.intensity,X.source=n.source,Ce(n.kind,n.intensity,n.wind,X.target),X.clock+=e;let r=we(X.mix,X.target,e),i=X.mix;i.storm>=.3?(Number.isFinite(X.nextFlash)||(X.nextFlash=X.clock+Ge(i.storm,Math.random())*.5),X.clock>=X.nextFlash&&et()):X.nextFlash=1/0;let a=X.flashHold??Ke(X.clock-X.flashAt);a!==X.flash&&(X.flash=a,r=!0);let o=Ue(X.wet,i.rain,e),s=We(X.snow,i.snow,i.rain,e);(Math.abs(o-X.wet)>1e-5||Math.abs(s-X.snow)>1e-5)&&(r=!0),X.wet=o,X.snow=s,r&&X.version++,X.active=!Te(i)||X.wet>.002||X.snow>.002||a>0||!Te(X.target),Qe()}function et(e=null){X.flashHold=e,X.flashAt=X.clock,X.boltSide=Math.random()<.5?-1:1,X.boltSeed=Math.random(),X.nextFlash=X.clock+Ge(Math.max(.3,X.mix.storm),Math.random());let t=Math.random();_e(qe(t),1-.5*t,X.boltSide)}function tt(){return f((e,t)=>$e(Math.min(t,.1))),null}if(typeof window<`u`&&!Object.getOwnPropertyDescriptor(window,`__swarmWeather`)){let e=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Math.round(t*1e3)/1e3]));Object.defineProperty(window,"__swarmWeather",{value:{get state(){return X.kind},get source(){return X.source},get intensity(){return X.intensity},get mix(){return e(X.mix)},get target(){return e(X.target)},get active(){return X.active},get wet(){return Math.round(X.wet*1e3)/1e3},get snow(){return Math.round(X.snow*1e3)/1e3},get flash(){return X.flash},get nextFlashIn(){return Number.isFinite(X.nextFlash)?Math.max(0,X.nextFlash-X.clock):null},get real(){return c.getState().weather},set(e){if(e===null)return X.probe=null,X.url=null,!0;let t=Ie(e);return t?(X.probe=t,!0):!1},strike:e=>et(typeof e==`number`?Math.min(1,Math.max(0,e)):null),skip(){$e(0),Object.assign(X.mix,X.target),X.wet=+(X.mix.rain>.3),X.snow=+(X.mix.snow>.3),X.version++}},enumerable:!1,configurable:!1})}export{ae as C,ie as S,te as T,se as _,De as a,ne as b,je as c,ge as d,me as f,S as g,oe as h,X as i,He as l,M as m,Xe as n,Ee as o,he as p,Ye as r,Ve as s,tt as t,Be as u,ce as v,ee as w,re as x,T as y};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Copyright 2019 The Sora Project Authors (https://github.com/sora-xor/sora-font)
|
|
2
|
+
|
|
3
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
4
|
+
|
|
5
|
+
This license is copied below, and is also available with a FAQ at: https://scripts.sil.org/OFL
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------
|
|
9
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
10
|
+
-----------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
PREAMBLE
|
|
13
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
14
|
+
development of collaborative font projects, to support the font creation
|
|
15
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
16
|
+
open framework in which fonts may be shared and improved in partnership
|
|
17
|
+
with others.
|
|
18
|
+
|
|
19
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
20
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
21
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
22
|
+
redistributed and/or sold with any software provided that any reserved
|
|
23
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
24
|
+
however, cannot be released under any other type of license. The
|
|
25
|
+
requirement for fonts to remain under this license does not apply
|
|
26
|
+
to any document created using the fonts or their derivatives.
|
|
27
|
+
|
|
28
|
+
DEFINITIONS
|
|
29
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
30
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
31
|
+
include source files, build scripts and documentation.
|
|
32
|
+
|
|
33
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
34
|
+
copyright statement(s).
|
|
35
|
+
|
|
36
|
+
"Original Version" refers to the collection of Font Software components as
|
|
37
|
+
distributed by the Copyright Holder(s).
|
|
38
|
+
|
|
39
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
40
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
41
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
42
|
+
new environment.
|
|
43
|
+
|
|
44
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
45
|
+
writer or other person who contributed to the Font Software.
|
|
46
|
+
|
|
47
|
+
PERMISSION & CONDITIONS
|
|
48
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
49
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
50
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
51
|
+
Software, subject to the following conditions:
|
|
52
|
+
|
|
53
|
+
1) Neither the Font Software nor any of its individual components,
|
|
54
|
+
in Original or Modified Versions, may be sold by itself.
|
|
55
|
+
|
|
56
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
57
|
+
redistributed and/or sold with any software, provided that each copy
|
|
58
|
+
contains the above copyright notice and this license. These can be
|
|
59
|
+
included either as stand-alone text files, human-readable headers or
|
|
60
|
+
in the appropriate machine-readable metadata fields within text or
|
|
61
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
62
|
+
|
|
63
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
64
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
65
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
66
|
+
presented to the users.
|
|
67
|
+
|
|
68
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
69
|
+
Software shall not be used to promote, endorse or advertise any
|
|
70
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
71
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
72
|
+
permission.
|
|
73
|
+
|
|
74
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
75
|
+
must be distributed entirely under this license, and must not be
|
|
76
|
+
distributed under any other license. The requirement for fonts to
|
|
77
|
+
remain under this license does not apply to any document created
|
|
78
|
+
using the Font Software.
|
|
79
|
+
|
|
80
|
+
TERMINATION
|
|
81
|
+
This license becomes null and void if any of the above conditions are
|
|
82
|
+
not met.
|
|
83
|
+
|
|
84
|
+
DISCLAIMER
|
|
85
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
86
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
87
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
88
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
89
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
90
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
91
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
92
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
93
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="96" height="96" viewBox="0 0 32 34"><path fill="white" fill-rule="evenodd" d="M18 1a3 3 0 1 1 0 6l-1 3 10 5v14l-12 5-12-6V14l11-5 2-4a3 3 0 0 1 2-4ZM18 21v4l3-1v-4Zm5-3v4l2-1v-4Z"/></svg>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="152" height="170" viewBox="0 0 152 170"><defs>
|
|
2
|
+
<linearGradient id="top" x1="20%" y1="0%" x2="70%" y2="100%"><stop stop-color="#ffffff"/><stop offset=".48" stop-color="#f4f5ef"/><stop offset="1" stop-color="#a7c5ce"/></linearGradient>
|
|
3
|
+
<linearGradient id="side" x1="0%" y1="15%" x2="100%" y2="85%"><stop stop-color="#f8eddd"/><stop offset=".45" stop-color="#deccb7"/><stop offset="1" stop-color="#a78d78"/></linearGradient>
|
|
4
|
+
<linearGradient id="face" x1="0%" y1="0%" x2="85%" y2="100%"><stop stop-color="#365362"/><stop offset=".4" stop-color="#102534"/><stop offset="1" stop-color="#060e18"/></linearGradient>
|
|
5
|
+
<linearGradient id="rim" x1="0%" y1="0%" x2="100%" y2="100%"><stop stop-color="#a1eff6"/><stop offset=".45" stop-color="#38cce7"/><stop offset="1" stop-color="#087d9f"/></linearGradient>
|
|
6
|
+
<linearGradient id="reflection" x1="0%" y1="0%" x2="70%" y2="100%"><stop stop-color="#d2f4ff" stop-opacity=".28"/><stop offset="1" stop-color="#d2f4ff" stop-opacity="0"/></linearGradient>
|
|
7
|
+
<radialGradient id="orb" cx="30%" cy="25%" r="80%"><stop stop-color="#ffd58b"/><stop offset=".35" stop-color="#ff9b21"/><stop offset=".75" stop-color="#f77908"/><stop offset="1" stop-color="#a84606"/></radialGradient>
|
|
8
|
+
<filter id="glow" x="-100%" y="-100%" width="300%" height="300%"><feGaussianBlur stdDeviation="2"/></filter>
|
|
9
|
+
<g id="wire" fill="none" stroke="#7b8e9d" stroke-width="2.5" stroke-linejoin="round"><path d="M18 62 76 35 134 62 134 128 76 156 18 128Z M18 62 76 91 134 62 M76 91V156"/></g>
|
|
10
|
+
<g id="shell" stroke-linejoin="round">
|
|
11
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q134 62 134 69V122Q134 128 128 131L82 153Q76 156 70 153L24 131Q18 128 18 122V69Q18 62 24 59Z" fill="url(#side)"/>
|
|
12
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q133 61 131 65L82 89Q76 92 70 89L21 65Q19 62 24 59Z" fill="url(#top)"/>
|
|
13
|
+
<path d="M76 92Q79 92 84 89L132 66Q134 65 134 70V122Q134 128 128 131L82 153Q76 156 76 151Z" fill="url(#face)"/>
|
|
14
|
+
<path d="M25 67 69 89Q73 91 73 97V144" fill="none" stroke="#fff8ea" stroke-opacity=".4" stroke-width="2" stroke-linecap="round"/>
|
|
15
|
+
<path d="M82 96 127 74V91Q106 94 82 123Z" fill="url(#reflection)"/>
|
|
16
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q134 62 134 69V122Q134 128 128 131L82 153Q76 156 70 153L24 131Q18 128 18 122V69Q18 62 24 59Z" fill="none" stroke="url(#rim)" stroke-width="3.5"/>
|
|
17
|
+
<path d="m23 64 47 24Q76 91 82 88L130 64M76 92V151" fill="none" stroke="#62d6e6" stroke-opacity=".85" stroke-width="2"/>
|
|
18
|
+
<path d="m27 59 44-21Q76 36 81 38l42 20" fill="none" stroke="#fff" stroke-opacity=".8" stroke-width="1.6" stroke-linecap="round"/>
|
|
19
|
+
<g transform="matrix(1 .49 0 1 44 105)">
|
|
20
|
+
<path d="M-14 0H14" stroke="#142332" stroke-width="3.5" stroke-linecap="round"/>
|
|
21
|
+
<circle r="7" fill="#142332"/>
|
|
22
|
+
<path d="M-4-3Q-1-6 3-3" fill="none" stroke="#55707b" stroke-width="1.5" stroke-linecap="round"/>
|
|
23
|
+
</g>
|
|
24
|
+
</g>
|
|
25
|
+
<g id="eyes" fill="#56dcff"><g filter="url(#glow)"><ellipse cx="94" cy="116" rx="6" ry="10" transform="rotate(18 94 116)"/><ellipse cx="120" cy="103" rx="6" ry="10" transform="rotate(18 120 103)"/></g><g fill="#bdf6ff"><ellipse cx="94" cy="116" rx="4" ry="8" transform="rotate(18 94 116)"/><ellipse cx="120" cy="103" rx="4" ry="8" transform="rotate(18 120 103)"/></g></g>
|
|
26
|
+
<g id="antenna"><ellipse cx="82" cy="55" rx="11" ry="4" fill="#173344" opacity=".16"/><ellipse cx="79" cy="53" rx="7" ry="4" fill="#132b3a"/><ellipse cx="78" cy="51" rx="5" ry="2.5" fill="#426978"/><path d="m79 50 13-32" stroke="#9d4507" stroke-width="6" stroke-linecap="round"/><path d="m79 49 12-31" stroke="#ffad37" stroke-width="3.5" stroke-linecap="round"/><path d="m78 47 10-25" stroke="#ffe0a0" stroke-width="1" stroke-linecap="round"/><circle cx="94" cy="14" r="10" fill="url(#orb)"/><ellipse cx="91" cy="10" rx="3" ry="2" fill="#fff4d7"/></g>
|
|
27
|
+
<path id="spark" d="m111 4 3 9 9 3-9 3-3 9-3-9-9-3 9-3Z" fill="#ffd16a"/>
|
|
28
|
+
<symbol id="robot" viewBox="0 0 152 170"><use href="#shell"/><use href="#eyes"/><use href="#antenna"/></symbol>
|
|
29
|
+
</defs><use href="#antenna"/></svg>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="152" height="170" viewBox="0 0 152 170"><defs>
|
|
2
|
+
<linearGradient id="top" x1="20%" y1="0%" x2="70%" y2="100%"><stop stop-color="#ffffff"/><stop offset=".48" stop-color="#f4f5ef"/><stop offset="1" stop-color="#a7c5ce"/></linearGradient>
|
|
3
|
+
<linearGradient id="side" x1="0%" y1="15%" x2="100%" y2="85%"><stop stop-color="#f8eddd"/><stop offset=".45" stop-color="#deccb7"/><stop offset="1" stop-color="#a78d78"/></linearGradient>
|
|
4
|
+
<linearGradient id="face" x1="0%" y1="0%" x2="85%" y2="100%"><stop stop-color="#365362"/><stop offset=".4" stop-color="#102534"/><stop offset="1" stop-color="#060e18"/></linearGradient>
|
|
5
|
+
<linearGradient id="rim" x1="0%" y1="0%" x2="100%" y2="100%"><stop stop-color="#a1eff6"/><stop offset=".45" stop-color="#38cce7"/><stop offset="1" stop-color="#087d9f"/></linearGradient>
|
|
6
|
+
<linearGradient id="reflection" x1="0%" y1="0%" x2="70%" y2="100%"><stop stop-color="#d2f4ff" stop-opacity=".28"/><stop offset="1" stop-color="#d2f4ff" stop-opacity="0"/></linearGradient>
|
|
7
|
+
<radialGradient id="orb" cx="30%" cy="25%" r="80%"><stop stop-color="#ffd58b"/><stop offset=".35" stop-color="#ff9b21"/><stop offset=".75" stop-color="#f77908"/><stop offset="1" stop-color="#a84606"/></radialGradient>
|
|
8
|
+
<filter id="glow" x="-100%" y="-100%" width="300%" height="300%"><feGaussianBlur stdDeviation="2"/></filter>
|
|
9
|
+
<g id="wire" fill="none" stroke="#7b8e9d" stroke-width="2.5" stroke-linejoin="round"><path d="M18 62 76 35 134 62 134 128 76 156 18 128Z M18 62 76 91 134 62 M76 91V156"/></g>
|
|
10
|
+
<g id="shell" stroke-linejoin="round">
|
|
11
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q134 62 134 69V122Q134 128 128 131L82 153Q76 156 70 153L24 131Q18 128 18 122V69Q18 62 24 59Z" fill="url(#side)"/>
|
|
12
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q133 61 131 65L82 89Q76 92 70 89L21 65Q19 62 24 59Z" fill="url(#top)"/>
|
|
13
|
+
<path d="M76 92Q79 92 84 89L132 66Q134 65 134 70V122Q134 128 128 131L82 153Q76 156 76 151Z" fill="url(#face)"/>
|
|
14
|
+
<path d="M25 67 69 89Q73 91 73 97V144" fill="none" stroke="#fff8ea" stroke-opacity=".4" stroke-width="2" stroke-linecap="round"/>
|
|
15
|
+
<path d="M82 96 127 74V91Q106 94 82 123Z" fill="url(#reflection)"/>
|
|
16
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q134 62 134 69V122Q134 128 128 131L82 153Q76 156 70 153L24 131Q18 128 18 122V69Q18 62 24 59Z" fill="none" stroke="url(#rim)" stroke-width="3.5"/>
|
|
17
|
+
<path d="m23 64 47 24Q76 91 82 88L130 64M76 92V151" fill="none" stroke="#62d6e6" stroke-opacity=".85" stroke-width="2"/>
|
|
18
|
+
<path d="m27 59 44-21Q76 36 81 38l42 20" fill="none" stroke="#fff" stroke-opacity=".8" stroke-width="1.6" stroke-linecap="round"/>
|
|
19
|
+
<g transform="matrix(1 .49 0 1 44 105)">
|
|
20
|
+
<path d="M-14 0H14" stroke="#142332" stroke-width="3.5" stroke-linecap="round"/>
|
|
21
|
+
<circle r="7" fill="#142332"/>
|
|
22
|
+
<path d="M-4-3Q-1-6 3-3" fill="none" stroke="#55707b" stroke-width="1.5" stroke-linecap="round"/>
|
|
23
|
+
</g>
|
|
24
|
+
</g>
|
|
25
|
+
<g id="eyes" fill="#56dcff"><g filter="url(#glow)"><ellipse cx="94" cy="116" rx="6" ry="10" transform="rotate(18 94 116)"/><ellipse cx="120" cy="103" rx="6" ry="10" transform="rotate(18 120 103)"/></g><g fill="#bdf6ff"><ellipse cx="94" cy="116" rx="4" ry="8" transform="rotate(18 94 116)"/><ellipse cx="120" cy="103" rx="4" ry="8" transform="rotate(18 120 103)"/></g></g>
|
|
26
|
+
<g id="antenna"><ellipse cx="82" cy="55" rx="11" ry="4" fill="#173344" opacity=".16"/><ellipse cx="79" cy="53" rx="7" ry="4" fill="#132b3a"/><ellipse cx="78" cy="51" rx="5" ry="2.5" fill="#426978"/><path d="m79 50 13-32" stroke="#9d4507" stroke-width="6" stroke-linecap="round"/><path d="m79 49 12-31" stroke="#ffad37" stroke-width="3.5" stroke-linecap="round"/><path d="m78 47 10-25" stroke="#ffe0a0" stroke-width="1" stroke-linecap="round"/><circle cx="94" cy="14" r="10" fill="url(#orb)"/><ellipse cx="91" cy="10" rx="3" ry="2" fill="#fff4d7"/></g>
|
|
27
|
+
<path id="spark" d="m111 4 3 9 9 3-9 3-3 9-3-9-9-3 9-3Z" fill="#ffd16a"/>
|
|
28
|
+
<symbol id="robot" viewBox="0 0 152 170"><use href="#shell"/><use href="#eyes"/><use href="#antenna"/></symbol>
|
|
29
|
+
</defs><use href="#eyes"/></svg>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="152" height="170" viewBox="0 0 152 170"><defs>
|
|
2
|
+
<linearGradient id="top" x1="20%" y1="0%" x2="70%" y2="100%"><stop stop-color="#ffffff"/><stop offset=".48" stop-color="#f4f5ef"/><stop offset="1" stop-color="#a7c5ce"/></linearGradient>
|
|
3
|
+
<linearGradient id="side" x1="0%" y1="15%" x2="100%" y2="85%"><stop stop-color="#f8eddd"/><stop offset=".45" stop-color="#deccb7"/><stop offset="1" stop-color="#a78d78"/></linearGradient>
|
|
4
|
+
<linearGradient id="face" x1="0%" y1="0%" x2="85%" y2="100%"><stop stop-color="#365362"/><stop offset=".4" stop-color="#102534"/><stop offset="1" stop-color="#060e18"/></linearGradient>
|
|
5
|
+
<linearGradient id="rim" x1="0%" y1="0%" x2="100%" y2="100%"><stop stop-color="#a1eff6"/><stop offset=".45" stop-color="#38cce7"/><stop offset="1" stop-color="#087d9f"/></linearGradient>
|
|
6
|
+
<linearGradient id="reflection" x1="0%" y1="0%" x2="70%" y2="100%"><stop stop-color="#d2f4ff" stop-opacity=".28"/><stop offset="1" stop-color="#d2f4ff" stop-opacity="0"/></linearGradient>
|
|
7
|
+
<radialGradient id="orb" cx="30%" cy="25%" r="80%"><stop stop-color="#ffd58b"/><stop offset=".35" stop-color="#ff9b21"/><stop offset=".75" stop-color="#f77908"/><stop offset="1" stop-color="#a84606"/></radialGradient>
|
|
8
|
+
<filter id="glow" x="-100%" y="-100%" width="300%" height="300%"><feGaussianBlur stdDeviation="2"/></filter>
|
|
9
|
+
<g id="wire" fill="none" stroke="#7b8e9d" stroke-width="2.5" stroke-linejoin="round"><path d="M18 62 76 35 134 62 134 128 76 156 18 128Z M18 62 76 91 134 62 M76 91V156"/></g>
|
|
10
|
+
<g id="shell" stroke-linejoin="round">
|
|
11
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q134 62 134 69V122Q134 128 128 131L82 153Q76 156 70 153L24 131Q18 128 18 122V69Q18 62 24 59Z" fill="url(#side)"/>
|
|
12
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q133 61 131 65L82 89Q76 92 70 89L21 65Q19 62 24 59Z" fill="url(#top)"/>
|
|
13
|
+
<path d="M76 92Q79 92 84 89L132 66Q134 65 134 70V122Q134 128 128 131L82 153Q76 156 76 151Z" fill="url(#face)"/>
|
|
14
|
+
<path d="M25 67 69 89Q73 91 73 97V144" fill="none" stroke="#fff8ea" stroke-opacity=".4" stroke-width="2" stroke-linecap="round"/>
|
|
15
|
+
<path d="M82 96 127 74V91Q106 94 82 123Z" fill="url(#reflection)"/>
|
|
16
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q134 62 134 69V122Q134 128 128 131L82 153Q76 156 70 153L24 131Q18 128 18 122V69Q18 62 24 59Z" fill="none" stroke="url(#rim)" stroke-width="3.5"/>
|
|
17
|
+
<path d="m23 64 47 24Q76 91 82 88L130 64M76 92V151" fill="none" stroke="#62d6e6" stroke-opacity=".85" stroke-width="2"/>
|
|
18
|
+
<path d="m27 59 44-21Q76 36 81 38l42 20" fill="none" stroke="#fff" stroke-opacity=".8" stroke-width="1.6" stroke-linecap="round"/>
|
|
19
|
+
<g transform="matrix(1 .49 0 1 44 105)">
|
|
20
|
+
<path d="M-14 0H14" stroke="#142332" stroke-width="3.5" stroke-linecap="round"/>
|
|
21
|
+
<circle r="7" fill="#142332"/>
|
|
22
|
+
<path d="M-4-3Q-1-6 3-3" fill="none" stroke="#55707b" stroke-width="1.5" stroke-linecap="round"/>
|
|
23
|
+
</g>
|
|
24
|
+
</g>
|
|
25
|
+
<g id="eyes" fill="#56dcff"><g filter="url(#glow)"><ellipse cx="94" cy="116" rx="6" ry="10" transform="rotate(18 94 116)"/><ellipse cx="120" cy="103" rx="6" ry="10" transform="rotate(18 120 103)"/></g><g fill="#bdf6ff"><ellipse cx="94" cy="116" rx="4" ry="8" transform="rotate(18 94 116)"/><ellipse cx="120" cy="103" rx="4" ry="8" transform="rotate(18 120 103)"/></g></g>
|
|
26
|
+
<g id="antenna"><ellipse cx="82" cy="55" rx="11" ry="4" fill="#173344" opacity=".16"/><ellipse cx="79" cy="53" rx="7" ry="4" fill="#132b3a"/><ellipse cx="78" cy="51" rx="5" ry="2.5" fill="#426978"/><path d="m79 50 13-32" stroke="#9d4507" stroke-width="6" stroke-linecap="round"/><path d="m79 49 12-31" stroke="#ffad37" stroke-width="3.5" stroke-linecap="round"/><path d="m78 47 10-25" stroke="#ffe0a0" stroke-width="1" stroke-linecap="round"/><circle cx="94" cy="14" r="10" fill="url(#orb)"/><ellipse cx="91" cy="10" rx="3" ry="2" fill="#fff4d7"/></g>
|
|
27
|
+
<path id="spark" d="m111 4 3 9 9 3-9 3-3 9-3-9-9-3 9-3Z" fill="#ffd16a"/>
|
|
28
|
+
<symbol id="robot" viewBox="0 0 152 170"><use href="#shell"/><use href="#eyes"/><use href="#antenna"/></symbol>
|
|
29
|
+
</defs><use href="#shell"/></svg>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="152" height="170" viewBox="0 0 152 170"><defs>
|
|
2
|
+
<linearGradient id="top" x1="20%" y1="0%" x2="70%" y2="100%"><stop stop-color="#ffffff"/><stop offset=".48" stop-color="#f4f5ef"/><stop offset="1" stop-color="#a7c5ce"/></linearGradient>
|
|
3
|
+
<linearGradient id="side" x1="0%" y1="15%" x2="100%" y2="85%"><stop stop-color="#f8eddd"/><stop offset=".45" stop-color="#deccb7"/><stop offset="1" stop-color="#a78d78"/></linearGradient>
|
|
4
|
+
<linearGradient id="face" x1="0%" y1="0%" x2="85%" y2="100%"><stop stop-color="#365362"/><stop offset=".4" stop-color="#102534"/><stop offset="1" stop-color="#060e18"/></linearGradient>
|
|
5
|
+
<linearGradient id="rim" x1="0%" y1="0%" x2="100%" y2="100%"><stop stop-color="#a1eff6"/><stop offset=".45" stop-color="#38cce7"/><stop offset="1" stop-color="#087d9f"/></linearGradient>
|
|
6
|
+
<linearGradient id="reflection" x1="0%" y1="0%" x2="70%" y2="100%"><stop stop-color="#d2f4ff" stop-opacity=".28"/><stop offset="1" stop-color="#d2f4ff" stop-opacity="0"/></linearGradient>
|
|
7
|
+
<radialGradient id="orb" cx="30%" cy="25%" r="80%"><stop stop-color="#ffd58b"/><stop offset=".35" stop-color="#ff9b21"/><stop offset=".75" stop-color="#f77908"/><stop offset="1" stop-color="#a84606"/></radialGradient>
|
|
8
|
+
<filter id="glow" x="-100%" y="-100%" width="300%" height="300%"><feGaussianBlur stdDeviation="2"/></filter>
|
|
9
|
+
<g id="wire" fill="none" stroke="#7b8e9d" stroke-width="2.5" stroke-linejoin="round"><path d="M18 62 76 35 134 62 134 128 76 156 18 128Z M18 62 76 91 134 62 M76 91V156"/></g>
|
|
10
|
+
<g id="shell" stroke-linejoin="round">
|
|
11
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q134 62 134 69V122Q134 128 128 131L82 153Q76 156 70 153L24 131Q18 128 18 122V69Q18 62 24 59Z" fill="url(#side)"/>
|
|
12
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q133 61 131 65L82 89Q76 92 70 89L21 65Q19 62 24 59Z" fill="url(#top)"/>
|
|
13
|
+
<path d="M76 92Q79 92 84 89L132 66Q134 65 134 70V122Q134 128 128 131L82 153Q76 156 76 151Z" fill="url(#face)"/>
|
|
14
|
+
<path d="M25 67 69 89Q73 91 73 97V144" fill="none" stroke="#fff8ea" stroke-opacity=".4" stroke-width="2" stroke-linecap="round"/>
|
|
15
|
+
<path d="M82 96 127 74V91Q106 94 82 123Z" fill="url(#reflection)"/>
|
|
16
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q134 62 134 69V122Q134 128 128 131L82 153Q76 156 70 153L24 131Q18 128 18 122V69Q18 62 24 59Z" fill="none" stroke="url(#rim)" stroke-width="3.5"/>
|
|
17
|
+
<path d="m23 64 47 24Q76 91 82 88L130 64M76 92V151" fill="none" stroke="#62d6e6" stroke-opacity=".85" stroke-width="2"/>
|
|
18
|
+
<path d="m27 59 44-21Q76 36 81 38l42 20" fill="none" stroke="#fff" stroke-opacity=".8" stroke-width="1.6" stroke-linecap="round"/>
|
|
19
|
+
<g transform="matrix(1 .49 0 1 44 105)">
|
|
20
|
+
<path d="M-14 0H14" stroke="#142332" stroke-width="3.5" stroke-linecap="round"/>
|
|
21
|
+
<circle r="7" fill="#142332"/>
|
|
22
|
+
<path d="M-4-3Q-1-6 3-3" fill="none" stroke="#55707b" stroke-width="1.5" stroke-linecap="round"/>
|
|
23
|
+
</g>
|
|
24
|
+
</g>
|
|
25
|
+
<g id="eyes" fill="#56dcff"><g filter="url(#glow)"><ellipse cx="94" cy="116" rx="6" ry="10" transform="rotate(18 94 116)"/><ellipse cx="120" cy="103" rx="6" ry="10" transform="rotate(18 120 103)"/></g><g fill="#bdf6ff"><ellipse cx="94" cy="116" rx="4" ry="8" transform="rotate(18 94 116)"/><ellipse cx="120" cy="103" rx="4" ry="8" transform="rotate(18 120 103)"/></g></g>
|
|
26
|
+
<g id="antenna"><ellipse cx="82" cy="55" rx="11" ry="4" fill="#173344" opacity=".16"/><ellipse cx="79" cy="53" rx="7" ry="4" fill="#132b3a"/><ellipse cx="78" cy="51" rx="5" ry="2.5" fill="#426978"/><path d="m79 50 13-32" stroke="#9d4507" stroke-width="6" stroke-linecap="round"/><path d="m79 49 12-31" stroke="#ffad37" stroke-width="3.5" stroke-linecap="round"/><path d="m78 47 10-25" stroke="#ffe0a0" stroke-width="1" stroke-linecap="round"/><circle cx="94" cy="14" r="10" fill="url(#orb)"/><ellipse cx="91" cy="10" rx="3" ry="2" fill="#fff4d7"/></g>
|
|
27
|
+
<path id="spark" d="m111 4 3 9 9 3-9 3-3 9-3-9-9-3 9-3Z" fill="#ffd16a"/>
|
|
28
|
+
<symbol id="robot" viewBox="0 0 152 170"><use href="#shell"/><use href="#eyes"/><use href="#antenna"/></symbol>
|
|
29
|
+
</defs><use href="#spark"/></svg>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="152" height="170" viewBox="0 0 152 170"><defs>
|
|
2
|
+
<linearGradient id="top" x1="20%" y1="0%" x2="70%" y2="100%"><stop stop-color="#ffffff"/><stop offset=".48" stop-color="#f4f5ef"/><stop offset="1" stop-color="#a7c5ce"/></linearGradient>
|
|
3
|
+
<linearGradient id="side" x1="0%" y1="15%" x2="100%" y2="85%"><stop stop-color="#f8eddd"/><stop offset=".45" stop-color="#deccb7"/><stop offset="1" stop-color="#a78d78"/></linearGradient>
|
|
4
|
+
<linearGradient id="face" x1="0%" y1="0%" x2="85%" y2="100%"><stop stop-color="#365362"/><stop offset=".4" stop-color="#102534"/><stop offset="1" stop-color="#060e18"/></linearGradient>
|
|
5
|
+
<linearGradient id="rim" x1="0%" y1="0%" x2="100%" y2="100%"><stop stop-color="#a1eff6"/><stop offset=".45" stop-color="#38cce7"/><stop offset="1" stop-color="#087d9f"/></linearGradient>
|
|
6
|
+
<linearGradient id="reflection" x1="0%" y1="0%" x2="70%" y2="100%"><stop stop-color="#d2f4ff" stop-opacity=".28"/><stop offset="1" stop-color="#d2f4ff" stop-opacity="0"/></linearGradient>
|
|
7
|
+
<radialGradient id="orb" cx="30%" cy="25%" r="80%"><stop stop-color="#ffd58b"/><stop offset=".35" stop-color="#ff9b21"/><stop offset=".75" stop-color="#f77908"/><stop offset="1" stop-color="#a84606"/></radialGradient>
|
|
8
|
+
<filter id="glow" x="-100%" y="-100%" width="300%" height="300%"><feGaussianBlur stdDeviation="2"/></filter>
|
|
9
|
+
<g id="wire" fill="none" stroke="#7b8e9d" stroke-width="2.5" stroke-linejoin="round"><path d="M18 62 76 35 134 62 134 128 76 156 18 128Z M18 62 76 91 134 62 M76 91V156"/></g>
|
|
10
|
+
<g id="shell" stroke-linejoin="round">
|
|
11
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q134 62 134 69V122Q134 128 128 131L82 153Q76 156 70 153L24 131Q18 128 18 122V69Q18 62 24 59Z" fill="url(#side)"/>
|
|
12
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q133 61 131 65L82 89Q76 92 70 89L21 65Q19 62 24 59Z" fill="url(#top)"/>
|
|
13
|
+
<path d="M76 92Q79 92 84 89L132 66Q134 65 134 70V122Q134 128 128 131L82 153Q76 156 76 151Z" fill="url(#face)"/>
|
|
14
|
+
<path d="M25 67 69 89Q73 91 73 97V144" fill="none" stroke="#fff8ea" stroke-opacity=".4" stroke-width="2" stroke-linecap="round"/>
|
|
15
|
+
<path d="M82 96 127 74V91Q106 94 82 123Z" fill="url(#reflection)"/>
|
|
16
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q134 62 134 69V122Q134 128 128 131L82 153Q76 156 70 153L24 131Q18 128 18 122V69Q18 62 24 59Z" fill="none" stroke="url(#rim)" stroke-width="3.5"/>
|
|
17
|
+
<path d="m23 64 47 24Q76 91 82 88L130 64M76 92V151" fill="none" stroke="#62d6e6" stroke-opacity=".85" stroke-width="2"/>
|
|
18
|
+
<path d="m27 59 44-21Q76 36 81 38l42 20" fill="none" stroke="#fff" stroke-opacity=".8" stroke-width="1.6" stroke-linecap="round"/>
|
|
19
|
+
<g transform="matrix(1 .49 0 1 44 105)">
|
|
20
|
+
<path d="M-14 0H14" stroke="#142332" stroke-width="3.5" stroke-linecap="round"/>
|
|
21
|
+
<circle r="7" fill="#142332"/>
|
|
22
|
+
<path d="M-4-3Q-1-6 3-3" fill="none" stroke="#55707b" stroke-width="1.5" stroke-linecap="round"/>
|
|
23
|
+
</g>
|
|
24
|
+
</g>
|
|
25
|
+
<g id="eyes" fill="#56dcff"><g filter="url(#glow)"><ellipse cx="94" cy="116" rx="6" ry="10" transform="rotate(18 94 116)"/><ellipse cx="120" cy="103" rx="6" ry="10" transform="rotate(18 120 103)"/></g><g fill="#bdf6ff"><ellipse cx="94" cy="116" rx="4" ry="8" transform="rotate(18 94 116)"/><ellipse cx="120" cy="103" rx="4" ry="8" transform="rotate(18 120 103)"/></g></g>
|
|
26
|
+
<g id="antenna"><ellipse cx="82" cy="55" rx="11" ry="4" fill="#173344" opacity=".16"/><ellipse cx="79" cy="53" rx="7" ry="4" fill="#132b3a"/><ellipse cx="78" cy="51" rx="5" ry="2.5" fill="#426978"/><path d="m79 50 13-32" stroke="#9d4507" stroke-width="6" stroke-linecap="round"/><path d="m79 49 12-31" stroke="#ffad37" stroke-width="3.5" stroke-linecap="round"/><path d="m78 47 10-25" stroke="#ffe0a0" stroke-width="1" stroke-linecap="round"/><circle cx="94" cy="14" r="10" fill="url(#orb)"/><ellipse cx="91" cy="10" rx="3" ry="2" fill="#fff4d7"/></g>
|
|
27
|
+
<path id="spark" d="m111 4 3 9 9 3-9 3-3 9-3-9-9-3 9-3Z" fill="#ffd16a"/>
|
|
28
|
+
<symbol id="robot" viewBox="0 0 152 170"><use href="#shell"/><use href="#eyes"/><use href="#antenna"/></symbol>
|
|
29
|
+
</defs><use href="#wire"/></svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 34"><path d="M3 12 15 6 27 12V26L15 32 3 26Z" fill="#142637" stroke="#36c9e7" stroke-width="2" stroke-linejoin="round"/><path d="m3 12 12 6 12-6-12-6Z" fill="#faf8ee"/><path d="m3 12 12 6v14L3 26Z" fill="#d9c6b0"/><path d="m16 10 3-7" stroke="#ff951e" stroke-width="2"/><circle cx="19" cy="3" r="2.5" fill="#ff951e"/><path d="m19 23 0-2m5-1v-2" stroke="#a4f5ff" stroke-width="3" stroke-linecap="round"/></svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="152" height="170" viewBox="0 0 152 170"><defs>
|
|
2
|
+
<linearGradient id="top" x1="20%" y1="0%" x2="70%" y2="100%"><stop stop-color="#ffffff"/><stop offset=".48" stop-color="#f4f5ef"/><stop offset="1" stop-color="#a7c5ce"/></linearGradient>
|
|
3
|
+
<linearGradient id="side" x1="0%" y1="15%" x2="100%" y2="85%"><stop stop-color="#f8eddd"/><stop offset=".45" stop-color="#deccb7"/><stop offset="1" stop-color="#a78d78"/></linearGradient>
|
|
4
|
+
<linearGradient id="face" x1="0%" y1="0%" x2="85%" y2="100%"><stop stop-color="#365362"/><stop offset=".4" stop-color="#102534"/><stop offset="1" stop-color="#060e18"/></linearGradient>
|
|
5
|
+
<linearGradient id="rim" x1="0%" y1="0%" x2="100%" y2="100%"><stop stop-color="#a1eff6"/><stop offset=".45" stop-color="#38cce7"/><stop offset="1" stop-color="#087d9f"/></linearGradient>
|
|
6
|
+
<linearGradient id="reflection" x1="0%" y1="0%" x2="70%" y2="100%"><stop stop-color="#d2f4ff" stop-opacity=".28"/><stop offset="1" stop-color="#d2f4ff" stop-opacity="0"/></linearGradient>
|
|
7
|
+
<radialGradient id="orb" cx="30%" cy="25%" r="80%"><stop stop-color="#ffd58b"/><stop offset=".35" stop-color="#ff9b21"/><stop offset=".75" stop-color="#f77908"/><stop offset="1" stop-color="#a84606"/></radialGradient>
|
|
8
|
+
<filter id="glow" x="-100%" y="-100%" width="300%" height="300%"><feGaussianBlur stdDeviation="2"/></filter>
|
|
9
|
+
<g id="wire" fill="none" stroke="#7b8e9d" stroke-width="2.5" stroke-linejoin="round"><path d="M18 62 76 35 134 62 134 128 76 156 18 128Z M18 62 76 91 134 62 M76 91V156"/></g>
|
|
10
|
+
<g id="shell" stroke-linejoin="round">
|
|
11
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q134 62 134 69V122Q134 128 128 131L82 153Q76 156 70 153L24 131Q18 128 18 122V69Q18 62 24 59Z" fill="url(#side)"/>
|
|
12
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q133 61 131 65L82 89Q76 92 70 89L21 65Q19 62 24 59Z" fill="url(#top)"/>
|
|
13
|
+
<path d="M76 92Q79 92 84 89L132 66Q134 65 134 70V122Q134 128 128 131L82 153Q76 156 76 151Z" fill="url(#face)"/>
|
|
14
|
+
<path d="M25 67 69 89Q73 91 73 97V144" fill="none" stroke="#fff8ea" stroke-opacity=".4" stroke-width="2" stroke-linecap="round"/>
|
|
15
|
+
<path d="M82 96 127 74V91Q106 94 82 123Z" fill="url(#reflection)"/>
|
|
16
|
+
<path d="M24 59 70 37Q76 34 82 37L128 59Q134 62 134 69V122Q134 128 128 131L82 153Q76 156 70 153L24 131Q18 128 18 122V69Q18 62 24 59Z" fill="none" stroke="url(#rim)" stroke-width="3.5"/>
|
|
17
|
+
<path d="m23 64 47 24Q76 91 82 88L130 64M76 92V151" fill="none" stroke="#62d6e6" stroke-opacity=".85" stroke-width="2"/>
|
|
18
|
+
<path d="m27 59 44-21Q76 36 81 38l42 20" fill="none" stroke="#fff" stroke-opacity=".8" stroke-width="1.6" stroke-linecap="round"/>
|
|
19
|
+
<g transform="matrix(1 .49 0 1 44 105)">
|
|
20
|
+
<path d="M-14 0H14" stroke="#142332" stroke-width="3.5" stroke-linecap="round"/>
|
|
21
|
+
<circle r="7" fill="#142332"/>
|
|
22
|
+
<path d="M-4-3Q-1-6 3-3" fill="none" stroke="#55707b" stroke-width="1.5" stroke-linecap="round"/>
|
|
23
|
+
</g>
|
|
24
|
+
</g>
|
|
25
|
+
<g id="eyes" fill="#56dcff"><g filter="url(#glow)"><ellipse cx="94" cy="116" rx="6" ry="10" transform="rotate(18 94 116)"/><ellipse cx="120" cy="103" rx="6" ry="10" transform="rotate(18 120 103)"/></g><g fill="#bdf6ff"><ellipse cx="94" cy="116" rx="4" ry="8" transform="rotate(18 94 116)"/><ellipse cx="120" cy="103" rx="4" ry="8" transform="rotate(18 120 103)"/></g></g>
|
|
26
|
+
<g id="antenna"><ellipse cx="82" cy="55" rx="11" ry="4" fill="#173344" opacity=".16"/><ellipse cx="79" cy="53" rx="7" ry="4" fill="#132b3a"/><ellipse cx="78" cy="51" rx="5" ry="2.5" fill="#426978"/><path d="m79 50 13-32" stroke="#9d4507" stroke-width="6" stroke-linecap="round"/><path d="m79 49 12-31" stroke="#ffad37" stroke-width="3.5" stroke-linecap="round"/><path d="m78 47 10-25" stroke="#ffe0a0" stroke-width="1" stroke-linecap="round"/><circle cx="94" cy="14" r="10" fill="url(#orb)"/><ellipse cx="91" cy="10" rx="3" ry="2" fill="#fff4d7"/></g>
|
|
27
|
+
<path id="spark" d="m111 4 3 9 9 3-9 3-3 9-3-9-9-3 9-3Z" fill="#ffd16a"/>
|
|
28
|
+
<symbol id="robot" viewBox="0 0 152 170"><use href="#shell"/><use href="#eyes"/><use href="#antenna"/></symbol>
|
|
29
|
+
</defs><use href="#robot" width="152" height="170"/></svg>
|