From c3124d4e3c48a580d3833a1fbf727ba7ef741ca9 Mon Sep 17 00:00:00 2001 From: Til Blechschmidt Date: Sun, 17 May 2020 23:36:53 +0200 Subject: [PATCH] Does final polish --- .../main.swift | 17 +++-------------- .../PrivateResources/index.html | 1 - .../resources/C5B55C-restorable.plist | Bin 42474 -> 42220 bytes .../boidsintro_hype_generated_script.js | 2 +- .../Pages/Schooling.playgroundpage/main.swift | 2 +- .../Pages/Forces.playgroundpage/main.swift | 2 +- .../Interaction.playgroundpage/main.swift | 4 ++-- .../Parameters.playgroundpage/main.swift | 2 +- .../Pages/Teams.playgroundpage/LiveView.swift | 3 --- .../Pages/Teams.playgroundpage/main.swift | 4 ++-- .../main.swift | 1 + .../main.swift | 3 ++- .../Final words.playgroundpage/main.swift | 2 +- 13 files changed, 15 insertions(+), 28 deletions(-) delete mode 100644 PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Introduction.cutscenepage/PrivateResources/index.html diff --git a/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Cellular automaton.playgroundpage/main.swift b/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Cellular automaton.playgroundpage/main.swift index 9e949ca..3d3ccdc 100644 --- a/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Cellular automaton.playgroundpage/main.swift +++ b/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Cellular automaton.playgroundpage/main.swift @@ -1,24 +1,13 @@ //#-code-completion(everything, hide) /*: Large swarms of fish or birds are complex entities that are comprised of hundreds if not thousands of individuals. - Each of these is following a set of behavioral rules. One might think that such a rule could be to try and follow a leading bird. - For small swarms, this might actually be the case but for larger ones, it is quite the opposite. + Each of these is following a set of behavioral rules. - Turn your attention to human behavior in a group for a moment. - Picture a concert hall where everybody wants to leave after the show. Every human has the same goal - to reach the exit. However most of the time not everybody is just going straight for the exit but instead, move laterally to get into a better spot within the group that is trying to leave. - Another example is people at the checkout in the grocery store. Not everybody is using the same checkout terminal but instead, they are distributing to wherever the least people are at that moment. - - These are some basic examples of rules in the real world and just like humans, fish, and birds have similar rules that determine their behavior. - - You might have noticed the fish on the right. These are currently following one simple rule: + A simulation where you have a lot of individual entities that each follow a set of rules is called a cellular automaton. These are used in areas like biology and physics amongst others to recreate real-world behaviors of complex systems and this playground will make use of it to show you how awesome swarms are! You might have noticed the fish on the right. These are currently following one simple rule: `move in a random direction` -*/ - -/*: - A simulation where you have a lot of individual entities that each follow a set of rules is called a cellular automaton. These are used in areas like biology and physics amongst others to recreate real-world behaviors of complex systems and this playground will make use of it to show you how awesome swarms are! - The fish on the right will be your pets! You can interact with them by touching them 🐠 + They will be your pets! Take care of them, you can interact by touching them 🐠 Continue to the [next page](@next) to discover some more interesting rules and get coding! */ diff --git a/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Introduction.cutscenepage/PrivateResources/index.html b/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Introduction.cutscenepage/PrivateResources/index.html deleted file mode 100644 index 159202e..0000000 --- a/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Introduction.cutscenepage/PrivateResources/index.html +++ /dev/null @@ -1 +0,0 @@ -

Hello world

