feat(theme): parchment/dark-bay/vignette shader surfaces as drop-in scenes

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-10 20:34:52 -05:00
parent 9091707535
commit 73fcf2d096
17 changed files with 102 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
shader_type canvas_item;
uniform vec4 stripe_a : source_color;
uniform vec4 stripe_b : source_color;
uniform float band_px = 16.0; // 16px bands per README
uniform float vignette = 0.55; // edge darkening strength
void fragment() {
// 135deg diagonal stripe: sum of pixel coords, banded.
vec2 px = FRAGCOORD.xy;
float diag = px.x + px.y;
float band = mod(floor(diag / band_px), 2.0);
vec4 base = mix(stripe_a, stripe_b, band);
// radial vignette centred slightly high (README: 50% 38%).
float d = distance(UV, vec2(0.5, 0.38));
base.rgb *= 1.0 - clamp(d * vignette, 0.0, 1.0);
COLOR = base;
}

View File

@@ -0,0 +1 @@
uid://jb8clyworwr1

View File

@@ -0,0 +1,6 @@
shader_type canvas_item;
uniform vec4 top : source_color;
uniform vec4 bottom : source_color;
void fragment() {
COLOR = mix(top, bottom, UV.y);
}

View File

@@ -0,0 +1 @@
uid://b2heb6jhvwxxl

View File

@@ -0,0 +1,6 @@
shader_type canvas_item;
uniform float strength = 0.62;
void fragment() {
float d = distance(UV, vec2(0.5));
COLOR = vec4(0.0, 0.0, 0.0, clamp(d * strength, 0.0, 1.0));
}

View File

@@ -0,0 +1 @@
uid://b4tami4peyxaw