blob: 74e13127e19a6723569e5dcf2124d196a2565fe2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>256phi | Portfolio</title>
<link rel="stylesheet" href="../../Style/style.css">
</head>
<body>
<canvas id="bg"></canvas>
<div class="container">
<h1>PORTFOLIO</h1>
<p class="subtitle">// visual output from the collective</p>
<p style="text-align: center;">
Interested in a commission? Check out my <a href="/commissions">commissions page</a>.
</p>
<div class="gallery">
<a href="../../Assets/art/FULL-SCENE_ceaseless_watcher.png" class="gallery-item">
<img src="../../Assets/art/thumbs/FULL-SCENE_ceaseless_watcher.webp" alt="Ceaseless Watcher" loading="lazy">
</a>
<a href="../../Assets/art/YouAreBeingWatched_11-3-2026.png" class="gallery-item">
<img src="../../Assets/art/thumbs/YouAreBeingWatched_11-3-2026.webp" alt="You Are Being Watched" loading="lazy">
</a>
<a href="../../Assets/art/the_bliss_of_ignorance.jpg" class="gallery-item">
<img src="../../Assets/art/thumbs/the_bliss_of_ignorance.webp" alt="The Bliss of Ignorance" loading="lazy">
</a>
<a href="../../Assets/art/at_the_junction.jpeg" class="gallery-item">
<img src="../../Assets/art/thumbs/at_the_junction.webp" alt="At The Junction" loading="lazy">
</a>
<a href="../../Assets/art/stuck.jpg" class="gallery-item">
<img src="../../Assets/art/thumbs/stuck.webp" alt="Stuck" loading="lazy">
</a>
<a href="../../Assets/art/listen_to_the_tv.jpg" class="gallery-item">
<img src="../../Assets/art/thumbs/listen_to_the_tv.webp" alt="Listen To The Tv" loading="lazy">
</a>
<a href="../../Assets/art/avin_in_cavea.jpg" class="gallery-item">
<img src="../../Assets/art/thumbs/avin_in_cavea.webp" alt="Avin In Cavea" loading="lazy">
</a>
<a href="../../Assets/art/trust_whom.jpg" class="gallery-item">
<img src="../../Assets/art/thumbs/trust_whom.webp" alt="Trust Whom" loading="lazy">
</a>
<a href="../../Assets/art/autoportrait.jpg" class="gallery-item">
<img src="../../Assets/art/thumbs/autoportrait.webp" alt="Autoportrait" loading="lazy">
</a>
<a href="../../Assets/art/i_forget.jpg" class="gallery-item">
<img src="../../Assets/art/thumbs/i_forget.webp" alt="I Forget" loading="lazy">
</a>
<a href="../../Assets/art/god_is_dead_call_us.jpg" class="gallery-item">
<img src="../../Assets/art/thumbs/god_is_dead_call_us.webp" alt="God Is Dead Call Us" loading="lazy">
</a>
<a href="../../Assets/art/warning_existential_hazard.jpg" class="gallery-item">
<img src="../../Assets/art/thumbs/warning_existential_hazard.webp" alt="Warning Existential Hazard" loading="lazy">
</a>
<a href="../../Assets/art/the_void_is_listening.jpg" class="gallery-item">
<img src="../../Assets/art/thumbs/the_void_is_listening.webp" alt="The Void Is Listening" loading="lazy">
</a>
<a href="../../Assets/art/god_is_dead_and_we_killed_him.jpg" class="gallery-item">
<img src="../../Assets/art/thumbs/god_is_dead_and_we_killed_him.webp" alt="God Is Dead And We Killed Him" loading="lazy">
</a>
</div>
<footer>
<p>© 256phi | 2026 | <a href="/home">Home</a> | <a href="/commissions">Commissions</a></p>
</footer>
</div>
<!-- Lightbox for viewing art -->
<div id="lightbox" class="lightbox">
<span class="lightbox-close">×</span>
<img class="lightbox-img" src="" alt="">
</div>
<script type="module" src="../../Background/main.js"></script>
<script>
const lightbox = document.getElementById('lightbox');
const lightboxImg = lightbox.querySelector('.lightbox-img');
const lightboxClose = lightbox.querySelector('.lightbox-close');
document.querySelectorAll('.gallery-item').forEach(item => {
item.addEventListener('click', e => {
e.preventDefault();
lightboxImg.src = item.href;
lightboxImg.alt = item.querySelector('img').alt;
lightbox.classList.add('active');
});
});
lightboxClose.addEventListener('click', () => {
lightbox.classList.remove('active');
});
lightbox.addEventListener('click', e => {
if (e.target === lightbox) {
lightbox.classList.remove('active');
}
});
document.addEventListener('keydown', e => {
if (e.key === 'Escape') {
lightbox.classList.remove('active');
}
});
</script>
<svg style="position:absolute;width:0;height:0;" xmlns="http://www.w3.org/2000/svg">
<filter id="glitch">
<feTurbulence numOctaves="1" baseFrequency="0.01 0.1" type="fractalNoise" result="fine" />
<feComponentTransfer in="displaceRaw" result="displace">
<feFuncR type="discrete" tableValues="0 .2 .4 .5 .6 .8 1" />
<feFuncA type="discrete" tableValues="0" />
</feComponentTransfer>
<feDisplacementMap in="SourceGraphic" in2="displace" xChannelSelector="R" scale="15" />
</filter>
</svg>
</body>
</html>
|