diff --git a/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Introduction.cutscenepage/PrivateResources/resources/C5B55C-restorable.plist b/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Introduction.cutscenepage/PrivateResources/resources/C5B55C-restorable.plist index 2d66b0e51eb37b687001de31e8c773ead3e35204..48104eb759d1bec63959cbe149d1aad3ec1b98c3 100644 GIT binary patch literal 42220 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 literal 42474 zcmd?S2Ur_d(>A=?U1?XYa>LzVz&4I8(5eeCpbGBv=7I$XkPVW8gaPB4-n-L_?eyNA z-g~!Wr^j)g^y>8HwC_H8(^beGK11Z|42{TFQ*ytyDR`o!rM>MrHFC@fY(uaL;CbC%+5NmGf8e zkMfW4kCV3eeP{u#@NcR0Y6F#Br_p#@TZ5eyVPAV$gSXWmXs*+Y>j?WQ{l3mnus!1O zN1Va+zVg`?{Z1mM>Qd+#>rQSdX zTJ3hWcmvJ8MrT=BaWL$U_=5p7UmI=-c9wRu`r5;wgy(`Ck-~O=_0@#D z&AxJfq!q1AZ)o>sNc{LL+qI?Wt!BfiAl-qxb>rAzFQNV~tjBjO7$41`0z20RwM zQxog446RNx(bq+|QU)Bp<^INSdC)ChSiN56*YXf)x=P{<@QiMhF;t?%_y!#E2K;Rz zqH=$mkMt{n@a*VA;%#^`f^N5#q4yCoE>Uh)Gz9|@&`2jNwFkPR?Ky*Op;lkSXBU}L zEwJXDN1+9dp5 z67)7g^ok*@t2zNb6moh)UdV5qW^6-8I1+5@+fJQE2uJ(e9&81JMCobqMvA=aeGZ>5 zVDG>q;2J=-cH0{p$po7rO^?0}Il7mKQ)ZdB4V020{r_^T_xZ-v zA&q#QW+s@^(b`DnYIm7`gHKWdm?-vEi~!ghu9SLJ8}v6iK{_HTml$_Mi3qQdV3+#B zzKBM_^BRg*tBd(tH8ZGus)-6yCsUVGcTpcGMky?cRf>ROqv90Bg^FtwcPSoM>`}a@ z_)2k@=IJCloz~L@^fG!S?Wa3mqY5ZH<)ECDi*i#9R3lN3we`LYeqVdBH`1~)9KmGq zwl|hTh{}KuqS)fcSOh%n!8S~5 zA{LWzCD`c>G>UgY@A{i$wYU;ZcQ*$EWkgfgX{LrT6&oNHeOp}^X!LcFZ#Cl7i1?Zz zFW%M;UwEa&31>(9dS5uLpoS9vr&bg8?|?0-ro69HHB>FNf?7$fqE@44qXGOtt{y;ylr%>lnmr~n@#+oxljAutN zo|DL$b4BTpF`6uK5N+o9DFQHVr_QG?pf02?qAsQ`De;wrN{%jRFA0}KN;;|tMmPxl zKwd%JK;1#zI5dz~i6F0ug1j~nx0q_TWLO2iH;$QIAniQ!h|^sMn~s6MOS8^$2?N zXr1OLh=svm6Lfw4N2X4u)n+vG9SO^(6}VNfS;UDY_0?cDnEKuWc@mBwgO5{BP)|}% zttJv^)SF1_7SpCdni%w}sc6PzG#UF57TZkh=rh!_)N|DHQi~S7Mc?-^KoNk0v}iU7 zwmvM-8Dc00qc=#iiBMjoUZP&6UV*s)J&Q%K_N8Ye^lXM0Uj~3mX7K=DkyfpORe$7G z6XEQoUZwU?`=u_}bnzmfmpCJ~X*QaV+@{o%foTrXbRwMBsW+%MskfvyZF-x;5UbJH zmv&TY27pVrGr(7*CpME2+62E7T1|vgPrXCEOZ2Arpv6X1OI8>>L8qf^2(5x_`d(F`ac)v`xuO$Hag*6-!PF3MH=5!!0a3|lB=Pn{vfonQQQuQP zz#AcCZ8~e;*=LnCiAckuiz7ZDjeiMgFv^K=f1-Y-exZJq230V`cU$VUSx;neuiQ0+g-C_S9Wo6E06WN6M9)I4oBDPUYDjD|0g8fEC>1INC&4!x%yDW$ z^lON@F_|o)xe;LvMqrS35^1Xy!xY1#K9yCckCSTIrVzVoHbdn5{7+PAg3c7DP7N4B z!j&WTVWs36NJ>K;=P@cqEA$GJ!Z0N7KrxTk{q2iu6H)kAImgY2<&Nqt%E`D(?y+RIQ4q@Yr!1H0Uf5iAU>T)cA8?kVum7F z7HG3clwqqmZm!sDo5-;0^)Sy;I}(Zk$;b{)yk?V>d1BLvm}V+c6={m}I?Y^AHJak4 zpN`l_^xxcf64=mhGW15BHO@g1Cr2X1e+5rMVT!kiItbMfP$YI`wqlMVLorvPXg0)m zMfCV=)_65f`a=3`vRUFJcA$QX_YMi21j1s7(;rb2+aE+?SLP|^E3}GCY3Qx-(@&C5 zoz5%|gvA!883?FvyItnc{rVzJSHA2Wobg z!k{pgG?zG6%dUiv1lary@xFw@irZEwjKr7tM<+tDKvWC)QMFK@a4L!vOBJPxs)SA` z?8JpoIO;T+=!DJ~FF-~Jg%+1}agw6bnTVbcABZ;=HZw$SfCmyuyA*DPM^RX(nFrGP zBYO(*gasq$YH_z8IgDlcf_9;3W2Hp<=&1hyoN)Xz~_t?(;a71)IuibiS>HIh%#NIMlxiT!ImFNf5Xv&62P6Ya{miCsBQvAtKe%>95!D+%J+66{u6Ja|d( z$15?6>LyX9`~hHZkMsk75x`%Cxa*L>UoL{*5e2_95&SO2mAx`$jSrAX&Q(9l3E7cn zzQrVVP8Z)LGEg!2*oEi^AAw`V9S9l^3I0tY{9B^%Z%u@Mo8oo}KJkJqMiG!jh@S)` zBtaHS{mi0`xYtoB2}2L{LwYxmK8oP>kdTUjRD~Q!-Klse5$VGU556(?^$IS`e; z&d`sOM8%T3ZSnn)!yNr?2HRzcCtIBT`tk(&@-lV8(E9SM$o1!=Tz?_4FE1)ylKLWA zi++nOG3aIJ*O%x7ID#G`4omz@hjx{_(%^4z=+~9K)ON+Yi0cn&SY8*q@@BLvZzXo+ zZN)piU5Sq)=!jte_v2hFn~j8Wh!v4y((z$VolY+aKjQL7P&@~L{R`|!3<>*3BKA+B z*gs9g{+Z%)g1v^wHYA96MWO*S$BTy8i~frj%O){QAmL0iPlgTtZlJ%8msJ@@d2Xdhg&O~kUJGGrwVS8sNIBAODq-hx^%_QKYSz6hP z(`1gHcF-+R4jba*6Ox>m`uPp!m?R`B7g`PAB;cb&;F>7#F^Ry((&M6%podKn zHW8T+;1UQi5Q$oWo(K@B)Fnd$F--(9BMKrp5kv|-Q{tW&%oGx(FuD%W_2ZPNiLnh4 z@6VWG&=a))J&U@L)?s&SNc=lWgg!qCU7H9!lg^T$llfzcUxCP4pr2_Zp#q|tjs4t_ zfh@Z0>>g1s&<6A-4?BHB>J7=b-LSj?8O=6(H zA2_mNpzT1q1Ur&LLh2Eb7DbUROhmefUff4y;ulIf9Sn37s)a^r~926-Z9i`l!NI6VLdimJTQziXi94*M3klnLdd= znLdR+l|GGf(5KU9&}Y(T(Pz`=(C55J%#=}YKK>C5QL=_}|R^iKLJ z`WpH=`UZ>_QiSMRl)UOs)n6RN(Hz4mDKj^k8^ev`CIHeTlBGFWPMnLT`1L}7l0d!> zNvt9nY5h|EX2@Tab^1fTQj-7J?}lme4U2u<#mM|a_8v)JjHL`t@B91`UsM0brvwA# z!4Q(akQgOmC~x-$q*PDfLZW4PaG6g^HIvhNq`c1wB-?3W0O?&~w&oIleY>~4yBZuP z`F!D;h@2T2E)R%#Zc}?kk)`6wYvjWE_f#uXUPPax>r^+1&LYxVEpM6PykbHA@9 z_jau!)bG1!x5eR0_;$3EX6W#>c-Q-bB%L;HxQ@W6Y3;r?B=c6a_yWscUYseqrBQbAuTSW5NQQo&lP*Ody!Qo(ksWiNh>{sbW>Bs2D=_ghM#i=hQ$JHXEPM-AT%Yp%tN9qW+ zHzI4AB*cnSEBf41tNVO|=^B~Lz-ZEXN3yE_Q!76`aq{R_L8*S1J`{?~8x~kt%ODkZM0khw+@U!~_i zqdzZC^LRWp<-RUt4FZpJ{Y(0*ra3$R8jY;^da9kut63O8k}=8kmcBnke^YMJhq@}I zJa6gZ+w^yG-^G?}v8={jhWYRABH8Euhzq(2Iu6<9(vv^azf?l~BCk^fVsG^~ z2c&O)qYqb@OomWbS**D~=s(NMp{^ChBndsx+{>fC8LB)0xvH%onfRjV5gTD>hN%ug zHT#g13076L_#?hDj40BlTU)&$I3dl_jY>vUD(EU}#r#g`63?j18vX05%Dv6KZ2N;5 zUMrK2!Frq-85>zqp!<&OAI#`g@&kP?Gh>*s)!zDWuob!U)zOr6spD@m<72WQva`3J ze=tca<;Hr4nVG~)t`KzKRD~#cQY#-bQ)`?EJBLX&uGFFF%MHMr{Q)x%*}Hw^RANPMALzFkZER+Vo$mA92TT?cWD_6nO8`n>T;Dq| zIK5x*VGJ>jiY$tK#h4g#)q3gZMD=o<)M!F(u+$MNW2*|09AhN-BB?hlPY@=D$*shR z2dEkhI?2}$HB*>8#?H7HH&e(gWR@^XnPtp!rkE*Z%9skKlBr^9 zm=(+_rjGG44NN2BW15&2iDW)g06S9TYhCXnsqFLZ?MS?zUk0Z@Tjp!`H`Njq;PJNk zTP1zOI2dPTAlQy1=h`LEjeVyi=C{sH`X)~TBBHsb7@KZqBrlXXg*mk*5Y%FcgtL6aM8*ysm5P_7hhzOdgScmKYo*I)F=v+w zFpbH*Pl*(xOGlA&Skp;&pUccGH^q#@cINzQlCPz+=!`YQ?<^(9Zp1t3JCR z{VBt#n{~ckZZH=!xn=$~$+yDYmlE?IyBmjvU~U4Ewc3l-!dDXgDEljja=AWg zBGAB9)xErkdDFxV z01)P;+Fl~kqqoqXR0n*WbxlzbWo~0`uQC|1&l&1k9hHMVhL;gVZ6b3Qb2qb_xre!z zxsSP@d4PG4d6;>Gd6apKd7OEYd762ad5(F3d69XEd6{`dq6PCWexUo>Zs`gZ0n&$o z?J@(iE4A|wri@+}oib#`N!McrI?*IQ0kJW~Ce>3g$wIFrJVSp44?dTim&|kETvs?Z zOZ+Ui8dVj~6E{>Z$g)Roi%#W46;e)rB0VeeY8USmFBK4v~;K4-pSzGl8* zzGc2+eqerLeqnxPeq#+8%-17&%UL&4;~a^@Y% z%p73eI!Kb#9<)H^-tz6=5Ll_6)erNtddo+9Luw6b~rnN9m$SjN3$As3_Fe;&nB@G*-7kV zb_y#?Y(o37zQp`bqAo=YECalPF{J{lPC==-ebcpl;R^$7hMkS> z8Z0rD4r3{ijdF-R3Zh^%_A`^Lmd#|dSRE^{de+FASTk#3t*njBVRP99Y#y7>7O-~K z!8%zN>t;P{AzQ>QjCDx-Ku0BIu#q$nwB{H$2N_A2HL3mBNM@sJT3bwNhdh!o4+ADf zLK+=J21Z08GUVYC_19E(F}s9a$}VGsT*a z&o;1)tdDJCn^}3u2LTu|zvw?`Ned1l^K1oKT*Wkbj9p`yxl-ST$|!a<^ng`-hFwF1 zJ}M+Jq5p6BHI7}&u47x-HnyAH!1k~k*-h+bb_=_e-Nqin9?Krb9?zb@o+!bEzL!2k zMK-45*}xD~JR2q|p6!rS{7!a#f`Vr|iGpVlNE=9v5B!aU3<_TQ05vXtpg)K*8>(Bn z(pNQ0Hy=?gOJ6}DOHW0OJp<23`YJ(D5=9K<%bv`h!k)^W#-7fe!JfsQ&7Q-a%bv$> zXD?tcWG`YbW-nncWiMxUushjZ?3L_Q?A7cw?6p#x|3(DaGs%<{qVhF}ATlQ=Oxg2^ z?=I-0+G)tzm%R+4DA`8#3L=UzFF87OS?FJ>Gyit#UeDgZ-pJm>-pt;@-p1a}-of6< z-p%f2?`7{}?`I!iA7me5A7LM3A7`IrpJJb8pJAV6pZhQPb}PL5m|h-)ZR}lS{zg?I z6Pv&H5TAg=_$1mxp2ZJ?br$g%_EEyR*vQ3L_XJFrk+{zP9RpurUu0imUuIun_pqLYwYXn8|+)`+w42+yX*n>J@z2`ANB+GBlctV6ZTW~Gxl?dRDv)MW-InW@bta5 za9~?OA4(9sH?gqM#vG!d@{WNgBysM2!nvraiRnM~L&CZL&ghdV`z8Ao`!#!r{f7OP z{hs}S{gM5N{h9rR{gwTVJA>Sq?ELhQL;*M>N<*g{%!E0uqc7{heUO7uSPiau*D4ohh%3@`;vQF8o3@AI4o0P{X zPg9<&yhOQ6d4uu}<$cP>l+P*mD&JOqp!`btqw-IcN;OI~Q8hy~OEq7mS6NkgDz|E} zs#I02TBWL2HLF@x?W#`IM%6ae393_7XQ{TUE>>Nkx>|Lk>JHVtsz+2$sa{mQs(M@X zf$B5Wx2m7sRZdVQDJLo?DJLtZP%bcJs&blgx^jjxnZ8|_qMWHr#R-2aGgp~LnNYIG zT;75DLo3^(`;}PpOVuI7?KzwXkv8t-U0x}~-&@B7bzH~PtU!lHE=v|EtH+^5>_adcoCcHKW9f&*t#b-?k6y-tD3yeT-a{WA z1j2m!UZqxe9QkMyuPdwd%nE02ACEyIIgVtZ@)bI+x4n z)>#a4$OPW21VO1I^URzW3>gHMk$ymFQks>PC@!UqNDWwHHk+(A!C=?Atpada@WWwn z>$MiE+Xc2+oJOlY9+$y`v9h@Z*?EM0k#SiGE@Ejk^dL}j>4%gHlzGbh7!K@wVKy1#p%@`Y7)QMXg(x5yN&!*bMgoNy1d5Bk zU+GqQl!Y-UMKTnZ$!aybOb#t7M0hY-7M<2=*E_Wq!Qi&JTrNRy3jLtC-A=33<#b6R z3x}l_iiRBo#A5nx0vI$snA_{B=4UCauwJ#t#d0h|OUZv<9o)V6mYph|_L}9}=^};IaUnxj#P| z2|o;kAN(LtS}2m2UZk;0z zip^lQy4`rpBk=>aU*-qmfob`_Kk&e#(6NJH2?9$fV1a%O$FS(l9*^5!Hv(m0ikinJ+!c zm=fri&Q^d^_qZE@=D&|PMe#}m&NE22$qoynz>u)r0UuqZc>Xp#+% zWm^896&1t+4Z@wxK(s}}v^eOxLP+*iC{{LWISIgou5AXxup-X6OXviOQ2??wq2GDmGYTgWcjWVnV|f83h++ zkq!fA(?c$7I=#tg(8Xi%xSbwMbdOQOf$>}jUFrmQ`Gnk`?;LU>GOrATJ3|<*8-eI1 z<;}`lWbWJ+Lu9ZTV5U7btxhjM8JqFLYA{%!j0L074((z9=i<17>qZz(vuqy`X_gU* z%Xh2*)AE12=%O8i%g>$g8tziwt=uiM=pJR%M48P-k4H>!&H^h65sw=!z1?Frdt7dLv=9-N0X>b$C18JU zD2C#B0D3|BqVgq~L$AaDIUQ#FUuV|BpMZ~Ngb!?kC$2Rb^jNG|-Bz0e7Oc+#1rDIq zY_|!5%prugWk4^JsF@CdueAK14}Ami8O%_;3KwUea=-F5nMH3X-;})zBm4&xtTAd~ zx}ltH7EE`+35VPc&11ywv>@2x5#ivq!w!okc^51KAu^)Z!6K6=(6U|Es0XoK?*P)f z$^**xWG21e2a*NVKb%m{HVHCx)DL+$&T#03jB(%=Z{En0^Oni>M@*4kY98Vv@g z10H){J*3y!%zEfb2mE5mU?6%cBl=X_V-N-Dvy)ERieb|XOUwV^A045u>ARGNl;0@7 z71_04`5k3a;shC1Q_wF~hlN-WJyr`CK{w2}(!PJrygF1-##6s$I#+bWw^ zvLz>hqo1eur{&AAh63s*fcjbai}F`_3=e~2zl)%pCXhC{-I)6(a12L0v<|Z#P7pjc ztIH!Qr$kVK4XRS)7}-ITIYyE;^#-B~{tdLhFqnU~MqFm>;+pz30*&+2Ptp-@|`W;q>-DGGHxc5Ij!k*IvE}aEwvV!wAp8 z9n+k91_F=_0CxkxOjW83AWfC787TvR1qT2WXVW`SgG8%yIiW#4SQ0uQNSK6XtHbJq zO|Ef2+eNn_{MaKmfA=-~j;0P|cMA9HpA486^QAt~mfeJe+znmZgXuVXm3= za3Qf?*E$5Z!KuSUce~;P2R56|mbdJM_umx79Znwh%>4oI>C2w{9Em2 zm)T~4y8Gw;697c~3RPIliR@pfS|s-$D^-wpx{QK{2tM>ZG=#_Q)H*C~C{Tn5OnQ?Y zf5eAeZB~!f>Ci!O#nveU3f~ftM_F0bGSzaKe6gxTqmcn%y#oL)i_MKFh>=7!(SM`S zqP6RwDs?V|i>x{iRwnVmMCeki%VCnxe|d>LAb>IexC;O(RESQI{wvc|Rhlsp0HV?W zz~*oxl4>-;y?=eD@>S;IztXSiE$;M*R* zVl>&1ET>0w*f~&Nl_=IK>a5MGEitNFWvbXN09B_8LubW|L8Jq7$7I0VL8VYFBA6}+ zGQul}vG(P#3I4nVPKI&7zN#2dC3f;y)p0SZ$IDc)GXSbEjEElSTv`Oo;ix#FmaM2} zh^}J+0pAZTy9?VcDR^e0Cw&6xUZ+41>q+5_AJ`SQYh(PFI}~qk3i>RV#uKZZp;-X4qn>uh33r zt=WxQrEUwO2Zympv>S9*Z2BSMN^Fr! zi|8{J+t^8P*j$3yjyP6)UtLyYV7e`y0jUxTNIZZGR2RmmUL;W^F?~?AIj{tD!|XbA z#78FHo)z0!T8k5bZ<`C&&fRZZ;V%d}v(Yi|xDriF+@4ESm&K@FF838dd{7lk4#8t| z=(OlE#uaNSXeR>#nW&`ew%Ez`V!YWiIcy%C-mSL{Och(+q9)#@x-zCEuF{N?>0;#y zx<;4YhNOP1G0irNtjCSTxf?sKa4E4sf{wzfst=EewR0FvPCdX4$YVm6Nb$9*>m;qH zx?XjIOcjA3P_<(zt+QeO%Ro4ba5kb8Hn`kIj|FqeW_Gv{{OUWhHmAj7w^$rDLo5P0 zAo-g>o(R@0s#|69x2bN|jF$i)d4>Sc305Z(T8VnJKxM$C*4j}ASPR9Az=?r`|Kr(h z!wj<9ZSeGl27u_vyHt0}Zq9DiJ#zmM@dkMlg7zkt17QdFu2>u*K8;0$4pCw|Tzv7gX>S4_Ux&P7{!${1FfMNI85Gyib0}Pv! z7kL2KcRY3B2R*nWc(48*1NH? za9bUOybe~`?7@Buyid5ePAgVi{l*`$J;CHOc>bCE(;!b4dC#hzlgU4?dO?#U4*&wk z06;czu<`50J~0^p7xv$4ye@=$MyPugC+iN3~Zb zj|djXBZTY%tMyuJv0;fP*!5WCV8}h#Rxz1e#1D$M&LA$hu|a5e_L3hki$S%IzEibd z^_uE+IV$l6lcs|424Ra0VL^C}T9<=313E;$9Uj;aY~VX=X1mTv>~`WRLP{cvR*nxM_=2rhu$)}y2TY)95U|4Eu3IR1hI6%1yl5!^o>Lb<1 z7$~^qs!vp(%7QAn1Q3x(!DTL^}5pjB~JN3{Z3H-8IT~_D`nf#uC z2kLYBR@E1(FI8X31NF7ir#d9^1Zr1jb=ZtrJ@I6)r-cb>Mj*+J)hKETn*_*7U&4so zU}M>8@ED}1R)3x#3J6YsCmQl=5S|bx?>6w{d({szPY$VmjN^$3Roeu_1z`Q5Kv4M$ z5gH`S!!0mksbYYeX^)d3X}CNvG6T9GqLX(ksQ#k*Ri^rz>Tn!YggM<G#L2t*hAMtV`5*a&qzoNfi^X}(+b9o8ACd~hhMc6=dDtrNlL55sun3y=2D6t zRTor$lX?rBV#iK;H~GNs*w3jrj^jBsHw;xnMv%c7SKQJa#+$hCMy~ZZ(<>e$!U3xI zs|y1yIFB14?=_OnvL!r+VipZZFPj$s9FC`lUB2~r{aLxcHIi1)w3Q&I__X|Q#SawE z6JQz<=UDOQc=2b_4)NFI9qJu*nryQR7M$$!Ibp7$;Oqz@A@Hbm@5NVS&#vi=H}%+2J|xLMpB@gR+vo5y|2FXxN-Qofw8;HxMz zzk*-I*YRF%BHu`5lOCmr@KeQ~>Eh4XJ4%fPl)ZSJo6l*vOfHMlaRR63O1O30iQM_z z{!*j4)MzU;no3Q&Qj?+7Xt`B0nKN)k&cvBH3uoi9xg0K+TfpUU1)QC8a8Ay}xj7G4 z#4Y3&b4$3T+%m3Micm+7RxwX7vRX+vW5ro};&b+ALx zT8h109>F29tD#xEQoXoXyZCrp0av|<$uAK{W5w3$<&vkNLTsOCY>)|$Xo4Kvr zHtrbiSnfFPc3|36WN`K9rES2h$Rx# z|Esg9SC5cG@zD|q(Ya3w8b}&IIuq4=hXiy7yiH3 zDMvc||1b25B%-k+a7WZE(mgPbH*hC$r*Nlor*WrqXL4tA=Wyq8+a+;5nVjhtVkaVE z4R%IPYef$va%Vs_7)Wx6^x#<}vnO_ngGo4$$eoADZR;%#A|9~IF-1XcI+>PAL+%4R#+-=*5uBcvJf7Gx{Cz11KGkK3q$@ zkLb}T8r7Yo8&Se3`h;|9hPw$0bBw~38%AL^RPsaptOcnJq<&L&N_%sC2KMmhr$m3u z%}F6AwY6a!-_K4VRixw#O=1z5?3CVGGbvKBnUpZ8HiI(}{-)@&ghY0VRAxrLw%&`% zG-$U0C6s!1zr2K#KMZlMnB3{PJk(&eADN?B?`5NjY1j0=yUlVsH3J#$j zRCWq@k&}WK@uF0K7JVh9X?jU@l0r`6G?K*_IfYVr3>t-}#2ZMVDe(h~16R_O z*y$#ejFK9;kQpg{pivV_x+iw1@iS(;bR{EtDix)kq?=L5N&LV)CYEpF9^c75v5$L_ zdy0FSNoUe}%QlIxQ%$VhBrUYK=ZMkhow6v&BsKpTqm@3O%92FqWyV=(@y%c3UgzH6-sIlm-saxn-sKK(?{NpY_qqRYA8;RXA8{XZ zpK_mbUvOV?UvXb^hdB92@BiP->nGrpC3e1?`|SS?zdY~2rAM%uQH%Efl3yMz*Yj`f zX74H7!R_Ww?z;ics&PL`XVrNA7VanR51zrn)ppw(!c3{H*aYodFL)g(K?ycibJF=3n6JW5%2bB=zM=F&a z`|&zy-eVCfrT<7d_V3FPiGi{F2`qncfAf?S;38Ofg@^^`4v<%m_=C~zL1YcvkJt`& zkytEwbs%1hNw%B%#B=mE9r9qYk7;yE$_S=Y#v-P<{Ua8h<>vD!1Iu$!z9?-{JSWGD zU^If9X06k11Qr`|e#Olf8#0a%p~hS1u&)@0h3p@i+zzL7E`%)Zd-*bOk|aM25Qg(3 z_>oa|#2`2wb|m&8?ZtsT200+@5s-R|q$3Yz@Bl=HH+qsQ^fc+>fGApqA=5isbh&@D{*69bqgwrz)Y;+z`I)42p z>EI^<%Orj>KPAQvJ3lpw1)F=we8T<&HqG@Wk}irpbcC%OW|9w%=xZVt2R26~QxwmR zwEQTRfg-_3AK)^n8~J2DMGD#TGx=0G{wQtZBMb{c6?gD$*ig6Pe1X*p@r8t#5wbUU zNV-y-j39=Oog9k;c_}jafp$zt_JT-$7C&1GfAVwqjJWWp%Zk(!lGaFa&yh2sN8sLJ zwrLH>(!!po2}yl@cZ~FUo8T7AMyr9OMg0SL;vsPJ(ffJ)e5v=!G+rCmdxHa;Vir3& zYiK0t1jt{o>yV}H!g(0I!JtF@zF+Uj3^C(m;DAXCF{(OVkU9;j`nXOzk=o=2VPs#C zqhqK@k8}bZ^1ZD#JvJ+FiUWJ#aXc5Px=k+2fUK@WUj_8l#N%8rNl)P|yfv<`XdCG_ zRzywpP?gBJM+y{@CbTXaHcgOzCLkZNA63i)m)`9{%wOII`A70Oe6Bpw3;4YFPV1rN z4A6;q1tydcl54?g$eqRNLD~imN7*5D@tr2*k+h6Jca;2q8ksNPbiAE+@XpwrTgAI2 zjf~wjoz-d4l2;3o%rl%ZvLMITV}jBZ97d<3U%y=rvl$s5f=xa~6Vu4Ni{vzE@NPw< zqT{v7IFzr`TdZjX<7JgF&@}X6aC8`)h5TZfJ4^Vb5_kATM{JYmEvEx{JV3Kr~50w1;2WcP{|(XugERp!u>LJGm_Kp)zqN zfEPpY{7Ui0)#A@J;?H_96wmt*iZ8<)Oe;8gt4L-CzmIR@1ALGV@tyqXsFWHCqTF@6 zSa1#HZ&3uU467L|W5PA4NGq1^4p%ml+I8W5{Ly?nALb)`2fx0Se2coUC>d8tR!81Q zEvj(iaZ-i0tU%~0TN`Swlp5c~ckw5@!FTf;_#Vo|Z{#=en-P^qfh!*Ge&X>CqE#ps z-qG5K8r!72cbz6x`nz<{TGq+ZO$!4JtsRZNg#lNvp@Y;GFYhd0W`<%#929H!67${=o>qZ9pE^GooquRofcUj$hPPsx=3L|3W5WNZw$sAd-$FF z)d!J1dJTUqe;t24e*=Fbe-nQ*e+xQ!D}Nh*JAVf{oXt%{hj)u3E*3STx8X0;#K+Fd zBN(JG0;yni1S|6TR$p`!@ot|mDS6*pR369nQ94=@Qt++S+l_Z)EN>TQO&MzYVkpOA zagU;X-qz9%RPt`~p-%8h(tJ^*t(A-@cEJ3SxRm2g(lq1+Rn@14J3>Tw7m`A{0bc|} z5UcRDn=Muw>Lf}{>|wF|fF!Q7+q{7eZ)dHg8D5bUb-lc^J~T!M~10T zE5m=~2K?aFSMmG#*OUVPIx6q4BlRSus`^WPfsTa{Ut4dTdAU|OD(eq=n?2x%QXw_# z2fr^`mRhZThku)Yhkutpz`w^IZIL^qSA0*??k>8%0&4P-to5vK_@WT)#=Or{i^ebl4Eq*0%u!$0{in7V$Y`Cl+o{9$JY=4zYNI)O>15m-e;e{$lt zq?SEo0cABRi9|GbTPwu+Ce`7N`t^7^EGo>T9`XVd-KO~|Jp>a<7UDJcn>MXLWfZCH z6x%NTSM{7DA^U^>lm9EB6_j5%LMxVC{NL(f{ab-ts2Me@R$^LVUiZObATOKh4@JLI zt=cCt=W8{m=85ZaBRVW96n!}t;~L)|4K$;AlzOxphuu)hd{R#j&df!5W3V0x zkZG5CjCxxCc1W)#sFTza#a>NJYzHX}aV$3OR8NZbYqEL@>DNF{L7a$wCGR>ITBit@ z6!lDXst9JX3q=>AR-mEZmO!L(9)mjk~ zVYG?7v`dsitR0Rp^5&iD%qXNRwT?g<@Uc4041ZL$92t+syi09VSM67u@Lrj7)MmAX zy-Z!nK3pmGgs31{MTy!1mSm^e`i9!3&Q|BBbJYtdhdNK4PpwfGsF%|>un(&%YBvOf zZ63VBBZ#@E!E1H!{s1yVmp3(qeUX|L6xkP>f*Fie4#v-Fv?g_=nuM317xdNil4?9t;jUXU3apV(Ae(O!>@50}3o(mT4<>PEFs zUB6RZ(|-_aF^DVFb=(|vy}IEaIlMZ`VLq-)65cgxFOcy|G`XclV;rVZqaLOqw$&iN zQ>LR`P4Uz_)FB0{NKzby*N0at0*Wrhg^C*#FDibf)pQ!Ir?crLbPz8&x}1KB{)#?~ z3f9StjVWT*FhP{2z6P~}Ut|t4pQ3(h3aWBC*-jMnyC3z|K4yQ%@w<7-<;qIbA_=3k z#5UzI%43zsONAYjCo4}u399#S$n$6AVI0a!Ru!SpRJZCx)fuWARQDi(@H5pNqQAd%e=eK z5cXB-R&_ufQn#xk>hSNWHs-IFnt$s%Rtok|i^XeDWFRMQtMh}}lZ2qv! zVY*@ZVa8$RVb)>U!(7AM!&VPFao9=2P9Ap3uv3SfHth6amkzso*ayQ74Ob6O9WD%C zGQ4^C@xw14e&6snhW|7|Gh*(Dg(DhAY#DLIhj6ee(cDx z*<&ll){ku%yK(H*W3L%|?bz$aUO)DRu{VyrckJG=-;L9Z%NkcSu4P>3xbw$7G49>* z{CLy&`tfIszjplo3Dku76KW>3PdIzR!xO$t8kUrn5jzI&12(smrGpPc4~RI<;(S`P8bZp{Zv~ zePHUNQy-uDNiftzp{P(=MHM*|go$4o-W2 z+JB~fFzv%>A5Hss+Go=h(=(^9oZdXWW%{=1H%z~A`c2bso_@>pTc_VP{m$txPXA)Y zq#5ZmX3fZ((LAGNhJVJ|8S7@W&S;wvnsM@sduF^bAo4hA^Z}O|j`;zx3zn1)Z@>|K@r=+ATOQ}hzO$n!5nsQmn z`2*}vMc54l!sHkoH==B`pj7~^JX^BY?(e^Zy3)GSHl%GzJ3sCAwD;1!Nc%FKP1mMpre~$=(uH(= zx*^@1zC67qy&*lA9!fts{f_iI)9*^ZJAHThJ?ZzRKajpZ{o7eHW*s$a-YnOwwpoE$ z!C9eMN6%`X6`r+z)|s;&ob|=5UuXR`d+h9-*}1b9%+8ygKf7SIeYR`%s@Yw$&z-$% z_LZ|Aoc;0aPiB8Q`?J}f&;DZem$MJe;pU{x$(yru&ayepbIzJ`_MCI(oIB^dIos!) zKj)%3cg#7MF*0Ln#p4pvwBnMIk)GpjP!WY%YPWNywpIrE&% zOERy>yfgE`%!f0d&U_{FgUl~84`(r1!?TjJGP1I>oLNO#C0VsutFtX8oM?w~oQ2_}&|R;)Nq492LEWReXLWmZ@9I9*{U*?YMwl$53iAY<%M_LiD+QmhPB>cFARH&0 zE}SD=ELy*&4ETTenzGvOZ>g-n!5FAL|#^A8f;H<80Gx zskV7ID31__ZHcYU)?z!_w%)eIc8u*R+s(E+Y!BF;w7qP5!}g8sSKA-i%IxIq^lWW* zR<<>JLAEEmF1sZ=ki9AUgzU4jugJbG`{wL>vmeWTK6_vGJK0}k|B#cOqs=krD>2o4=-RA3|}yP!R!U|7nm00 zEO0GYvY>H6+k*8AHY_-H!D$P&FSumERSRxdaOZ-%7d*V+nFV_mytUxtycv0O@^pE& zJV)N*yz;!-yoS8iypFuhc_-$bm3MyL6?xa?-JW-U-XnR>=IzaUJ?~)NXL*P6e#xiu zmHDIcC+4T*oAUGWUHMD%EAv<9H|K})*XM7^KR*AA{0s7Tp#AlL4;FSA$K*Vz5`c6+CNtNmpAIrdBJSJ`j2-(i2i{*e7?`wRB{_5=1$ z?BCdbwEyW)IYyHj2aZLKGRI2C@s1N5Cpu1Yoa{KoajN4C$F+{f9Pc6nkns^`3Q}h-Z`M1kb6S^E{V%uJPRJxy$pA=V{Lip8cK!o)0}=d4BR7 zE@TQv6iz5yR#;WIrqEy5Uf5H3T;VB&=N4XCcy-||h4&ObTKHVytA+0repL8*;rE5V z7qLYni^dgAE1FewRFR=5x5!;oROBxT6&+J_Y0(`;4;4LL^hD89MNcoRSa`z1Qx{&i z@XCez7QVai+l9X^q81HXG+|NMqLqtQEoxd6TohWgbJ4*?pDp@)(f5mfSe(ANe(}1+ zt&2Mr_bfhT@u`a+Tzq&5vxHqTa>=+Q6P6?`DO_^=k~5Z^x#YqnmoM3|WapAsmui+y zUOHuI+R|A|XD_WAYuC>>Thyfn9T zL+P=l$CaL5dVc8zrO%eB%0`!I$|jf1D4SE3QC3rSLD`P7on<$a-C1^5*~jH+<@3w6 z<>vC-a(B6>ytDl7@`uYGDSx*7rSjLy->Bd#JQd3;iYsa=>MI&5&Z~H};+=|jD?YCH zqT+{&A1h~7HdMA&wpFgL?5RAi^7zW#l|NSgS@~BLS2eOKscK?XQPl}mXI7n6by3yj zRo7NsUv)#(JJpk`Q>)Xe=U3~ibEW8bJtbVEbmFhRE->Ml_Q&dw@ zQ(Cj4rm?22CQx%l&4HRvYCf&`w&v%Wziatgb!~QSSM9diV`@*WJ+Jos+AC^z)b3p| zdc~v_lUJm!n76{X!nC4k#Z@bAUUAEcdsaNO;^`Hytk|>S&lP{Kq*kg|7OpH_S+a8T z%B?H6tvqGrvn%(me0AmDs}!r~Rl`>;TvfWNY}M9P+g6>j>e*F$SG~IG@72_5_3Faa z#j8tJZ(hA+^+~IrUj54IJ*)p*{dXNzr>-lkE3PZ4+g!J$?xeb>>t3nbQ}<`x-)pck zT2r{DcumQg&1<%<*|z4CHP5bjZq3hYe(_S?Ja4|Y)!T+Q$lm3>+xvm{L+@AhN7c`( zudc7Dudm-xzq9`3`aSh~>)&pe)G)ch(@@w@+;B$2nGFv%Jk;=XBipEK)HfO$a~n4_ z_B3ACczxp?jo&tY=bPb6_GO?1ZL{w@-*(^SzIS~GnuawEZyMiJ+EmuGwP{<^DNWBd zJ=gSe(=W|bb6#_Pb8B;;IoRCQyu10H=8u{`Za&m9zs1yIZfR)owKTN^TW)UI-EvRM zM=c+>9P-cioBU?HW6+0}%Le^7`*-{A@qgt1*nep4{I#aF=CuuLeQTT62G`!acK6zQ z)_%11%lfn+p@N*w(2%-+uF8pTcmAg+pe}7+dgmmA}}#9DKIlo7ibCi18W0a zffEC#1x^o~6F4_;e&CY8rGc9RPXs;={2rVVObez5wZY6_R?rwU1+#-W!GfSY=m{1E zi-Jpo%Yw^;#lh2q7l#xfRfr3X2#pMl4UG#;3QZ183r!Er2qlNCp`1`&$R2Wq3PX!R zTS6y=&JJB1x-xWA==RY4p(jEwhF%N37y2~xRp_VCUq^FCYmT0Lbn4Ob!c)R&;rU^G zI4A51FAZ0QSB0Cx+ryWKuMOW8zAyZE_=WKP@PY6r;jh9!h5w3h5lv)rBsJoQERK{% zY9kGi)<{QWbL7OxgOR5qFGt>pydU{I@_pp@4z^=tM^Z;}M@EOxk=^0!Skh6^v7)1~ zb3^B`ou_qf@4US8+RocL@9TWI^Nr2}ou71m)A?(cqKoU&bR~5qcV%=5U6!tbt}D8( z>$;`uo~}o`p6hzG>y54ty1wlCvFp!nRrl!bN!>HMkLu3qwszaQ7j>6yxMags8*bjP zd&46ep55^BhBr36zv1%@-*5Q6hwT~Jlhl*klhGseWcN6Gmh_bLl=pah{5^r5tv%a% zPU$(T=c1lnJva8;)pK9Z<2^6*?C&|y^U21k8`C#xH<~x*Z!Fqavaxn!!^YN)9UC`q zJaOY$8!y_pYvYX@@7j3(#wRx4vH5|`Pi}r`^Xr=rZvJfZcbk9QGGR;7mWf-8TYOut z+;Y>Fo44%V^2nA)w|uuXYpZpuZL4GJ;;l=zZrb|5)+e_|cMYOwR4p5r)xuY(%ceW{&U!6*k7O!oHv5^?rTc z@6Y?3zTajUW{k}l-L_6y@=FIJt5`X*vHAg%BR@31JRkqVGw>|X5NHXs1=_9AR*IEo z?Xc3V3@g(LS$Wn~tHb(ab=wo{iS~4RkA2WSWarvJ`?B3;w>u-8k40yJ2p)JKSCCZgID|wp-;sa~s?i_oLh6_CgFygIHJ!XTSm*9MBMi5ah!pxB}PV z1{6aHltLL)KqWkZI%t6B&vVsT!+cH9yeeL?!|OGfTxjT5JQ-cckv#UU@4Yi zIX=dEe1Y$<2fyKWZ-KYaTjV8qOT06l@$P$1yjJg{_lHiVi8Pt+qQ|IBZ__*UF1<(Z z(+9MGKBSLmAuXcCw1igDDq2lD>1WzY`&k5wWMkMQHjT|@@hp)gv88MUTgg_j_3Svi z$f{Wlt7W}@q(9c5=`ZrP`x$<~&-DxZ2LG-9j)(IIK8O$ILwGcw!`JYA{4hVxvw03b z%g^x;zs7I!DqhWNcr9<^-TbQcKij&((=KRcGn5I;gMca{W}l)~&izcj+Ge(}bIGW{Qb5 zi6+UcFssZav(sdmqlTFarqC3bVpC(Dn?}=YUYbtx!TcJylMxXEMjagRf6ecIl+Nfy diff --git a/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Introduction.cutscenepage/PrivateResources/resources/boidsintro_hype_generated_script.js b/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Introduction.cutscenepage/PrivateResources/resources/boidsintro_hype_generated_script.js index ab376e9..38947f2 100644 --- a/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Introduction.cutscenepage/PrivateResources/resources/boidsintro_hype_generated_script.js +++ b/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Introduction.cutscenepage/PrivateResources/resources/boidsintro_hype_generated_script.js @@ -4,4 +4,4 @@ !1)try{for(var c=document.getElementsByTagName("script"),a=0;ac;a=!0==d?"HYPE-664.full.min.js":"HYPE-664.thin.min.js";c=!0==d?"F":"T";d=d?"": "";if(false==!1&&(a=k("HYPE_664"+c,"HYPE_dtl_664"+c,a,d),false==!0&&(a=a||k("HYPE_w_664","HYPE_wdtl_664","HYPE-664.waypoints.min.js","")),false==!0&&(a=a||k("Matter","HYPE_pdtl_664","HYPE-664.physics.min.js","")),a))return;d=window.HYPE.documents;if(null!=d[f]){b=1;a=f;do f=""+a+"-"+b++;while(null!=d[f]);for(var e=document.getElementsByTagName("div"), b=!1,a=0;a",x:"visible",I:"None",a:539,y:"preserve",J:"None"},"60":{h:"11",p:"no-repeat",x:"visible",a:180,q:"100% 100%",b:-24,dP:0,r:"inline",j:"absolute",bF:"57",dO:0,d:72,z:6,dB:"img",dD:0,k:"div",c:29,f:65},"65":{h:"11",p:"no-repeat",x:"visible",a:-1,q:"100% 100%",b:213,dP:0,r:"inline",j:"absolute",bF:"57",dO:0,d:72,z:2,dB:"img",dD:0,k:"div",c:29,f:45},"59":{h:"11",p:"no-repeat",x:"visible",a:54,q:"100% 100%",b:67,dP:0,r:"inline",j:"absolute",bF:"57",dO:0,d:70,z:3,dB:"img",dD:0,k:"div",c:28,f:50},"55":{aU:8,G:"#FFF",c:724,aV:8,r:"inline",d:68,e:0,s:"Helvetica,Arial,Sans-Serif",X:2,t:24,Y:"normal",Z:"break-word",w:"
Slang for \"Bird\", usually used by one who has a [\u2026] stereotypical New Yorker accent.
",j:"absolute",x:"visible",k:"div",y:"preserve",z:9,aS:8,aT:8,a:227,F:"right",b:453},"61":{h:"11",p:"no-repeat",x:"visible",a:102,q:"100% 100%",b:140,dP:0,r:"inline",j:"absolute",bF:"57",dO:0,d:55,z:4,dB:"img",dD:0,k:"div",c:22,f:55},"66":{aU:8,G:"#FFF",aV:8,r:"inline",e:0,s:"Helvetica,Arial,Sans-Serif",t:48,Z:"break-word",w:"Boids",bF:"56",j:"absolute",x:"visible",yy:"nowrap",k:"div",y:"preserve",z:4,aS:8,aT:8,a:154,b:202},"56":{k:"div",x:"visible",c:446,d:313,z:1,a:374,j:"absolute",b:180},"62":{h:"11",p:"no-repeat",x:"visible",a:-99,q:"100% 100%",b:162,dP:0,r:"inline",j:"absolute",bF:"57",dO:0,d:70,z:1,dB:"img",dD:0,k:"div",c:28,f:50},"67":{x:"visible",a:4,b:279,j:"absolute",bF:"56",z:3,dC:{path:[[1,1,1,1,219.5079,1,219.5079,1]],closed:false},k:"div",d:2,c:221,dD:1,e:0,dE:"#D8DDE4",g:"#E8EBED"}}},{o:"44",p:"600px",cA:false,Y:1194,Z:834,L:[],c:"#006994",bY:1,d:1194,U:{},T:{kTimelineDefaultIdentifier:{q:false,z:6,i:"kTimelineDefaultIdentifier",n:"Main Timeline",a:[{f:"c",y:0.15,z:1,i:"b",e:0,s:38,o:"73"},{f:"c",y:0.15,z:1,i:"e",e:1,s:0,o:"73"},{f:"c",y:1,z:1,i:"b",e:0,s:38,o:"72"},{f:"c",y:1,z:1,i:"e",e:1,s:0,o:"72"},{f:"c",y:1.15,z:1,i:"b",e:0,s:38,o:"74"},{f:"c",y:1.15,z:1,i:"e",e:1,s:0,o:"74"},{y:1.15,i:"b",s:0,z:0,o:"73",f:"c"},{y:1.15,i:"e",s:1,z:0,o:"73",f:"c"},{y:2,i:"b",s:0,z:0,o:"72",f:"c"},{y:2,i:"e",s:1,z:0,o:"72",f:"c"},{y:2.15,i:"b",s:0,z:0,o:"74",f:"c"},{y:2.15,i:"e",s:1,z:0,o:"74",f:"c"},{f:"c",y:5,z:1,i:"e",e:1.08171822,s:0,o:"75"},{y:6,i:"e",s:1.08171822,z:0,o:"75",f:"c"}],f:30,b:[]}},bZ:180,O:["70","72","71","73","74","75"],n:"Untitled Layout","_":1,v:{"75":{b:595,z:7,K:"Ridge",c:539,L:"Ridge",d:65,aS:6,M:2,e:0,bD:"none",N:2,aT:6,dB:"button",O:2,aU:6,P:2,aV:6,j:"absolute",k:"div",aI:4,aJ:4,aK:4,aL:4,A:"#FFF",Y:63,B:"#FFF",Z:"break-word",r:"inline",C:"#FFF",D:"#FFF",t:30,F:"center",aA:{a:[{j:"@next",p:5,k:false}]},v:"bold",G:"#FFF",aP:"pointer",w:"Emergent behaviour
",x:"visible",I:"Ridge",a:319,y:"preserve",J:"Ridge"},"71":{k:"div",x:"visible",c:968,d:119,z:1,a:113,j:"absolute",b:357},"74":{aU:8,G:"#FFF",c:212,aV:8,r:"inline",d:103,e:0,s:"Helvetica,Arial,Sans-Serif",t:36,Y:55,Z:"break-word",w:"
\ud83e\udd9c
Bird
",bF:"71",j:"absolute",x:"visible",k:"div",y:"preserve",z:3,aS:8,aT:8,a:740,b:38},"70":{aV:8,w:"What do these have in common?",a:237,x:"visible",Z:"break-word",y:"preserve",j:"absolute",r:"inline",b:132,yy:"nowrap",s:"Helvetica,Arial,Sans-Serif",z:5,aS:8,t:48,e:1,aT:8,aU:8,G:"#FFF",k:"div"},"73":{aU:8,G:"#FFF",c:212,aV:8,r:"inline",d:103,e:0,s:"Helvetica,Arial,Sans-Serif",t:36,Y:55,Z:"break-word",w:"
\ud83d\udc68\ud83c\udffc\u200d\ud83d\udcbb
New Yorker
",bF:"71",j:"absolute",x:"visible",k:"div",y:"preserve",z:1,aS:8,aT:8,a:370,b:38},"72":{aU:8,G:"#FFF",c:212,aV:8,r:"inline",d:103,e:0,s:"Helvetica,Arial,Sans-Serif",t:36,Y:55,Z:"break-word",w:"
\ud83d\udc20
Fish
",bF:"71",j:"absolute",x:"visible",k:"div",y:"preserve",z:2,aS:8,aT:8,a:0,b:38}}}],{},h,{},null,false,true,-1,true,true,false,true,true);d[f]=c.API;document.getElementById(g).setAttribute("HYP_dn",f);c.z_o(this.body)})();})(); +[{o:"7",p:"600px",cA:false,Y:1194,Z:834,L:[],c:"#006994",bY:1,d:1194,U:{},T:{kTimelineDefaultIdentifier:{q:false,z:4.23,i:"kTimelineDefaultIdentifier",n:"Main Timeline",a:[{f:"c",y:0,z:2,i:"a",e:115,s:-645,o:"57"},{f:"c",y:0,z:2,i:"b",e:0,s:322,o:"57"},{f:"c",y:0,z:2,i:"f",e:66,s:50,o:"63"},{f:"c",y:0,z:2,i:"f",e:60,s:40,o:"58"},{f:"c",y:0,z:2,i:"f",e:44,s:65,o:"60"},{f:"c",y:0,z:2,i:"f",e:44,s:55,o:"64"},{f:"c",y:0,z:2,i:"f",e:44,s:55,o:"61"},{f:"c",y:0,z:2,i:"f",e:59,s:50,o:"59"},{f:"c",y:0,z:2,i:"f",e:50,s:45,o:"65"},{f:"c",y:0,z:2,i:"f",e:53,s:50,o:"62"},{f:"c",y:0,z:1.22,i:"a",e:154,s:180,o:"60"},{f:"c",y:0,z:1.22,i:"b",e:0,s:-24,o:"60"},{f:"c",y:0,z:1.25,i:"a",e:191,s:203,o:"58"},{f:"c",y:0,z:1.22,i:"b",e:29,s:80,o:"58"},{f:"c",y:0,z:2.03,i:"a",e:77,s:22,o:"63"},{f:"c",y:0,z:2.07,i:"b",e:29,s:6,o:"63"},{f:"c",y:0,z:1.25,i:"a",e:95,s:54,o:"59"},{f:"c",y:0,z:2.03,i:"b",e:62,s:67,o:"59"},{f:"c",y:0,z:2.07,i:"a",e:135,s:102,o:"61"},{f:"c",y:0,z:1.18,i:"b",e:89,s:140,o:"61"},{f:"c",y:0,z:2.07,i:"a",e:0,s:-120,o:"64"},{f:"c",y:0,z:2.03,i:"b",e:57,s:115,o:"64"},{f:"c",y:0,z:1.22,i:"a",e:18,s:-99,o:"62"},{f:"c",y:0,z:1.13,i:"b",e:100,s:162,o:"62"},{f:"c",y:0,z:1.22,i:"a",e:59,s:-1,o:"65"},{f:"c",y:0,z:2.07,i:"b",e:125,s:213,o:"65"},{f:"c",y:1.07,z:0.23,i:"a",e:-98,s:4,o:"67"},{f:"c",y:1.07,z:0.23,i:"e",e:1,s:0,o:"68"},{f:"c",y:1.07,z:0.23,i:"b",e:237,s:279,o:"68"},{f:"c",y:1.07,z:0.23,i:"b",e:237,s:279,o:"67"},{f:"c",y:1.07,z:0.23,i:"e",e:1,s:0,o:"67"},{f:"c",y:1.07,z:0.23,i:"a",e:323,s:222,o:"68"},{y:1.13,i:"b",s:100,z:0,o:"62",f:"c"},{y:1.18,i:"b",s:89,z:0,o:"61",f:"c"},{y:1.22,i:"b",s:29,z:0,o:"58",f:"c"},{y:1.22,i:"a",s:154,z:0,o:"60",f:"c"},{y:1.22,i:"a",s:18,z:0,o:"62",f:"c"},{y:1.22,i:"a",s:59,z:0,o:"65",f:"c"},{y:1.22,i:"b",s:0,z:0,o:"60",f:"c"},{y:1.25,i:"a",s:191,z:0,o:"58",f:"c"},{y:1.25,i:"a",s:95,z:0,o:"59",f:"c"},{y:2,i:"a",s:323,z:0,o:"68",f:"c"},{y:2,i:"e",s:1,z:0,o:"68",f:"c"},{y:2,i:"b",s:237,z:0,o:"68",f:"c"},{y:2,i:"b",s:237,z:0,o:"67",f:"c"},{y:2,i:"e",s:1,z:0,o:"67",f:"c"},{y:2,i:"b",s:0,z:0,o:"57",f:"c"},{y:2,i:"a",s:115,z:0,o:"57",f:"c"},{y:2,i:"f",s:66,z:0,o:"63",f:"c"},{y:2,i:"f",s:60,z:0,o:"58",f:"c"},{y:2,i:"f",s:44,z:0,o:"60",f:"c"},{y:2,i:"f",s:44,z:0,o:"64",f:"c"},{y:2,i:"f",s:44,z:0,o:"61",f:"c"},{y:2,i:"f",s:59,z:0,o:"59",f:"c"},{y:2,i:"f",s:50,z:0,o:"65",f:"c"},{y:2,i:"f",s:53,z:0,o:"62",f:"c"},{y:2,i:"a",s:-98,z:0,o:"67",f:"c"},{y:2.03,i:"b",s:57,z:0,o:"64",f:"c"},{y:2.03,i:"b",s:62,z:0,o:"59",f:"c"},{y:2.03,i:"a",s:77,z:0,o:"63",f:"c"},{y:2.07,i:"b",s:29,z:0,o:"63",f:"c"},{y:2.07,i:"a",s:0,z:0,o:"64",f:"c"},{y:2.07,i:"a",s:135,z:0,o:"61",f:"c"},{y:2.07,i:"b",s:125,z:0,o:"65",f:"c"},{f:"c",y:2.15,z:0.23,i:"e",e:1,s:0,o:"66"},{f:"c",y:3.08,z:0.22,i:"e",e:1,s:0,o:"55"},{y:3.08,i:"e",s:1,z:0,o:"66",f:"c"},{f:"c",y:4,z:0.23,i:"e",e:1,s:0,o:"69"},{y:4,i:"e",s:1,z:0,o:"55",f:"c"},{y:4.23,i:"e",s:1,z:0,o:"69",f:"c"}],f:30,b:[]}},bZ:180,O:["56","57","60","63","58","64","59","61","62","65","66","67","68","55","69"],n:"Untitled Layout","_":0,v:{"63":{h:"11",p:"no-repeat",x:"visible",a:22,q:"100% 100%",b:6,dP:0,r:"inline",j:"absolute",bF:"57",dO:0,d:65,z:8,dB:"img",dD:0,k:"div",c:26,f:50},"57":{x:"visible",k:"div",c:216,d:197,z:1,a:-645,j:"absolute",bF:"56",b:322},"68":{x:"visible",a:222,b:279,j:"absolute",bF:"56",z:2,dC:{path:[[1,1,1,1,219.5079,1,219.5079,1]],closed:false},k:"div",d:2,c:221,dD:1,e:0,dE:"#D8DDE4",g:"#E8EBED"},"58":{h:"11",p:"no-repeat",x:"visible",a:203,q:"100% 100%",b:80,dP:0,r:"inline",j:"absolute",bF:"57",dO:0,d:62,z:7,dB:"img",dD:0,k:"div",c:25,f:40},"64":{h:"11",p:"no-repeat",x:"visible",a:-120,q:"100% 100%",b:115,dP:0,r:"inline",j:"absolute",bF:"57",dO:0,d:67,z:5,dB:"img",dD:0,k:"div",c:27,f:55},"69":{b:553,z:10,K:"None",c:103,L:"None",d:72,aS:6,M:0,e:0,bD:"none",N:0,aT:6,dB:"button",O:0,aU:6,P:0,aV:6,j:"absolute",k:"div",aI:4,aJ:4,aK:4,aL:4,A:"#A0A0A0",B:"#A0A0A0",Z:"break-word",r:"inline",C:"#A0A0A0",D:"#A0A0A0",t:48,aA:{a:[{p:5,j:"@next",k:false}]},F:"center",G:"#FFF",aP:"pointer",w:"\u27a1\ufe0f
",x:"visible",I:"None",a:539,y:"preserve",J:"None"},"60":{h:"11",p:"no-repeat",x:"visible",a:180,q:"100% 100%",b:-24,dP:0,r:"inline",j:"absolute",bF:"57",dO:0,d:72,z:6,dB:"img",dD:0,k:"div",c:29,f:65},"65":{h:"11",p:"no-repeat",x:"visible",a:-1,q:"100% 100%",b:213,dP:0,r:"inline",j:"absolute",bF:"57",dO:0,d:72,z:2,dB:"img",dD:0,k:"div",c:29,f:45},"59":{h:"11",p:"no-repeat",x:"visible",a:54,q:"100% 100%",b:67,dP:0,r:"inline",j:"absolute",bF:"57",dO:0,d:70,z:3,dB:"img",dD:0,k:"div",c:28,f:50},"55":{aU:8,G:"#FFF",c:724,aV:8,r:"inline",d:68,e:0,s:"Helvetica,Arial,Sans-Serif",X:2,t:24,Y:"normal",Z:"break-word",w:"
Slang for \"Bird\", usually used by one who has a stereotypical New Yorker accent.
",j:"absolute",x:"visible",k:"div",y:"preserve",z:9,aS:8,aT:8,a:227,F:"right",b:453},"61":{h:"11",p:"no-repeat",x:"visible",a:102,q:"100% 100%",b:140,dP:0,r:"inline",j:"absolute",bF:"57",dO:0,d:55,z:4,dB:"img",dD:0,k:"div",c:22,f:55},"66":{aU:8,G:"#FFF",aV:8,r:"inline",e:0,s:"Helvetica,Arial,Sans-Serif",t:48,Z:"break-word",w:"Boids",bF:"56",j:"absolute",x:"visible",yy:"nowrap",k:"div",y:"preserve",z:4,aS:8,aT:8,a:154,b:202},"56":{k:"div",x:"visible",c:446,d:313,z:1,a:374,j:"absolute",b:180},"62":{h:"11",p:"no-repeat",x:"visible",a:-99,q:"100% 100%",b:162,dP:0,r:"inline",j:"absolute",bF:"57",dO:0,d:70,z:1,dB:"img",dD:0,k:"div",c:28,f:50},"67":{x:"visible",a:4,b:279,j:"absolute",bF:"56",z:3,dC:{path:[[1,1,1,1,219.5079,1,219.5079,1]],closed:false},k:"div",d:2,c:221,dD:1,e:0,dE:"#D8DDE4",g:"#E8EBED"}}},{o:"44",p:"600px",cA:false,Y:1194,Z:834,L:[],c:"#006994",bY:1,d:1194,U:{},T:{kTimelineDefaultIdentifier:{q:false,z:6,i:"kTimelineDefaultIdentifier",n:"Main Timeline",a:[{f:"c",y:0.15,z:1,i:"b",e:0,s:38,o:"73"},{f:"c",y:0.15,z:1,i:"e",e:1,s:0,o:"73"},{f:"c",y:1,z:1,i:"b",e:0,s:38,o:"72"},{f:"c",y:1,z:1,i:"e",e:1,s:0,o:"72"},{f:"c",y:1.15,z:1,i:"b",e:0,s:38,o:"74"},{f:"c",y:1.15,z:1,i:"e",e:1,s:0,o:"74"},{y:1.15,i:"b",s:0,z:0,o:"73",f:"c"},{y:1.15,i:"e",s:1,z:0,o:"73",f:"c"},{y:2,i:"b",s:0,z:0,o:"72",f:"c"},{y:2,i:"e",s:1,z:0,o:"72",f:"c"},{y:2.15,i:"b",s:0,z:0,o:"74",f:"c"},{y:2.15,i:"e",s:1,z:0,o:"74",f:"c"},{f:"c",y:5,z:1,i:"e",e:1.08171822,s:0,o:"75"},{y:6,i:"e",s:1.08171822,z:0,o:"75",f:"c"}],f:30,b:[]}},bZ:180,O:["70","72","71","73","74","75"],n:"Untitled Layout","_":1,v:{"75":{b:595,z:7,K:"Ridge",c:539,L:"Ridge",d:65,aS:6,M:2,e:0,bD:"none",N:2,aT:6,dB:"button",O:2,aU:6,P:2,aV:6,j:"absolute",k:"div",aI:4,aJ:4,aK:4,aL:4,A:"#FFF",Y:63,B:"#FFF",Z:"break-word",r:"inline",C:"#FFF",D:"#FFF",t:30,F:"center",aA:{a:[{j:"@next",p:5,k:false}]},v:"bold",G:"#FFF",aP:"pointer",w:"Emergent behaviour
",x:"visible",I:"Ridge",a:319,y:"preserve",J:"Ridge"},"71":{k:"div",x:"visible",c:968,d:119,z:1,a:113,j:"absolute",b:357},"74":{aU:8,G:"#FFF",c:212,aV:8,r:"inline",d:103,e:0,s:"Helvetica,Arial,Sans-Serif",t:36,Y:55,Z:"break-word",w:"
\ud83e\udd9c
Bird
",bF:"71",j:"absolute",x:"visible",k:"div",y:"preserve",z:3,aS:8,aT:8,a:740,b:38},"70":{aV:8,w:"What do these have in common?",a:237,x:"visible",Z:"break-word",y:"preserve",j:"absolute",r:"inline",b:132,yy:"nowrap",s:"Helvetica,Arial,Sans-Serif",z:5,aS:8,t:48,e:1,aT:8,aU:8,G:"#FFF",k:"div"},"73":{aU:8,G:"#FFF",c:212,aV:8,r:"inline",d:103,e:0,s:"Helvetica,Arial,Sans-Serif",t:36,Y:55,Z:"break-word",w:"
\ud83d\udc68\ud83c\udffc\u200d\ud83d\udcbb
New Yorker
",bF:"71",j:"absolute",x:"visible",k:"div",y:"preserve",z:1,aS:8,aT:8,a:370,b:38},"72":{aU:8,G:"#FFF",c:212,aV:8,r:"inline",d:103,e:0,s:"Helvetica,Arial,Sans-Serif",t:36,Y:55,Z:"break-word",w:"
\ud83d\udc20
Fish
",bF:"71",j:"absolute",x:"visible",k:"div",y:"preserve",z:2,aS:8,aT:8,a:0,b:38}}}],{},h,{},null,false,true,-1,true,true,false,true,true);d[f]=c.API;document.getElementById(g).setAttribute("HYP_dn",f);c.z_o(this.body)})();})(); diff --git a/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Schooling.playgroundpage/main.swift b/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Schooling.playgroundpage/main.swift index 52960f2..d844ac2 100644 --- a/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Schooling.playgroundpage/main.swift +++ b/PlaygroundBook/Chapters/Chapter1.playgroundchapter/Pages/Schooling.playgroundpage/main.swift @@ -21,7 +21,7 @@ func align() { //#-end-hidden-code //#-code-completion(everything, hide) /*: - To give the fish on the right some purpose in life lets provide them with some more rules! + To give your fish some purpose in life lets provide them with some more rules! * Experiment: Below are some rules you can experiment with - try enabling different ones and look at the result. Remember that you can slowly step through your code to enable the rules one after another by pressing the gauge on the bottom left of the fish tank! diff --git a/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Forces.playgroundpage/main.swift b/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Forces.playgroundpage/main.swift index 10fcedf..37e6556 100644 --- a/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Forces.playgroundpage/main.swift +++ b/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Forces.playgroundpage/main.swift @@ -20,7 +20,7 @@ simulation.configuration.scale = 0.5 } ``` - * Experiment: Try making the two teams flock and one avoid the other to prevent them from just swimming through each other! + * Experiment: Try making the two teams flock and avoid each other to prevent them from swimming through each other! */ //#-code-completion(everything, hide) //#-code-completion(currentmodule, show) diff --git a/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Interaction.playgroundpage/main.swift b/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Interaction.playgroundpage/main.swift index e67afbc..43dc3a5 100644 --- a/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Interaction.playgroundpage/main.swift +++ b/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Interaction.playgroundpage/main.swift @@ -3,7 +3,7 @@ simulation.configuration.compressionFactor = 1 simulation.configuration.scale = 0.5 //#-end-hidden-code /*: - As previously mentioned you can interact with your pet fish by touching them. By default, this attracts them with a moderate force. You can try to split a swarm into multiple individual schools of fish or change its direction! + As previously mentioned you can interact with your pet by touching them. By default, this attracts them with a moderate force. You can try to split a swarm into multiple individual schools of fish or change its direction! This force, like many other things, can be configured to behave differently! You can change its strength and radius like this (those are the defaults): ``` @@ -32,4 +32,4 @@ addForces { } //#-end-editable-code -//: When you have played with your fish head to the [next page](@next) to learn more on how you can change the environment! +//: When you have played with your fish head to the [next page](@next) to learn more on how you can change the environment of the simulation! diff --git a/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Parameters.playgroundpage/main.swift b/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Parameters.playgroundpage/main.swift index 2d2c6b5..c79cbe1 100644 --- a/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Parameters.playgroundpage/main.swift +++ b/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Parameters.playgroundpage/main.swift @@ -36,4 +36,4 @@ addForces { //#-end-editable-code -//: On the [next page](@next) you will learn how to change what happens when you touch your fish +//: On the [next page](@next) you will learn how to change what happens when you touch your fish. diff --git a/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Teams.playgroundpage/LiveView.swift b/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Teams.playgroundpage/LiveView.swift index 3bff87f..e9346cd 100644 --- a/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Teams.playgroundpage/LiveView.swift +++ b/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Teams.playgroundpage/LiveView.swift @@ -13,9 +13,6 @@ var config = SimulationConfiguration() config.compressionFactor = 0.5 config.scale = 0.75 -config.visualiseForces = true -config.visualisationForces = [.separation] - var interaction = InteractionConfiguration() let bigTeam = Team(of: 25, size: 0.75) diff --git a/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Teams.playgroundpage/main.swift b/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Teams.playgroundpage/main.swift index 0f2261a..f75564a 100644 --- a/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Teams.playgroundpage/main.swift +++ b/PlaygroundBook/Chapters/Chapter2.playgroundchapter/Pages/Teams.playgroundpage/main.swift @@ -10,6 +10,8 @@ simulation.configuration.scale = 0.75 let team1 = Team(of: 250) add(team1) ``` + * Important: You should **not** create teams bigger than 5.000 fish (it fries the simulation)! + You can repeat this with different names multiple times and get multiple teams! In addition to the number of fish, there is a variety of other parameters that can be tweaked. Have a play with them below! * Note: All teams you add will have the three rules we previously used enabled by default on this page. You will learn how to do this yourself in a bit. @@ -43,8 +45,6 @@ add(weirdFish) /*: You may notice that your teams of fish are currently not interacting with each other. They are not even moving out of the way of the other fish when they pass through them! That happens because all rules we added only affect fish in the same team. Let's change that on the [next page](@next)! - - * Important: You should **not** create teams bigger than 5.000 fish (it fries the simulation)! */ //#-hidden-code simulation.interaction.teams.forEach { diff --git a/PlaygroundBook/Chapters/Chapter3.playgroundchapter/Pages/Avoiding predators.playgroundpage/main.swift b/PlaygroundBook/Chapters/Chapter3.playgroundchapter/Pages/Avoiding predators.playgroundpage/main.swift index 61765ea..6d85628 100644 --- a/PlaygroundBook/Chapters/Chapter3.playgroundchapter/Pages/Avoiding predators.playgroundpage/main.swift +++ b/PlaygroundBook/Chapters/Chapter3.playgroundchapter/Pages/Avoiding predators.playgroundpage/main.swift @@ -15,6 +15,7 @@ //#-code-completion(identifier, show, flee(from:configuration:), align(with:configuration:), chase(:configuration:), becomePredator(of:)) //#-code-completion(identifier, show, init(strength:radius:), init(strength:radius:speedLimit:fieldOfView:scaleWithPeers:)) //#-code-completion(identifier, show, simulation, configuration, simulationSpeed, scale, visualiseForces, visualisationBoidID, visualisationForces, compressionFactor, touchRadius, touchStrength) +//#-code-completion(identifier, show, heading, velocity, fixedColor, angleOfAttack) //#-editable-code simulation.configuration.compressionFactor = 1 simulation.configuration.scale = 0.5 diff --git a/PlaygroundBook/Chapters/Chapter3.playgroundchapter/Pages/Reacting to obstacles.playgroundpage/main.swift b/PlaygroundBook/Chapters/Chapter3.playgroundchapter/Pages/Reacting to obstacles.playgroundpage/main.swift index f844c6e..8092f95 100644 --- a/PlaygroundBook/Chapters/Chapter3.playgroundchapter/Pages/Reacting to obstacles.playgroundpage/main.swift +++ b/PlaygroundBook/Chapters/Chapter3.playgroundchapter/Pages/Reacting to obstacles.playgroundpage/main.swift @@ -2,7 +2,7 @@ simulation.configuration.simulationSpeed = 0.75 //#-end-hidden-code /*: - The final showcase of emergent behavior will be obstacle avoidance! In the case of this simulation, the walls (and waves) are obstacles that have to be avoided. Below is an example of a **very** big swarm of fish that barely fits into the given space. + The final showcase of emergent behavior will be obstacle avoidance! In the case of this simulation, the boundaries and waves are obstacles that have to be avoided. Below is an example of a **very** big swarm of fish that barely fits into the given space. * Experiment: Look closely how the swarm moves towards one corner of the tank and as the pressure increases a critical point is reached where seemingly the whole swarm changes direction at once. This happens even though some fish are far away from the wall and don't even know why they are changing direction! @@ -16,6 +16,7 @@ simulation.configuration.simulationSpeed = 0.75 //#-code-completion(identifier, show, flee(from:configuration:), align(with:configuration:), chase(:configuration:), becomePredator(of:)) //#-code-completion(identifier, show, init(strength:radius:), init(strength:radius:speedLimit:fieldOfView:scaleWithPeers:)) //#-code-completion(identifier, show, simulation, configuration, simulationSpeed, scale, visualiseForces, visualisationBoidID, visualisationForces, compressionFactor, touchRadius, touchStrength) +//#-code-completion(identifier, show, heading, velocity, fixedColor, angleOfAttack) //#-editable-code let fish = Team(of: 2500, coloration: .heading) add(fish) diff --git a/PlaygroundBook/Chapters/Chapter4.playgroundchapter/Pages/Final words.playgroundpage/main.swift b/PlaygroundBook/Chapters/Chapter4.playgroundchapter/Pages/Final words.playgroundpage/main.swift index 7b17d9b..7003f55 100644 --- a/PlaygroundBook/Chapters/Chapter4.playgroundchapter/Pages/Final words.playgroundpage/main.swift +++ b/PlaygroundBook/Chapters/Chapter4.playgroundchapter/Pages/Final words.playgroundpage/main.swift @@ -10,7 +10,7 @@ If you are interested in the topic and would like to read more about it you can read/watch the resources below. - Original research by [Craig Reynolds](http://www.red3d.com/cwr/boids/) from 1986 - - Recent video by [SmarterEveryDay](https://www.youtube.com/watch?v=4LWmRuB-uNU) on the topic + - Recent video by [SmarterEveryDay](https://www.youtube.com/watch?v=4LWmRuB-uNU) */ //#-editable-code let fish = Team(of: 5000, coloration: .heading)