From 84b6661bee3bfed9844e68b387f6bf130bbd3adf Mon Sep 17 00:00:00 2001 From: Tyler Clarke Date: Fri, 28 Feb 2025 17:42:31 -0500 Subject: [PATCH] redact --- cancer-zodiac/index.html | 169 +++++++++++ cancer-zodiac/main.css | 221 ++++++++++++++ cancer-zodiac/main.js | 161 ++++++++++ cancer-zodiac/res/MyEarthRegular-9YBpL.ttf | Bin 0 -> 34292 bytes cancer-zodiac/res/MyEarthRegular.otf | Bin 0 -> 17324 bytes cancer-zodiac/res/cancer-crab.svg | 338 +++++++++++++++++++++ cancer-zodiac/res/cancer-crabwalk.svg | 335 ++++++++++++++++++++ cancer-zodiac/res/cancer-lines.svg | 30 ++ cancer-zodiac/res/cancer-stars.svg | 73 +++++ cancer-zodiac/res/earth.svg | 100 ++++++ cancer-zodiac/res/earth_moon.svg | 96 ++++++ cancer-zodiac/res/info.txt | 2 + cancer-zodiac/res/jupiter.svg | 107 +++++++ cancer-zodiac/res/mars.svg | 90 ++++++ cancer-zodiac/res/mercury.svg | 74 +++++ cancer-zodiac/res/neptune.svg | 75 +++++ cancer-zodiac/res/saturn.svg | 113 +++++++ cancer-zodiac/res/shiny.svg | 48 +++ cancer-zodiac/res/sun.svg | 63 ++++ cancer-zodiac/res/uranus.svg | 75 +++++ cancer-zodiac/res/venus.svg | 195 ++++++++++++ cancer-zodiac/starfield.js | 23 ++ site/index.html | 2 +- 23 files changed, 2389 insertions(+), 1 deletion(-) create mode 100755 cancer-zodiac/index.html create mode 100755 cancer-zodiac/main.css create mode 100755 cancer-zodiac/main.js create mode 100755 cancer-zodiac/res/MyEarthRegular-9YBpL.ttf create mode 100755 cancer-zodiac/res/MyEarthRegular.otf create mode 100755 cancer-zodiac/res/cancer-crab.svg create mode 100755 cancer-zodiac/res/cancer-crabwalk.svg create mode 100755 cancer-zodiac/res/cancer-lines.svg create mode 100755 cancer-zodiac/res/cancer-stars.svg create mode 100755 cancer-zodiac/res/earth.svg create mode 100755 cancer-zodiac/res/earth_moon.svg create mode 100755 cancer-zodiac/res/info.txt create mode 100755 cancer-zodiac/res/jupiter.svg create mode 100755 cancer-zodiac/res/mars.svg create mode 100755 cancer-zodiac/res/mercury.svg create mode 100755 cancer-zodiac/res/neptune.svg create mode 100755 cancer-zodiac/res/saturn.svg create mode 100755 cancer-zodiac/res/shiny.svg create mode 100755 cancer-zodiac/res/sun.svg create mode 100755 cancer-zodiac/res/uranus.svg create mode 100755 cancer-zodiac/res/venus.svg create mode 100755 cancer-zodiac/starfield.js diff --git a/cancer-zodiac/index.html b/cancer-zodiac/index.html new file mode 100755 index 0000000..8574afd --- /dev/null +++ b/cancer-zodiac/index.html @@ -0,0 +1,169 @@ + + + + + + + + Weird Pusheen's Cancer Zodiak + + + + +
+ +
+ + + + + + + + + + +
+
+
+
+

Cancer,

+

+ +

+

+ +

+
+
+

Crabs: Your Spiky Space Friends

+

+ There is astrological reason to believe crabs are actually superintelligent spiky space friends from space! +

+ +
+
+
+
+ +
+
+
+

Mercury

+

+ Mercury is the first planet from our star, Sol! It is almost as small as Earth's moon. It is largely made of iron, and is pocked with craters. +

