Draw the title, waveform and logo as bevelled chrome in WebGL

A distance transform turns the glyphs and waveform bars into a height field
with bevelled edges and some depth, and a shader lights them as metal: a
studio of softboxes, a dark horizon and the card's colour and art as the
floor, colour split at steep edges, a key light that follows the pointer
(drifts on phones) and flares on kicks, and a sweep over each new title.
One offscreen context serves every plate. The title turns slightly towards
the pointer. Display text uses Bruno Ace SC, bundled; "simple" visuals keep
plain text and the drawn waveform.
This commit is contained in:
nvrl committed 2026-11-01 20:06:32 +01:00
1 parent 62b28bd30e
commit cfccfcaac6
7 files changed
+778 -13

No files matched your search

+10
View File
@@ -6,6 +6,7 @@
"": {
"name": "pl8inf-web",
"dependencies": {
"@fontsource/bruno-ace-sc": "^5.3.0",
"hls.js": "1.7.4"
},
"devDependencies": {
@@ -13,6 +14,15 @@
"vite": "8.3.5"
}
},
"node_modules/@fontsource/bruno-ace-sc": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/@fontsource/bruno-ace-sc/-/bruno-ace-sc-5.3.0.tgz",
"integrity": "sha512-jQLpVbpmped/MMXyukOLGyroF/SBqY36slCy0GgDyYKcSbTCLcoz32rW1E+i8Mvvm61NfWIyPfeM9Bem3/1QQg==",
"license": "OFL-1.1",
"funding": {
"url": "https://github.com/sponsors/ayuhito"
}
},
"node_modules/@oxc-project/types": {
"version": "0.156.0",
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.156.0.tgz",