feat: use webgl shaders instead of wasm

This commit is contained in:
Jet 2026-03-27 15:08:34 -07:00
parent 38efffa9b9
commit a69f37886f
No known key found for this signature in database
24 changed files with 1603 additions and 1603 deletions

View file

@ -103,13 +103,152 @@
<a class="skip-link" href="#outlet">Skip to content</a>
<canvas
id="canvas"
class="fixed top-0 left-0 -z-10 h-screen w-screen"
class="pointer-events-none fixed inset-0 z-0 h-screen w-screen"
aria-hidden="true"
></canvas>
<div class="page-frame">
<aside id="effect-tuner" class="effect-tuner" aria-label="Effect tuning">
<h2>[EFFECT TUNER]</h2>
<label>
<span>Blur</span>
<input
id="effect-blur"
type="range"
min="0"
max="16"
step="1"
value="1"
/>
<output for="effect-blur" id="effect-blur-value">1</output>
</label>
<label>
<span>Radius</span>
<input
id="effect-radius"
type="range"
min="1"
max="60"
step="1"
value="20"
/>
<output for="effect-radius" id="effect-radius-value">20.0</output>
</label>
<label>
<span>Darkness</span>
<input
id="effect-darkness"
type="range"
min="0"
max="1"
step="0.005"
value="0.20"
/>
<output for="effect-darkness" id="effect-darkness-value">0.20</output>
</label>
<label>
<span>Smallest</span>
<input
id="effect-smallest"
type="range"
min="0.25"
max="32"
step="0.25"
value="1"
/>
<output for="effect-smallest" id="effect-smallest-value">1.00</output>
</label>
<label>
<span>Largest</span>
<input
id="effect-largest"
type="range"
min="1"
max="256"
step="1"
value="20"
/>
<output for="effect-largest" id="effect-largest-value">20</output>
</label>
<label>
<span>Levels</span>
<input
id="effect-levels"
type="range"
min="1"
max="10"
step="1"
value="3"
/>
<output for="effect-levels" id="effect-levels-value">3</output>
</label>
<label>
<span>Detail</span>
<input
id="effect-detail"
type="range"
min="0.001"
max="0.5"
step="0.001"
value="0.04"
/>
<output for="effect-detail" id="effect-detail-value">0.040</output>
</label>
<label>
<span>Dither</span>
<input
id="effect-dither"
type="range"
min="0"
max="2"
step="0.01"
value="0.75"
/>
<output for="effect-dither" id="effect-dither-value">0.75</output>
</label>
<label>
<span>Edge Bias</span>
<input
id="effect-edge"
type="range"
min="0"
max="3"
step="0.05"
value="1.35"
/>
<output for="effect-edge" id="effect-edge-value">1.35</output>
</label>
<label>
<span>Hue Drift</span>
<input
id="effect-hue-drift"
type="range"
min="0"
max="0.25"
step="0.005"
value="0.08"
/>
<output for="effect-hue-drift" id="effect-hue-drift-value"
>0.080</output
>
</label>
<label>
<span>Streak</span>
<input
id="effect-streak"
type="range"
min="0"
max="1"
step="0.01"
value="0.35"
/>
<output for="effect-streak" id="effect-streak-value">0.35</output>
</label>
</aside>
<div class="page-frame relative z-10">
<nav aria-label="Main navigation" class="site-region">
<div class="site-shell site-panel px-[2ch] py-[1ch]">
<div class="flex justify-center gap-[2ch]">
<div class="site-shell site-panel-frame px-[2ch] py-[1ch]">
<div class="site-panel-frost" aria-hidden="true"></div>
<div class="site-panel-border" aria-hidden="true"></div>
<div class="site-panel-content flex justify-center gap-[2ch]">
<a href="/" data-nav-link>[HOME]</a>
<a href="/qa" data-nav-link>[Q&amp;A]</a>
</div>