+
+ +
+
+
+

Venus

+

+ Venus is the second planet from Sol. It is very hot - massive clouds of carbon dioxide (the same greenhouse gas fueling Earth's global warming) and sulfuric acid blanket the surface. + Highs are in the low 450s celcius! The acid rain will burn and even melt your skin, so make sure to bring an umbrella. +

+
+ +
+
+ + +
+

Earth

+

+ Earth is the third planet from Sol and the only planet known to host life in our solar system! It's where spiky space friends live. +

+
+
+
+ +
+

Mars

+

+ Mars is the fourth planet from Sol. It's very cold, despite the carbon dioxide atmosphere (which is some 100 times thinner than that of Earth), because it is very far from the sun. +

+
+
+
+ +
+

Jupiter

+

+ Jupiter is the fifth planet from Sol. It is the largest planet in the solar system; more than twice as massive as all the other planets combined. Jupiter has 95 moons! +

+
+
+
+ +
+

Saturn

+

+ Saturn is the 6th planet from Sol. It is famous for its large and prevalent rings, which are mostly made of ice and dust. +

+
+
+
+ +
+

Uranus

+

+ Uranus is the 7th planet from Sol. It is mostly made of water, methane, and ammonia, and has a small rocky core. Uranus gets very hot towards the center. +

+
+
+
+ +
+

Neptune

+

+ Neptune is the final planet in the solar system. It is large and windy, and orbits every 165 years. It is not visible from Earth, as it is over 30 times further from the sun than our home planet. +

+
+
+
+
+
+

+ (distances are not to scale)
+ The solar system is big. Really big. And the rest of space is even bigger.
+ You scrolled at an average of pixels per second down this page, or kilometers per hour through the + solar system tour. At that speed, you would reach Beta Cancri (the primary star of the Cancer constellation) in years.

+ At the fastest I can scroll, the entire human species could evolve again in the time it takes to scroll to the Cancer constellation. Maybe we'll get there - but it won't be soon.

+

+
+
+
+
+
+

+ Web design by Tyler Clarke (weird_pusheen). Headings use the "My Earth Regular" font.

+ This is an entry into the Purpose42 art expo for July, themed around zodiac signs. It is not meant to be taken as a serious source of information. Crabs + are not, in fact, superintelligent spiky space friends from space.

+ This is FOSS and protected by GNU GPLv3. You are free to use any element of it in your own projects, so long as they also are FOSS and provide credit to me. +

+ All rights preserved. Trespassers will be violated.

+ +

+
+
+ + + + diff --git a/cancer-zodiac/main.css b/cancer-zodiac/main.css new file mode 100755 index 0000000..2177c92 --- /dev/null +++ b/cancer-zodiac/main.css @@ -0,0 +1,221 @@ +@font-face { + font-family: "My Earth Regular"; + src: url("res/MyEarthRegular.otf"); +} + +body { + margin: 0px; + padding: 0px; + font-family: sans-serif; +} + +@keyframes shimmer { + 0% { + transform: scale(0.1); + } + 100% { + transform: scale(0.2); + } +} + +#starfield { + background-color: rgb(7, 0, 31); + position: fixed; + top: 0px; + left: 0px; + width: 100vw; + height: 100vh; + overflow: hidden; + z-index: -1; +} + +.shiny-star { + background-image: url("res/shiny.svg"); + background-size: cover; + width: 65px; + height: 100px; + position: absolute; + animation-name: shimmer; + animation-duration: 2s; + animation-iteration-count: infinite; + animation-direction: alternate; + transition: opacity 2s; + opacity: 100%; +} + +.star { + width: 2px; + height: 2px; + border-radius: 100px; + background-color: white; + position: absolute; +} + +#cancer-sprite { + position: absolute; + right: 20vw; + top: 15vh; +} + +#cancer-sprite > * { + position: absolute; + top: 0px; + left: 0px; +} + +#c2-lines { + --linespoint: 0px; + filter: drop-shadow(0px 0px 10px white); +} + +#c2-lines path { + stroke-dasharray: var(--linespoint) 1000000px !important; +} + +#c3-crab { + --crab-visibility: 0%; + opacity: var(--crab-visibility); + transform: translate(-20px, -20px); + transition: transform 1s; +} + +#c3-crab.dropped { + transform: translate(-20px, 200px); + z-index: 1000; +} + +#c3-crab.scootleft { + transform: translate(-70vw, 200px); + transition: transform 2s; +} + +#c3-crab.scootaway { + transform: translate(-130vw, 200px); + transition: transform 2s; +} + +h1, h2 { + color: blue; + font-family: "My Earth Regular"; +} + +h1 { + font-size: 5em; +} + +h2 { + font-size: 4em; +} + +p, ul { + font-size: 1.5em; + color: white; +} + +.content-simple-left { + background-color: rgba(255, 255, 255, 0.15); + padding-left: 20vw; + padding-right: 40vw; + padding-top: 20vh; + padding-bottom: 20vh; +} + +.content-simple-right { + padding-left: 50vw; + padding-right: 10vw; + padding-top: 20vh; + padding-bottom: 20vh; +} + +#bottom { + background-color: black; + text-align: center; + padding-left: 20vw; + padding-right: 20vw; + padding: 10px; + color: white; + font-size: 0.8em; +} + +a { + text-decoration: none; + color: inherit; + text-shadow: 0px 0px 3px blue; +} + +.shiny-star.disjoint { + position: fixed; + opacity: 0%; +} + +#planets { + height: calc(4200px); + width: 100vw; + overflow: clip; +} + +#planets > div > div { + --transform-offset: 0px; + --scroll-point: inherit; + transform: translateZ(calc(var(--scroll-point) * -3px - 200vh + var(--transform-offset))); + position: absolute; +} + +#planets > div { + perspective: 100px; + transform-style: preserve-3d; + height: 100vh; + width: 100vw; + position: sticky; + top: 0px; + left: 0px; +} + +.planetinfo { + background-color: rgba(255, 255, 255, 0.15); + padding: 50px; + position: absolute; + top: 100%; + width: 50vw; +} + +@keyframes moonspin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(359deg); + } +} + +.moon { + position: absolute; + top: 0px; + left: 0px; + animation-name: moonspin; + animation-duration: 2s; /* 30rpm */ + animation-iteration-count: infinite; + animation-timing-function: linear; +} + +#tobetacanceri { + background-color: black; + padding: 100px; + padding-top: 40vh; + color: white; + font-family: monospace; + min-height: 100vh; +} + +#tobetacanceri > * { + opacity: calc(100% - 5 * var(--scroll-point)); +} + +#thebridge { + width: 100vw; + height: 100vh; + position: sticky; + top: 0px; + padding: 200px; + box-sizing: border-box; +} \ No newline at end of file diff --git a/cancer-zodiac/main.js b/cancer-zodiac/main.js new file mode 100755 index 0000000..195a639 --- /dev/null +++ b/cancer-zodiac/main.js @@ -0,0 +1,161 @@ +const c2lines = document.getElementById("c2-lines"); +const c3crab = document.getElementById("c3-crab"); +const spikyspacefriends = document.getElementById("spiky-space-friends"); +const doc = document.documentElement; +const astroevent = document.getElementById("astroevent"); +const astroconclusion = document.getElementById("astroconclusion"); +const planets = document.getElementById("planets"); +const planet_divs = Array.from(document.querySelectorAll("#planets > div > div")); +const tobetacanceri = document.getElementById("tobetacanceri"); +const thebridge = document.getElementById("thebridge"); +const c3crab_animation = [ + "res/cancer-crab.svg", + "res/cancer-crabwalk.svg" +]; +var c3crab_frame = 0; + +var scrollDelta = 0; // total pixels scrolled +var scrollDt = 0; // total time spent scrolling + +var lastScPos = 0; +var lTime = window.performance.now(); + +window.onscroll = () => { + c2lines.style.setProperty("--linespoint", doc.scrollTop * 0.05 + "px"); + c3crab.style.setProperty("--crab-visibility", (doc.scrollTop - 600) * 0.1 + "%"); // this means that we need 1600 pixels of scroll to complete the animation + // 600 + 100% / 0.1% = 1600 + if (doc.scrollTop >= 1600) { + c3crab.classList.add("dropped"); + } + else { + c3crab.classList.remove("dropped"); + } + + var spikyrect = spikyspacefriends.getBoundingClientRect(); + if (spikyrect.top < window.innerHeight * 0.6) { + c3crab.classList.add("scootleft"); + } + else { + c3crab.classList.remove("scootleft"); + } + + if (spikyrect.bottom < 0) { + c3crab.classList.add("scootaway"); + c3crab.classList.remove("scootleft"); + c3crab.classList.remove("dropped"); + } + else { + c3crab.classList.remove("scootaway"); + } + + document.body.style.setProperty("--scroll-point", doc.scrollTop); + var rect = planets.getBoundingClientRect(); + planets.style.setProperty("--scroll-point", rect.top); + + var considering = true; + for (x in planet_divs) { + var planet = planet_divs[x]; + var hider = planet.getElementsByClassName("planetinfo"); + if (hider.length) { + hider = hider[0]; + } + else { + continue; + } + hider.style.display = "none"; + if (considering) { + var z = rect.top * -3 - 2 * window.innerHeight + parseInt(planet.style.getPropertyValue("--transform-offset")); + if (z < 0) { + planet.getElementsByClassName("planetinfo")[0].style.display = ""; + considering = false; + } + } + } + tobetacanceri.style.setProperty("--scroll-point", 100 * tobetacanceri.getBoundingClientRect().top / window.innerHeight + "%"); + + var cTime = window.performance.now() + scrollDelta += Math.abs(lastScPos - doc.scrollTop); + scrollDt += cTime - lTime; + + lTime = cTime; + lastScPos = doc.scrollTop; + + var pixPSec = scrollDelta / scrollDt * 1000; + var kmPHr = ((pixPSec / 3000) // solar system fields from earth to neptune per second + / 3600) // per hour + * 4_500_000_000; // the solar system field from earth to neptune is 4.5 billion kilometers + + var hrtoBC = 2.746e15 / kmPHr; + var ytoBC = hrtoBC / 8760; + + document.getElementById("rawscroll").innerText = Math.round(pixPSec); + document.getElementById("scrollkph").innerText = Math.round(kmPHr); + document.getElementById("yearstobetacanceri").innerText = Math.round(ytoBC); + + var thebridge_scrollup = thebridge.parentNode.getBoundingClientRect().top * -1; + if (thebridge_scrollup < 0) { + thebridge_scrollup = 0; + } + thebridge.parentNode.style.backgroundColor = "rgba(0, 0, 0, " + (1 - thebridge_scrollup / window.innerHeight) + ")"; + thebridge.style.opacity = thebridge_scrollup / window.innerHeight * 100 + "%"; +} + +var c3crab_interval = -1; + +c3crab.addEventListener("transitionrun", () => { + if (c3crab_interval == -1) { + c3crab_interval = setInterval(() => { + c3crab_frame++; + c3crab.src = c3crab_animation[c3crab_frame % c3crab_animation.length]; + }, 100); + } +}); + +c3crab.addEventListener("transitionend", () => { + clearInterval(c3crab_interval); + c3crab_frame = 0; + c3crab.src = c3crab_animation[0]; + c3crab_interval = -1; +}); + + +let astrothings = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto", "The Moon", "Capricorn", "Aquarius", + "Pisces", "Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Ophiuchus", "Saggitarius" +]; + +const events = ["rising in", "waning in", "waxing in", "converging with"]; + +function arpick(array) { + let index = Math.floor(Math.random() * array.length); + return array.splice(index, 1)[0]; +} + +const things = [ + "you must tread carefully today.", + "you will find a pleasant surprise!", + "you will meet a ten-thousand-pound rhino named Desmond today.", + "great opportunities are hiding around every corner.", + "you must not be afraid to take a leap of faith." +]; + +astroevent.innerHTML = "Because " + arpick(astrothings) + " is " + arpick(events) + " " + arpick(astrothings) + ","; +astroconclusion.innerHTML = arpick(things); + +Array.from(document.getElementsByTagName("p")).forEach(a => { + a.addEventListener("mouseover", (evt) => { + //if (Math.random() < 0.15) { + var shiny = document.createElement("div"); + shiny.classList.add("shiny-star"); + requestAnimationFrame(() => { + shiny.classList.add("disjoint"); + }); + document.body.appendChild(shiny); + shiny.style.left = evt.clientX + 20 * Math.random() - 30 + "px"; + shiny.style.top = evt.clientY + 20 * Math.random() - 50 + "px"; + shiny.style.animationDelay = -Math.random() * 2 + "s"; + setTimeout(() => { + document.body.removeChild(shiny); + }, 2000); + //} + }); +}); \ No newline at end of file diff --git a/cancer-zodiac/res/MyEarthRegular-9YBpL.ttf b/cancer-zodiac/res/MyEarthRegular-9YBpL.ttf new file mode 100755 index 0000000000000000000000000000000000000000..583732bb0e08c4f34dfa93c9012080f26e7e46ba GIT binary patch literal 34292 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 Fp8^LYzr+9l literal 0 HcmV?d00001 diff --git a/cancer-zodiac/res/MyEarthRegular.otf b/cancer-zodiac/res/MyEarthRegular.otf new file mode 100755 index 0000000000000000000000000000000000000000..91095eda7a9010a3b4c0042ff37dca744b48c2f8 GIT binary patch literal 17324 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 aa=U?^xQ}o^xwyT=Xe{NSq@BAD>i+=t(ir^! literal 0 HcmV?d00001 diff --git a/cancer-zodiac/res/cancer-crab.svg b/cancer-zodiac/res/cancer-crab.svg new file mode 100755 index 0000000..7626410 --- /dev/null +++ b/cancer-zodiac/res/cancer-crab.svg @@ -0,0 +1,338 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cancer-zodiac/res/cancer-crabwalk.svg b/cancer-zodiac/res/cancer-crabwalk.svg new file mode 100755 index 0000000..8d87e13 --- /dev/null +++ b/cancer-zodiac/res/cancer-crabwalk.svg @@ -0,0 +1,335 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cancer-zodiac/res/cancer-lines.svg b/cancer-zodiac/res/cancer-lines.svg new file mode 100755 index 0000000..1d1b19d --- /dev/null +++ b/cancer-zodiac/res/cancer-lines.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + diff --git a/cancer-zodiac/res/cancer-stars.svg b/cancer-zodiac/res/cancer-stars.svg new file mode 100755 index 0000000..21cc868 --- /dev/null +++ b/cancer-zodiac/res/cancer-stars.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + diff --git a/cancer-zodiac/res/earth.svg b/cancer-zodiac/res/earth.svg new file mode 100755 index 0000000..6f6c128 --- /dev/null +++ b/cancer-zodiac/res/earth.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + diff --git a/cancer-zodiac/res/earth_moon.svg b/cancer-zodiac/res/earth_moon.svg new file mode 100755 index 0000000..8ed710b --- /dev/null +++ b/cancer-zodiac/res/earth_moon.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + diff --git a/cancer-zodiac/res/info.txt b/cancer-zodiac/res/info.txt new file mode 100755 index 0000000..99300b4 --- /dev/null +++ b/cancer-zodiac/res/info.txt @@ -0,0 +1,2 @@ +license: Freeware, Non-Commercial +link: https://www.fontspace.com/my-earth-font-f49502 \ No newline at end of file diff --git a/cancer-zodiac/res/jupiter.svg b/cancer-zodiac/res/jupiter.svg new file mode 100755 index 0000000..b2ec7c5 --- /dev/null +++ b/cancer-zodiac/res/jupiter.svg @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/cancer-zodiac/res/mars.svg b/cancer-zodiac/res/mars.svg new file mode 100755 index 0000000..6ea88df --- /dev/null +++ b/cancer-zodiac/res/mars.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + diff --git a/cancer-zodiac/res/mercury.svg b/cancer-zodiac/res/mercury.svg new file mode 100755 index 0000000..39da9b3 --- /dev/null +++ b/cancer-zodiac/res/mercury.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + diff --git a/cancer-zodiac/res/neptune.svg b/cancer-zodiac/res/neptune.svg new file mode 100755 index 0000000..be4ef04 --- /dev/null +++ b/cancer-zodiac/res/neptune.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + + diff --git a/cancer-zodiac/res/saturn.svg b/cancer-zodiac/res/saturn.svg new file mode 100755 index 0000000..0f19fb5 --- /dev/null +++ b/cancer-zodiac/res/saturn.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/cancer-zodiac/res/shiny.svg b/cancer-zodiac/res/shiny.svg new file mode 100755 index 0000000..3bf0b85 --- /dev/null +++ b/cancer-zodiac/res/shiny.svg @@ -0,0 +1,48 @@ + + + + + + + + + + diff --git a/cancer-zodiac/res/sun.svg b/cancer-zodiac/res/sun.svg new file mode 100755 index 0000000..ff4daa3 --- /dev/null +++ b/cancer-zodiac/res/sun.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + diff --git a/cancer-zodiac/res/uranus.svg b/cancer-zodiac/res/uranus.svg new file mode 100755 index 0000000..85358d3 --- /dev/null +++ b/cancer-zodiac/res/uranus.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + + diff --git a/cancer-zodiac/res/venus.svg b/cancer-zodiac/res/venus.svg new file mode 100755 index 0000000..e0c5b54 --- /dev/null +++ b/cancer-zodiac/res/venus.svg @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cancer-zodiac/starfield.js b/cancer-zodiac/starfield.js new file mode 100755 index 0000000..80ac685 --- /dev/null +++ b/cancer-zodiac/starfield.js @@ -0,0 +1,23 @@ +// randomly generate a star field on page load +// it maintains an average of 1 shiny star per 10 square dekapixels and 1 regular star per 2 square dekapixels +// a square dekapixel is 10,000 pixels, 100 to a side + +const WINDOW_DEKAPIXELS = window.innerWidth * window.innerHeight / 10_000; +const starfield = document.getElementById("starfield"); + +for (var x = 0; x < WINDOW_DEKAPIXELS / 10; x++) { // 1 shiny star per 10 dekapixels + var shiny = document.createElement("div"); + shiny.classList.add("shiny-star"); + starfield.appendChild(shiny); + shiny.style.left = window.innerWidth * Math.random() + "px"; + shiny.style.top = window.innerHeight * Math.random() + "px"; + shiny.style.animationDelay = -Math.random() * 2 + "s"; +} + +for (var x = 0; x < WINDOW_DEKAPIXELS / 2; x++) { + var star = document.createElement("div"); + star.classList.add("star"); + starfield.append(star); + star.style.left = window.innerWidth * Math.random() + "px"; + star.style.top = window.innerHeight * Math.random() + "px"; +} \ No newline at end of file diff --git a/site/index.html b/site/index.html index 751bfb8..18bf6c7 100644 --- a/site/index.html +++ b/site/index.html @@ -3,7 +3,7 @@ [=cards-] [=+-]

- Hiya there! My name is Tyler Clarke, but I also go by weird_pusheen online. I'm a physics student at the Georgia Institute of Technology in Atlanta. I'm also a mostly self-taught software engineer + Hiya there! My name is Tyler Clarke, but I also go by weird_pusheen online. I'm a mostly self-taught software engineer and an OSS maintainer. This is my website!