2022-10-04 23:37:40 +00:00
---
2024-06-17 04:30:48 +00:00
title: Hello!
prev: false
next: false
2022-10-04 23:37:40 +00:00
---
2024-06-18 17:37:35 +00:00
# Hello!
2024-06-17 05:41:25 +00:00
2024-06-18 17:37:35 +00:00
I'm Anthony, or The Paper Pilot, and welcome to my [digital garden ](/garden/digital-gardens/index.md )!
2024-06-18 07:32:30 +00:00
2024-06-19 04:17:07 +00:00
< div class = "hero-wrapper" >
2024-06-28 04:14:26 +00:00
< TresCanvas :stencil = "true" >
< TresOrthographicCamera :position = "[0, 0, 10]" / >
< TresAmbientLight :intensity = "1" / >
< Suspense >
< Hole / >
< / Suspense >
< / TresCanvas >
2024-06-19 04:17:07 +00:00
< img class = "hero" src = "/paperpilot.png" :style = "`--x-offset: ${xOffset * 20}%`" / >
< / div >
< svg >
< filter id = "displacementFilter" >
< feTurbulence
type="turbulence"
baseFrequency="0.01"
numOctaves="5"
result="turbulence" />
< feDisplacementMap
in2="turbulence"
in="SourceGraphic"
scale="100"
xChannelSelector="R"
yChannelSelector="G" />
< / filter >
< / svg >
2024-06-18 15:31:39 +00:00
2024-06-18 17:37:35 +00:00
This is a public website collecting all my (public) thoughts and projects all in one place. There are a lot of pages here, that link to each other wiki-style. I suggest starting your browsing with one of the recommended pages that most closely align with your interests :).
2024-06-19 04:17:07 +00:00
< script setup >
import { ref, onMounted, onUnmounted } from "vue";
2024-06-28 04:14:26 +00:00
import { TresCanvas } from '@tresjs/core'
import Hole from "./.vitepress/theme/Hole.vue";
2024-06-19 04:17:07 +00:00
const xOffset = ref(0);
function mouseMoveHandler(event) {
xOffset.value = event.pageX / window.innerWidth - .5;
}
onMounted(() => {
window.addEventListener("mousemove", mouseMoveHandler);
});
onUnmounted(() => {
window.removeEventListener("mousemove", mouseMoveHandler);
});
< / script >
< style scoped >
.hero-wrapper {
height: 16lh;
position: relative;
}
@media (max-width: 700px) {
.hero-wrapper {
height: 12lh;
}
}
@media (max-width: 500px) {
.hero-wrapper {
height: 10lh;
}
}
@media (max-width: 400px) {
.hero-wrapper {
height: 9lh;
}
}
.hero {
height: 80%;
width: unset;
margin: auto;
position: absolute;
right: 50%;
bottom: 0;
transform: translate(calc(50% + var(--x-offset)), 0%);
animation: bob 5s ease-in-out infinite;
}
svg {
display: none;
}
@keyframes bob {
0% {
transform: translate(calc(50% + var(--x-offset)), -10%);
}
50% {
transform: translate(calc(50% + var(--x-offset)), 10%);
}
100% {
transform: translate(calc(50% + var(--x-offset)), -10%);
}
}
< / style >