From be88ea53b7078287cd519395f69904852db4083d Mon Sep 17 00:00:00 2001 From: Ryan Malloy Date: Fri, 13 Feb 2026 06:16:47 -0700 Subject: [PATCH] Add signal source selector to oscilloscope hero Source knob cycles through 6 tracks: the original CC-licensed Spirals intro plus 5 N-Spheres tracks (Function, Intersect, Attractor, Flux, Core) by Fenderson & Hansi3D. - 48kHz FLAC conversions served via git LFS (~189MB total) - Rotary knob with CSS custom property composable transforms - Dynamic attribution (CC link for Spirals, album credit for N-Spheres) - Signal selection persisted in localStorage - Loading state overlay while buffering larger tracks - Skin-aware labels (465: "Source", 545A: "Input") - Keyboard accessible (Enter/Space to cycle) --- .gitattributes | 1 + docs/public/n-spheres/attractor.flac | 3 + docs/public/n-spheres/core.flac | 3 + docs/public/n-spheres/flux.flac | 3 + docs/public/n-spheres/function.flac | 3 + docs/public/n-spheres/intersect.flac | 3 + docs/src/components/OscilloscopeDisplay.astro | 123 ++++++++++++++++-- docs/src/styles/oscilloscope.css | 45 +++++++ 8 files changed, 175 insertions(+), 9 deletions(-) create mode 100644 .gitattributes create mode 100644 docs/public/n-spheres/attractor.flac create mode 100644 docs/public/n-spheres/core.flac create mode 100644 docs/public/n-spheres/flux.flac create mode 100644 docs/public/n-spheres/function.flac create mode 100644 docs/public/n-spheres/intersect.flac diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..c60be9a --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +docs/public/n-spheres/*.flac filter=lfs diff=lfs merge=lfs -text diff --git a/docs/public/n-spheres/attractor.flac b/docs/public/n-spheres/attractor.flac new file mode 100644 index 0000000..fedd4da --- /dev/null +++ b/docs/public/n-spheres/attractor.flac @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdd5f05bf59b412c1d2c1bd56ae77336171503b6bb5d35d83d7ec23718070df1 +size 30715682 diff --git a/docs/public/n-spheres/core.flac b/docs/public/n-spheres/core.flac new file mode 100644 index 0000000..6967d40 --- /dev/null +++ b/docs/public/n-spheres/core.flac @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cb720f00f21b0cf993272b6c8a039fd8592a6e0aac254e39d94c2d5c616227e +size 34912519 diff --git a/docs/public/n-spheres/flux.flac b/docs/public/n-spheres/flux.flac new file mode 100644 index 0000000..e586f8a --- /dev/null +++ b/docs/public/n-spheres/flux.flac @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfacf030e7258bcf463ebb2d3d7bbdf21628940c65f9d9cd32b646701eebb4f1 +size 37452584 diff --git a/docs/public/n-spheres/function.flac b/docs/public/n-spheres/function.flac new file mode 100644 index 0000000..148e0f0 --- /dev/null +++ b/docs/public/n-spheres/function.flac @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1cb18c4eb6ef4142aabd243b2ed6d3cbb4001b33ecf5b64a72c7d79deac5b49a +size 52693305 diff --git a/docs/public/n-spheres/intersect.flac b/docs/public/n-spheres/intersect.flac new file mode 100644 index 0000000..db4add6 --- /dev/null +++ b/docs/public/n-spheres/intersect.flac @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c85792aedba89b22d06e3e8813164c882bc30cd3382ea2d89e4397e6fcdf269d +size 42144302 diff --git a/docs/src/components/OscilloscopeDisplay.astro b/docs/src/components/OscilloscopeDisplay.astro index ebd4e18..d49fb45 100644 --- a/docs/src/components/OscilloscopeDisplay.astro +++ b/docs/src/components/OscilloscopeDisplay.astro @@ -41,6 +41,14 @@
+ +
+ +
+ Spirals +
+
@@ -72,12 +80,7 @@
-
- "Spirals" by Jerobeam Fenderson - (CC BY-NC-SA) - · Visual: Nick Watton - · rsp2k -
+
@@ -100,10 +103,20 @@