From 024da4b435f6d055a378d5da2c9ac527aaee0ecc Mon Sep 17 00:00:00 2001 From: Kasen IO Date: Fri, 10 Jul 2020 17:48:42 -0400 Subject: [PATCH] Add Designer section with draft color spec. --- docs/source/design/color.rst | 10 ++++ .../color/_images/vircadia-icon-128.png | Bin 0 -> 10807 bytes .../color/_images/vircadia-logo-564.png | Bin 0 -> 16318 bytes docs/source/design/color/guidelines.rst | 47 ++++++++++++++++++ docs/source/designer.rst | 15 ++++++ docs/source/developer.rst | 16 +++--- docs/source/developer/build/BUILD_GENERAL.md | 4 +- docs/source/developer/build/BUILD_OSX.md | 19 ++++--- docs/source/home.rst | 4 +- 9 files changed, 98 insertions(+), 17 deletions(-) create mode 100644 docs/source/design/color.rst create mode 100644 docs/source/design/color/_images/vircadia-icon-128.png create mode 100644 docs/source/design/color/_images/vircadia-logo-564.png create mode 100644 docs/source/design/color/guidelines.rst create mode 100644 docs/source/designer.rst diff --git a/docs/source/design/color.rst b/docs/source/design/color.rst new file mode 100644 index 00000000..b5d557eb --- /dev/null +++ b/docs/source/design/color.rst @@ -0,0 +1,10 @@ +##### +Color +##### + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + Color Guidelines + \ No newline at end of file diff --git a/docs/source/design/color/_images/vircadia-icon-128.png b/docs/source/design/color/_images/vircadia-icon-128.png new file mode 100644 index 0000000000000000000000000000000000000000..ea57133707fecb432cfd4e03e50ffb794f5a6272 GIT binary patch literal 10807 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 Bo*@7L literal 0 HcmV?d00001 diff --git a/docs/source/design/color/_images/vircadia-logo-564.png b/docs/source/design/color/_images/vircadia-logo-564.png new file mode 100644 index 0000000000000000000000000000000000000000..cb058473bd9d6333b2a4712c88d48535c70a94a0 GIT binary patch literal 16318 zcmY+LV|?UI^RHubW822Yw#|)g+fFvNIdQVF&5bvOI@1xZ9WTsROA5JYJyF%=LHFm~W`Ll`LFJskYW1n>dWMMY8sq-F~L6nFt)AuKNp z0#Y9j|6v3PyoPm@(sls>K^pw;20G$UZVCb-s46WctmdhInG0=*KJ?bt+bt_{(hUn* zB9pjf_nX{RjE7o)HwqG-x;?$0!~!c~NatdM22exPxE8#A+lJ z2DHbHTyij^lS=5?44S6gi4#BV9v%@d9}dy2{EW`9*Crx$Yv@Jm7^N2;m9&L*3_2Oa zI{7h@o~_J+0eK1>DHGBMhvcxW77_ye>WtHI}Xq~at3#q0p0DyXOoiM{iBh05m=MZsP=<1`U)2g z>BjEK;see7UHVI(|{&BD@V=9wkeWgAZ7kLua4yT@Qs|a3YSy#41@bV)_ z+VgIHMCm-%=BNB+AZ(y$7jHlwfB5Ex_Y_td?xy^37=E~B!d&s^N^m^uDclWnJcCz$ zZjt;Gwo_o!XxY&&)OsU zm(j$@I_>3xw+y$x5qB!aK+Ce>voK(%@x6eVE*feA@Cu=RNP<>NW0gH@}Xj()a3-s@xu3 z>BsYu25{2_)7OHGszz9C z)(Pky$o)=8-1&x3NexSlC>mmzXBjV~h<)zx>{8Nml}|+d{s#$j4MM0#3A@GNejWr(n&V_{r@vBZ1=jmwsUvmpr?t_I6HevH`?z5MT z0?h-C3jBQ+&q~Y}+2VeZ$5Vwh9rjsS1ihR07Vw`O59=JO(1>lkeh~ew_P(tQBb3( z8eaaG>Rct-_~VU3#_uDP#)80Jr0Jb7X?bb(xcQM~v2~VFa~x)O$-%OSsjU3)r9``Q zbnT7A%@IewIh4SjRC?6?r`@9W?;c$%QB|Fhzydjes44?{4&9>7JZ+tMKNh;Oj77;} zH?&o2Jd$^@334gIbl5^66{6ST1cy7+!x4We9}0sEC@~Zwcua`=06RYwAx3$=Vm~a6 zNX?`JynilSIX7yrei-Z@A6B$ZT=)vg5Q~}UH}Ga8u;Zdu<;aI&OG?@&5G7&k?NQ1A zVX#7Kf!Fg6hx{+7nk2X%h+d=8q4z4|yN+_o+c7{VS2jv2lE8O&KZKS*b`^xSXT5@! z1Jw&{AH)zu#@h9ID-!-tkKS ze_u4Bf+S5Rk(qn|jv1dT3>Cftoa)em6uz{l0R5~HDwz1xG&;}~w~^wt3>x&qCaI92 zR<1Om3Q4sAsCW*@ZwX&>k{kceTg$K>?=stBmI;AkN96w&VLJ>`2x3)}gAuvF4^!_y zJ$Of=T`TM&+9{kD{D2Yp zkV_3QMtQneg$@$ho7|I={R3a3qEdd4^AC+`=U_}#O@`ijp&SWgJiSciqYumd;}RSa zlq=wi@8IA_#NC|(BE;!sA3?OaQXQaD5~b!m5)=|aOf_;qNnl~UR0VoCky@1G(lC`5 zMkX1jLc_YaYi)@TFLhtk#Fj6Ha_xI6xvk?Y{Q;|PsR5N0v?Ch8Uf~@1vso7OV+*!` zwFo+!Uo6wAn{dZ=V9Jr{pr!+))_aHdcH0M(^0FW}uD1h(-AIYi93QI9j19v!NgvWs z+J=@Kdu}q>Hs><{p+*=f&j0&3OaPokOl^MLS3WI>UVzs7gP zurp;i-Oq}l1_7VBGLhh4p8!QR{^E5dP8Ux-(V>vz>wiP>LZf%(oO z8Tx1j-dcfR6yl@l6LVfzhHzGLRO|GUB~uL)LN@MBE*pfeJ9NV`b~e!!FIIzN(56Hz zEU2jiB9A3eMv+DQ)5T0qc7#`%KZym8|(V6f4I9D*DeiA%|%Z|Q<=n#SDZ4DRv{VOY;7ckx3f2e%zo$7l>zDikp zac>T@)8l-yL1~XG@&7NOBdk!T6S@NEmE(`as zN%I@g&)Xs)qT&7OAPJ7v7aZ!Lt^EBGwwVO59)Gd-4`*AZ^#u5Z^Gt4Gkw%!K1zRxS9 z=iAswF`&eAZ3x{BN{JoV9>G_oVI>8P$~kC+{6j{(Z~M+_1w%@pk8h>;v+B-qsXHik^*So1(Ydv<@+H29>to@~u?hwFQN z-XKJy`j@kKI4b@fHlHPN>Pmk^t)|03j*??JTq@2*tnXQ*BmgsnK}wpGW(*lMxwJ|o z{X)EmOpIjgP)B0vSE-;!x}@tHo)R;>(QfQFevgM(_-?Pxr1Nw|RBC@TQf0ORIiRp~ zm9k}WECY{Ua$8Gl7w5}0 zdu&~}AZJ61hfei_V68Qbv#gsQ@uyQ4C}PPh_KMAT3L~OuO?NnOF3Kg&W}dF&qRd}; zPD!yaRD4B}NY5XTqu0;U{E6<%K1l9^uto%_Y7hfrS@C#BlEhKbqt8SQhVj=5V?-J? z)krhU{U3l0gZR(>-yK^E{LbT%h$hycy6ME-t1I#`4uEOFX9TsXjDpPsadh8_TAfy; z)Go7~K!2r*BxsY#oZma(ZYwi36h%fkCBv|g7V&OZ3qdklbM>M=mRldjwAv&C{u$yu z@J;iriC<{E5KMsAHp9x9-=|-?g$rF0;yOF^-8=n`GB|>LxwGw@?R&v0AY}ZW)P zqR`ZK{z5DW8(1PJZGz+Z204w=bRVlTp8}wX!}@peMqmVBoK6^j?W7!#gm^K@SDh?1 zHx@4#USpRfoJ)v1Eag6MvJZT1E2Y)pC=5ENsYp{iulrCnjTahUM6QgGi#TFRKaD2w zr}>!Pc;7>A;kk7jmabjIfhR6MkFn)&)t7j)_K7~0_XQGnTcZwjhcEw=lijlAt-csPF+S>VGtXzCPcSBGKS)Kz)u0TD|SrRM3U-uyWk6+wOv$RU>icK)l_Jh0v(YjNAS<-#L>S+dlbim`7sH>S90Vbp@x@0sqxINYc&w6 zg$YAjz=bpJk3d(=1gQiHjCm-LlGSgjzivk;?_1xggOJu8(!HpLe-VbJn<8+K3rqM0aSZlImWE*cv??Ps@f6-;bB;=m+DYqR|XEBe1 zK^(*!&mFK3A_AcXZow{@u4I$%>2nxCJfDd%xSUK}Lh4($Nx5tHJdt~p z_p<4x=6*vq+bjp?@&6bI(24{N*oVIA#H&<`oVaHp5!#liZ=e$KVWDb-WD9F{R9Gp( zg`RIJ1R2nx!7{nngcZ9*yt}k)U>WvU8#!4c!hn1D3}*4&6V9(}csACk^MFdlRq$=k z_(;PZ+W3iNXUXGs1_I9SJm>%g1r@U_DJB_mH5rv*wNyppdbW}$Q{Nwn)?f*M2$f4g zzEWhb(5f$F&+R1V$@^>4Yi<}oI}|R^Jr9s@^WldT=0biC<5rs^hV$TGs0n0PXotVh zBbh)7*{Nm8)m8SG`Jp3MgM4EvO4|nUt@ic-SI0Np7;^KM-UfUonFU=`1EgRverlh? zuHSMU0eKrI0>s`K+YWC~fxh|LphD`dk7Ly!3C}v<9dl13B_E;Dz zA1cQ7bJN3S_t=1=?+YBdfLPE!%Q=CX-RJ2dM2J|xq+*)yQIY0Ly~=B^BA|a<-9VM* zX`x)19}v#0JX@{=07ia1MHa|XvVUaLJ)tG;{BHm>Hxo>FR*^qF;_=|gBoRuIc&~5- zK{>vxGbYj4?0Zh3+FplQ)S?K!KRqeC?(>n$(KE@Z;R)`xBh<>Zxngx>hMZJ6UrJ@2 zW9q8!;OM|7g>OFP8d~0a9L;BH>>ED8;APoB--chZ&V;V8Y(^)DY_3s|e#UN!1QET;E39`X7KKbDAmI2w;%3B@M5@WD$P#@9l5DHX({aQDZrgA66^+Gy&*y0E^ z@Xy!;PWXx;fGk9imjnejWim!4mDU><-12xzZw~yS+GA^f90Ah8>^x;Gz$U%T z$4gPlc{)Gh6}~4F&jA;H+xMM-;W50$PDk{7$?0(&Q}ylfk^svLDsjJX^|{-1Mvw?D z@XZE*%y)-xNBIJAz3Cy@w@M(4V9W&}IemO82Ix1!!c^*S+g{Im|6RaxM~obk$O3an zNfExe$~Pr`7bh=YWJ2ZKMaRxGUdXy3uOBJ1`txA*44l2S{0S7NJ18%Gy>M+CW4aUJw?%9BM8 zpDe+p%M3^PhX=E(;T|Lq9H2oZB_$b_OX{2T>UB$aQ|Acyg{L{9g+@Z`e*Qwp_~UUFZUN+!HN+LR>jKBy<%8r1z&5jk|hA z_e^-ZxgLUnArVOPKRgidc(mX?tRr-HnelJOJ_*LVf5e7Dq7e4;n@(A~BqL4xJCZ+; zR5DTVSK^t@Sg?^HP1otQM2>Ap$tj030Kk(N80Kv%Sktw~N~_(tEr=YPAW4xrp{gq5 z26!#s(*mH*f4&~XbVq5o|0QJdL_q>jdNuacU}6-4Kn>v^_s0whdZLV%H!OZeH;Y+e zUBjKZ{)Jhn)K2!o1|w>lmiI$d$ZO65xIi@5kRzZGh?4)nm!?A8k?mFm?pC3}!hQ!(ZUO&u1~`dYn&ROI0F2K7JU zh%C$uuR{U#zc1clec#R#R6XX2o=JR$ift-c^xk^#^3}efLb(# z2O(Zu%sYJA>@%WL@sp6LT%Nfc-Z(;jD59@t6I!PxPnL6&^_EL0v)g$^K}`&NPQ$)g zt?90@(Kg&GqJY+OOiqEnm<0diQ#YAc69YA@pZ6T;cK4b_or2Bk@(It%#uU9SeX zISqDO4Hz7@AE`1|Cti>0bB<&qgx{Z*lsP;@<}e;k$&@V-!clOO*?I_e>rJIeygk1f z{uy5Q^Rdkr9B`G0-yfN7|56^y;{Tc{NWGH0&*f>^&kx<-=@+f@ z9ijzVG=)|@YE_wJjl7zfyEp$|&d`Evh$!)3xV|h!9EQcT`QSfA3*|8aD=W8*(km*` zswvXx{OJ&;-*bd<(*pV6uLwpe%peyh%4D|J+tS|>T$gNZu}loV2mIKHFgEh}#n1)G zw?}|3A({>J%h;78qMOZQnS%E^F?g$sUWf@<7q80?WJeBt>x(;VM{#QJ0fk6s{Q?)` zJkJRX%7h(YH9yRL948)~enYcHsq1c~*;XguwQmS=33DfB9&5Mqf@izc1+*>pOm8jv z^ly{+A=$LSiuo%aD_ZqRa<2nM#)4e9KhLLbf*&x@NTC5m!`gm-uq__lEVnTkTdcOp zL_jZO2XHh1oXVh~*`-Zzo;xiZd~(3!fzLgK`sWj=mhz0&le$+DC|Y+U*xW#f)XJ!z z)x|g}5*t8dFp{y{*WKLH-Vnm`Lb@^JD+vYc2u{8z9MN)$n`{2aCVulT7M7z{&?41H zy9;;S%byZ8*5Dvy!F)Ew+Fl+oA1f^j!&GtwG_#}5pEeZ-_!l(ggFBv#vwfLj^xbTh zHv-quVW>X17L$2Ydgu1Sctlk7^>MGuLM?TQwexC{CE-W>5!Df;nhbnF4oNv=6B+Ty zyys8I(8Jmt%ONyNCvX9w(1Y9ggrF;v26aVnwAjzdSdS_QnhZRAO(Fi}W7a1$43mDg zahJUAm8y~4fC39G4Fjg_nlA-!(b&Id*F6#4J}Wtrh=lCKfI>qm9)p0!EFb{oU&Vwz zTa-0HI;?j)=XiN+-L62-yIl9^>mXWE9V6K6G$4TtZw7xWT1{uy@nccD0t8cU{46me zrrpf6g+olbl0;?$U9QOOLmaA#BpY76`Z?#AFtrqQhV&b_?~j0Ac|wx480{o&e7@AXYuoZ} z*{ELWX)A?8#jFOm7Fi$2Hc~YpTX6TAKapN}&oAkk;+?-VA}MXqtA7W&j8I!qZNs*a zj$MlRh4j_kHO(9!jB9VJEER%Bsxujo4#f{vWMQb0mb49@d+JnGA^K&Xo#OO0Rt|RK ze3T z!1Mb!i`>56$UA1R+fNT1Hy*DNE{#s|D{dJMZu(w^fI>Rqa*hyodUSe_7^IOvNE8Ob zIdW&CR!{bA;dBz#)?-0iJk|%oy(>XCz9Eq_1p6k8y#0J$rj(W@U0)bt_M8_D8C7i~ z(8lj}>FWt9#c5Urk!Z&b@5@xtU)iZ5>7C~x3}xNz?XXr{xDA9a6wqvM*UF0k5X?Qo(9+QYBdMgJ&4FS@wJ3;LR zXk4giJ`qSL=C7oA!0)evR!iM*IE0VvUR^9$_d_jcsYN=5#1w3X6NV**m*EtjyjhVR zY*ypHN;D0u@GnPa3;H0P*Xi^o@P%4T4DxW1ef39tA%B7kue7eSf<7Zv2A3utF3)}@ zML1FI@E^}>yObZq0Rf|Iknv@Mpp^hb;6`Zk@0tE<*;8Q(#haQ4N-}Pc!jqLWs6mp0 zRbR)9AXTsTRaH!iI*%ja=VTQ%4s%fYV`1uO2rl{zg46LBN5sl*_EG@yhC!dFDx*E2 zqIP1qowsXQ5-*SsgUhB@7bLMAP3aNKKbnJxYDpbM5=H zS&_7z;BbBhZ@QZwj@L45p10bpL*;p$<%dt}?b}BLif=H|IaYd=#a&kXWhv6teqI)c zR!sFwPTT^wUNF38dVVL$Hay>6FGtT?YqlPkR}?UB8z#!VL%H9^?x1cP7G|2vJJ3Gh zsPr-%Z=EOfpWPN7_X;e7Lwt~CAm;o`FE`Cjf2xPZ7o&g_)Yu7u4^g6Ip?&TggWtga zZz;kioS%W-amK5jPckDgSef#sODiBrfC7Tyty#BLqR>2(6{$FVFlU6E`_rQ<&va-Xsz5!2F>stSExc5Ozfxa7ukg&~gg-U15C6W4P}z6W$dL@TLoF zp!(D|Yhiq18;2!CnGNZAQkz6u9Ek8`-}EuzJa{9!=J|#0|9O5bQ(_+M+Lra2jS=>m zkE!Ns_dz2Mn=}-vunKiR8zJfcZxvh;z6L-aU7z$h)2TLDQZK1$SM4_na`21${B3R@e8w9I;gq z#Sm+EbBIH5iNV};Na|NP{=}Zhm5N*!JbQHrp*`Y*DTWF!aY$VxbX4nJ@_l~%a7r@P`HZ zV?#+Ks2R!8_?Y?p+1V{F_%NbrvZtClYQ^$@H^eECh)A$V@8CPGq1$5xU6#z$JaesH zA%5?h(0A6$HHe%Dln>|2+1xujaRj`(>4pLih@FzhPZL86E*% ze8o4|sh4k!h+Jw6U*e6QfKs37St(ajVQVPyUXAZa*u*6C=gb3`gNst4HNFJ5l<{~@86$ggu$m*~@AI!YXh;6Ytm zR^d(PZ-*a*Rmr9+{GVB+Gv!M}AW-b-_1bY&|IU`vuqPzC#&ps82~p@kjENqKBYRt2 zaIJ|_*{qLdccD2(aVRVvwT)QSM(W+PW_CaqU@4nd73N8*>8F^nt2@A=t`P?~tWTjo zAdYlizPVD{@4UR%k%W{VvdwL8i!~${)$5LBY#JFW*c+A*nn(D zPc9%e>*)kFl-esPl3YHgSjlSy&;S{mq2XYly%{H#p62WE$^+>cn-Rz z%<>R_K*!D0934rFs9crIrNi~ME(O^zoCU_{x?Fl2uqz=CyvQPBf5~`3{O@1zYj{9s z%=!CF8?Ia!UE#zdXX)5}k~?cnxKPHBCdt}C<1TzT zJbMRFIja`X7bUB?D%h$r-OwS9+i3D|x_BDm>Ht)qH>Bk2_;O2lUt+*4Bb`U`y9rHn zQMMbzPT(XVIN!GZ17WHwv-@&}AZXn2JQ#9$Hk{*JX<~~$3kx+ZuJ$%Bn$;*xZvhC$ z*Bf5yhSO#_suBP!`#ZT%LdKaDNFp+1uCzZlpB)dR4p6VmC$mH*FefX}b#6!mGG^Iq zoj{4&=!dsg(5%f~axG(U$FAs|-{W%Ap0RUiGPc+R`jzWF%nxn=Ek0IAl(oUS`MVA+ znA-h_?AIBV&oc=TK`*qg?hBkREXpBBtVr@Z510CwU*sqRt9!fl-v@Q8;JtVCD6j`vUjN79CaqO~{^|1|;8_0WMV)1?! zC;6C9=PJ4!73c+RX4|m~V{Jh%mV=-y*3qCt+BPbI$66v57xg^t%~v3Gjfmy(~gI{%*SC?ksk(Oz0U zIf_7e30M5AoHt6Px}! zJuoti?M&?ik|Jq!gTki&fhfr|u#pb126PpS{pq zrDHI7vN~g-Y>w&-3qRt<<29G!beMipr*Ti|%aZn6qGjQTr%T`#R{wqvKl(w$F7zyt zC=ue(gcc1U;aRI4VwIFYwd23gcnZs{$OQ|nlBOaJN%j;MQ0YXRIo=W}{r!g;s-9_U zRy`wf%X2k2NCv28uhsqZHLK+t9FMVj2cjgPlK1e$a3Qe+hn;_}cjs$c&PEfxFj2@@ zRH2c{LM;qxlj}QMNC6~aXN#5nY>I;V7Z&`0Nff%1=z|C%GUUfyuZwlw5Sd%Z?)|4L zvu$->Cjc_{_j0`XbAK?K@7Kx$RqBs?n-VQa+kOidXJ?~X&F~0+m=!i>2IV!heqpLB z_%(!8Gmi@H19!S@om3x2Y2IjJt|v3pY|z7pV&YlrQk5|dF7d3N`g2N!bsTkdnOh=+ z<_1{x)%_<-QR-j4(BFMG+k+92XCQ9Z?NUDm{wY{H6 z>o~r1)CGED(M%uFtDLfhbA{q;ipDeyT5T}SE@XHc&1HER@fPN+eynVYS{>P~gLNd! zA~;aU?c%U}*M9F0!4Z^O*O8xde0ZQZXknG=l|li?B3@Nr_K5gA=&QT<3X3(`jS?&8 zOQ$2zyIpzwH4U2+G2#8tNt#O1kW9G|xjbvpxjdXqvM97^6tybBm+dxfE-%A=XeQUZ zv=aLa17`Ztd3b+DKNrh*$ZByhURQ2ns`l-+WA5;03k=)&^-UBA_d~y^V zGuy*xiURPR?z~atNi#dSXJaEoMpsdSen$u~?YkOWPIu%Ck&JEI-+6EJu2&n0X>G^f zr9Cjw3|k$O8LVEUs`2xhvgw1pU)PYd;>c=-b(%+|c(oA+rXxkrP^^kMfh^x`h*JsM zn@InkJktMoF_it~#J}NuFIawn)P=ao@x-{&Fr?gNL3xGi!5d?oqY=M@e!r}ruTV0Y zg3KN$JKcrouiT?>(w%uy)2|TkaKBDC5-*R8$lBH=&3j`q9?z~DNoLf zJ`ms0iq^b238wmn^M4ajP=o6oW{XxLz$5dP(uJvg30Q7Mc@ky?g+{!{%9UAOO^ zMKgoSd>#^6AD8Q*(c{5@LN?DY?X{ZEXHhp#U^)t*L3F8~>-6Y2KwU%9{?c=#e}$$o z@a!GZ$#Wo`Tqhk4P~H={JG2BrM|8%r824&bBMDG!O@P)VzZ;YO>j<+Zx#W5m*qjAA zbPLsFG%&jIhtFGJx9Izj5=8Ik72|`99M`AV{RlZAH4J99r8!41fY98ReZH~A=|P^& zYz`vh=`4B%s5?&+qTGUQXE_bS!*e~b`NTCRv(&yGrpMNKO=!@zL&s8f8hCN1Mj@xt zX@&>H;2?f~?g%D1m21jyyrRN(7EHEdQJ9+M9^EPtpY?|?~?vN z`24P8dvv+8tK-LhQQJ3!&uS$33jqMlR>Pnkk4NtCKD{nBjz>huAq zfs&!Yd9890kMGl1#6LJhg-t)pxgxbF25hz4Q!1jOBp+ZI5uC@y&n>4>ge4NHkI61I zsM}Vt_t>TMrce&MU!t#fw(|{xw;T6N1BF9V;U{}P4?^e51bx35%3XqnbebUFpNRtT z9NNhkNeCG`$_4%b>zR)9#qco+1)LE~Ep(t+^eSVMrCU&3%KUO%sce8>Sr1|vS=RPIEO z5m~JVI{8d=1j1e4-?6$pr>HKS8K+gBZ?9zT9r7nufXdTg{F1x&FD;C$LZ~V0j`KWd zd_2<;SwR2p?ijM*=mzi4&uWj|WJUNv@V{9V-_K3x?=h*%+rD@L**_y>5-SpyA$iRB zB`F@ae8Rh$^zNoF{bg;IR*?71$#>}vvw_@~aNdQG%g85TBj7=z*IOx3c$?j_bFhOy zj#nceETc{@uJsVIyAq6Vl~~Pd)}-{GW&Is`l?9NW-+V!Tm;8VpnSX!06sLGLB%X=I zTOE+A3lxoNJl1;esR!HkmyE}qx^S)L3h9?9>$z#5YMd|zebO*OkmxLB$aZ27l@@~7i*<2^RX}cf33hoBoKhK zeJQT;3sU(PKp!L1d(Y?G82YVd*J)%%7Vl77`dE<;IkTE99lKC;!pC_i93C;fuwLaE zYu3E|a_*m&$^NefX5!^(VP=98os2b3gsI`4oNPteTWVKPV8+Tlj|K96VYZ50^Mt_v( zwD%;A&B4v$+}Gi_e#A%a+XcM0g4&K2LdFy)(D`|@1yU|(<^s>`^W53=XvVFMySuw$ znhweMG+PS^OHCF>LqXbhDmJ#{jSEdx8h^v-{$M67)iM4R+5NDP{yi9;>gRU=fFgj%+l51Shl(d~=8RQKjZMNx!(bIIcf zHSfpZXU&K6lIdu{UEPUJQqe@~S`l)u0CsU$YKov4t8fK5r4ie5nX@Y8J8kFw{JsY; za$XP8I^j-3ss4W6z;Z`QCmQ^^lRsvTPZ!#>Ls&TywufC3 zT_5A;;^yVBrz`c{=(D*PO%-d6>0RAaAm>Y;)UN}^B|Yqaru74-0u$gnRgP7pqaB~w z5W!G8J@-pz`Z8U7eru3DGpv%Q>#kd_4}eLS_H;6G|5Q67=Qyc&U1GR%xQ47A%OCtR zc~FPFn}QW4LLs4`-3ird`-zw5`}R#t6@jk=3w{X~j)*5m@w~%~hQvt$r>(7>_ds0G z4S8KcWBMOWMN{P0DF#z|yWzy=&XKw5-%8--Fiswd`UnP_Hvbz-c|3AeRRLb2Ayjjn z;k{k*yz5Pl#o{mVfu7Z0ZW%d0nqI_hMMOa9aN(uqI96c2w2Q(OIhZ6DShiyDL#?J3 z(NTvWX_kftib6s-@$nEzyYnjIN5w+%^94|_EdWKs+pf_EABpqAo?HMwnlv~WYg(IN zI){41v5?1r{`#ecT)*zA1?r8HGJ& zw|EbhX2;U?g;J1ojZ#R6kRPHm>8r2`Rzq3W%l)5dl>N8+FPmzId9ukog3IgBVP>qBwZs4?IHrs}4v+5l4vFIoZUr=*2g?C~42^D$%6P zyAqC~@C=Gsr}c?@3Z4_I$Q9Nvw=T@hIyz%}m^)ELUTHdI!uELnR3V<&Lwc(>d|VDL zVETdIA}e83XF3&)59~e^!>XG{};jy>Dbhw=YSA=0zr5H2N zkaK2qe9G+EoDNX`31=#%cYYRz4rj*u{Msm#e9D>#Ha~xOgh?Ra>nZm10ty-8P|d>K zWE{i`|80yPjV7X*C?r@wDO8Lsz|YBmclp42@s z!fHSt9D z`7!UCw7s@C&4JfbPoC6?zPsCzuY+kI5puz7S8L0b`~^qko-O)=m3{!Ej6z{>80Bid z{dpOR=2O7|8+;mY`@8BJjani6);On{Ku`6e!sfB%OG`n?g?}_8H>r@zBQ#$s57Z)T zzd={hJA!4xV2I_sTl|BB10s7xLVl|t$C7<-zfXbtdWXU>wliZGGIv&!QVsih$vxp; zVm#|ZI5N!sK~>LGPQ~U<{hc&W?{dtTaWjLS@iB@vhY-J4xT4GH9ZJQo1CQlLK@$-9 z&!P7dG$3g^E|t|xW-!4f+JR}3yKt0Vy93{zMCRk6b^FnD&4&+%djoGhb8*}6IvsXY3`r4ZQ5oVq!iKc(^9MDK1WHQ9-kzq5=jDN_&m2>yG=H~d! zk1XY6Gcz(4iFW&lJ}v?eZE~2{ha)CF)V@}hzZ$J+GV~MtU6P{Dq^oZW3!yj)?jIuO z7Sy-*)i#j6^gI1ZEc(@4IRmWpOx*}ME-M%Nk^j>M34;Gbeo*Sd%IeAd=-?&3?`jTk z9I+9vI%?{I$M&y&i2mCBQ z9t%WSju-aMRJB^2bo@Ao0rNjTJ~{ou>@T4(YJfU@B?WkuEwm$G4Bhu}ujTdm8QKfB z4akbLc~UBDWu@_YJkW{>?;XF|Ai1VuKpAyfETQD3e%0#Z0t+8hvrt1!W)Bd1w-$Oa4MxxOTH#Qj{CSZ^FFAo?iC_hwV}Y zDtJ2bnLd~j9o=9mpJ~%m!$|3;AQK26bb4HeP3pAB3}3&v6WQ4JUYcX`c%r0kuR#Qae(t^{E-2-15p3>L35O;i*g{3E6$@G95vjcrb*n=5f06Qn}5cixYN zXgll4PQi`iTfXr3RuOxfUNPq{HDy+^c!f%PgWX`SlxZ%1_RXODFJR*WbOncAm*k%B zme=SwoM6fHA3IN2eQ?MiFrccI&)loI+F(}TN}D}cKW{OWF=hBi3lK~-+{fMCp7cXY zjT)H!jHdxuOtJgUA!B1N=Sa^LEM4s(UPQc!{+=d#yf5^nMwZM}!K9FQ^b?TFGT?II z<5UL&3Q{U2*xgd#b!I%e6M4>98=s8Mh+`u~l7Co)g#&x;WJodKaD|@#dGr$@cq#Kp zZWZInZJj66TcZtxO9%t&D9I|nddo+5r7Tn7AXUvmQ50~Lnf1&Y`TuL!Ggj1?)8{%z z&P5ctnl*y}wFej*)3E=B+4CV6*1<)h5}Q@3D~gda>+rVbwe!PsQ{&5PnFKb4;rskn zB9`ChAVml$wXZ3jAkPs2=P%LEswdZUg~H%g7FAcG{ssBBAZ7+V6;)L{%C#HT_MO@6zmAtkLID<78Av+e!;hnxj|;n*%fI(KSc6b&!#Z8;mon|k zRFrhipTP;Ns1UnWq_;{*6cBVJBI7n@S;mg$n?y(JvY^XBAIhXO)$-f*Q^Byn>e5 zrNzbmFAcZc-*XZQaOXB_r}2|@1oF66{J+;U6yREGD{8j|{qUL@g?kAqkXjPSqZ;T{ zI+@+j|D{!|&!y0r{V=~&q9pnhD8yIMtT0j06j7B7E*dIXSO9?_;tfoLxlJP9I{O?inidHMKRVNaHbssRQ4qXa58?9UiQjxoG`G5eo_?u11?`Q`xfT}Dqxidu)-&AcA| zA2kF^oK?UcGOB+<75@CzK9Hn;CJxA5Hz_ZbkTgr>$!a7M56O#ldx=U%$`%%zl$S*l zO(&hra(|x+Se>hqE-sc@x95zmBdLaCuc;t#S_dz>KO9RK2%6$0rlBGn0{cLnxnED> zC28hsky(6RfQ1fOxGnOtSJ6#z%#U*GS++U`2HN&+jEhgsr0L1={+}?6s_P`|4wjv&XJx&TK%AjvGq-lUED|i85*u zh15PxmU}2tiWAH&vqestth{Z_P3Cd1YQ9cSq?q+FUe+LD^v&I9SyVO5(QUwJm2tz{ zGPC1ahCp8Lk?-vMgyiteYY{V*f6F zffcU&!*ZF@6G6}ZDuyWPH%mgkZl>7_?aV;rgpem_%!VvXu}VKZ53?!zQJQO%yT&6^ zNi%O^SsU2UAg4fTZvbl6EI={$+CZ+0m(}Xx3m49VYFc8yvR_&e+=0xl{w$x4+vi*o zm!s9XI051IKF(TFox}AjB6#%)@q8|1LjEk{GQNX>n`R@RBya3(z=#WpVzD;ac%?<8 z*zRmuSe5NzeSs){)k&v?O}nNr-6YcA;81L+?%Lb+^52&kPt3c!9`7}VCw}GFY zTTCFifcW}t>|N%Mu>Zrm%7d1&k~E6%Q@tkJ{SkHk(USQ=pO|AUY?zHkmrzAfvy^duLAeF5 zp5H&wca&A6jRW|Dy)A&P&P4{{hi~_Qs}MDznT7vtL$ni)13tzC3L4ooj3vM$i|7+~ zQ%@<9^r7)4k2GG^&kCX%y9}NKlXiwX#Y$1r3f(sjn?ETNy&+O?qD#_t7R7GH62GYQ zdes!p(N;6c+*0gl4#QjC?yXev(Z|)L+8Y$43*DrG)-=YAxF_izOL#J<&ll__nskTX zwCZve0EoqW<`0k3MpAwiDK(PSMJdU+GWwPAZb~yX24l%3Duig8-oW-%eHyCK^MysK z5@+s7okgk&wK%U}@5yAQ_Ko5mfBpoX=|Ji)ir@W@$xoE4 m$Ph#S9eYR-s_Y;y0W4cGdX0&px4@oz5NUA*u^JJ>;Qt4w_iqXS literal 0 HcmV?d00001 diff --git a/docs/source/design/color/guidelines.rst b/docs/source/design/color/guidelines.rst new file mode 100644 index 00000000..b9de743c --- /dev/null +++ b/docs/source/design/color/guidelines.rst @@ -0,0 +1,47 @@ +################ +Color Guidelines +################ + +All UI/UX should try to follow the Material Design color specification as laid out `here `_. + +----------------- +The Vircadia Logo +----------------- + +The Vircadia colors are based off its primary logo variant: + ++-------------------------------------------+------------------------------------------+ +| Icon | Logo | ++===========================================+==========================================+ +| .. image:: _images/vircadia-icon-128.png | .. image:: _images/vircadia-logo-564.png | ++-------------------------------------------+------------------------------------------+ + +------------------- +Primary Color Table +------------------- + ++------------------+----------------------+---------+------------------+----------------------+---------+ +| Dark Theme | Color | Code | Light Theme | Color | Code | ++==================+======================+=========+==================+======================+=========+ +| Primary | red.green.blue | #434343 | Primary | red.green.blue | #434343 | ++------------------+----------------------+---------+------------------+----------------------+---------+ +| Secondary | red.green.blue | #434343 | Secondary | red.green.blue | #434343 | ++------------------+----------------------+---------+------------------+----------------------+---------+ +| Tertiary | red.green.blue | #434343 | Tertiary | red.green.blue | #434343 | ++------------------+----------------------+---------+------------------+----------------------+---------+ +| Text | white | #FFFFFF | Text | Black | #000000 | ++------------------+----------------------+---------+------------------+----------------------+---------+ +| Background | vircadia-navy-blue | #182b49 | Background | vircadia-navy-blue | #182b49 | ++------------------+----------------------+---------+------------------+----------------------+---------+ + +----- +Theme +----- + +All UI/UX should have a **dark** and **light** theme for their entire layout. If the interface is in its early stages, a dark mode should take precedence because it is generally easier on the eyes for all situations. + +------------------------------ +Virtual Reality Considerations +------------------------------ + +As we get more dynamic and sleek UI experiences, it will make sense to deviate from the material design color specification's requirements in some areas. This document should be updated whenever such reviews take place. diff --git a/docs/source/designer.rst b/docs/source/designer.rst new file mode 100644 index 00000000..bfc876ec --- /dev/null +++ b/docs/source/designer.rst @@ -0,0 +1,15 @@ +######## +Designer +######## + +---------------- +Design Resources +---------------- + +Design resources such as guidelines, specifications, and tools can be found here. + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + Color diff --git a/docs/source/developer.rst b/docs/source/developer.rst index 8a9fe34f..cdab5cb5 100644 --- a/docs/source/developer.rst +++ b/docs/source/developer.rst @@ -1,12 +1,12 @@ -######### -Developer -######### +#################### +Developer & Designer +#################### -Developer information such as how to build the project from source, develop, or technically manage it can be found here. +--------------------- +Development Resources +--------------------- ------------------------- -Development Instructions ------------------------- +Developer information such as how to build the project from source, develop, or technically manage it can be found here. .. toctree:: :maxdepth: 1 @@ -16,4 +16,4 @@ Development Instructions Create an Installer Interface Domain Server - Assignment Client \ No newline at end of file + Assignment Client diff --git a/docs/source/developer/build/BUILD_GENERAL.md b/docs/source/developer/build/BUILD_GENERAL.md index c8d4785d..db81ecb3 100644 --- a/docs/source/developer/build/BUILD_GENERAL.md +++ b/docs/source/developer/build/BUILD_GENERAL.md @@ -21,8 +21,8 @@ These dependencies need not be installed manually. They are automatically downloaded on the platforms where they are required. - [Bullet Physics Engine](https://github.com/bulletphysics/bullet3/releases): 2.83 - [glm](https://glm.g-truc.net/0.9.8/index.html): 0.9.8 -- [Oculus SDK](https://developer.oculus.com/downloads/): 1.11 (Win32) / 0.5 (Mac) -- [OpenVR](https://github.com/ValveSoftware/openvr): 1.11.11 (Win32 only) +- [Oculus SDK](https://developer.oculus.com/downloads/): 1.11 (Windows) / 0.5 (Mac) +- [OpenVR](https://github.com/ValveSoftware/openvr): 1.11.11 (Windows, Linux) - [Polyvox](http://www.volumesoffun.com/): 0.2.1 - [QuaZip](https://sourceforge.net/projects/quazip/files/quazip/): 0.7.3 - [SDL2](https://www.libsdl.org/download-2.0.php): 2.0.3 diff --git a/docs/source/developer/build/BUILD_OSX.md b/docs/source/developer/build/BUILD_OSX.md index b39aadb2..ccf32d71 100644 --- a/docs/source/developer/build/BUILD_OSX.md +++ b/docs/source/developer/build/BUILD_OSX.md @@ -1,6 +1,6 @@ # Build OSX -*Last Updated on April 30, 2019* +*Last Updated on July 3, 2020* Please read the [general build guide](BUILD.md) for information on dependencies required for all platforms. Only macOS specific instructions are found in this document. @@ -8,21 +8,24 @@ Please read the [general build guide](BUILD.md) for information on dependencies [Homebrew](https://brew.sh/) is an excellent package manager for macOS. It makes install of some Vircadia dependencies very simple. - brew install cmake openssl + brew install cmake openssl npm ### Python 3 Download an install Python 3.6.6 or higher from [here](https://www.python.org/downloads/). Execute the `Update Shell Profile.command` script that is provided with the installer. +### OSX SDK + +You will need the OSX SDK for building. The easiest way to get this is to install Xcode from the App Store. + ### OpenSSL Assuming you've installed OpenSSL using the homebrew instructions above, you'll need to set OPENSSL_ROOT_DIR so CMake can find your installations. -For OpenSSL installed via homebrew, set OPENSSL_ROOT_DIR: - - export OPENSSL_ROOT_DIR=/usr/local/Cellar/openssl/1.0.2l +For OpenSSL installed via homebrew, set OPENSSL_ROOT_DIR via + `export OPENSSL_ROOT_DIR=/usr/local/opt/openssl` + or by appending `-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl` to `cmake` -Note that this uses the version from the homebrew formula at the time of this writing, and the version in the path will likely change. ### Xcode If Xcode is your editor of choice, you can ask CMake to generate Xcode project files instead of Unix Makefiles. @@ -34,3 +37,7 @@ If `cmake` complains about Python 3 being missing, you may need to update your C After running cmake, you will have the make files or Xcode project file necessary to build all of the components. Open the hifi.xcodeproj file, choose ALL_BUILD from the Product > Scheme menu (or target drop down), and click Run. If the build completes successfully, you will have built targets for all components located in the `build/${target_name}/Debug` directories. + +### make + +If you build with make rather than Xcode, you can append `-j4`for assigning more threads. The number indicates the number of threads, e.g. 4. diff --git a/docs/source/home.rst b/docs/source/home.rst index 8afd882b..0b03880a 100644 --- a/docs/source/home.rst +++ b/docs/source/home.rst @@ -16,7 +16,8 @@ You have the power to shape your VR experience in Vircadia. * :doc:`CREATE ` personal experiences by building avatars, domains, tablet apps, and more for you and others to enjoy. * :doc:`SCRIPT