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,12 @@
class_name DarkBay
extends Panel
## Drop-in dark stripe+vignette bay backdrop. §2: presentation.
const Palette = preload("res://scripts/theme/palette.gd")
func _ready() -> void:
var m := ShaderMaterial.new()
m.shader = load("res://assets/theme/shaders/dark_bay.gdshader")
m.set_shader_parameter("stripe_a", Palette.BAY_STRIPE_A)
m.set_shader_parameter("stripe_b", Palette.BAY_STRIPE_B)
material = m

View File

@@ -0,0 +1 @@
uid://24c8pl0yx8wu

View File

@@ -0,0 +1,12 @@
class_name ParchmentPanel
extends Panel
## Drop-in parchment backdrop (mockups "Dark Bay + Parchment" motif). §2: presentation.
const Palette = preload("res://scripts/theme/palette.gd")
func _ready() -> void:
var m := ShaderMaterial.new()
m.shader = load("res://assets/theme/shaders/parchment.gdshader")
m.set_shader_parameter("top", Palette.SHEET_TOP)
m.set_shader_parameter("bottom", Palette.SHEET_BOTTOM)
material = m

View File

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

View File

@@ -0,0 +1,11 @@
class_name VignetteOverlay
extends ColorRect
## Drop-in edge-dim overlay for pause/dialogue dim. §2: presentation.
func _ready() -> void:
color = Color(0, 0, 0, 0) # base transparent; shader draws the dim
mouse_filter = Control.MOUSE_FILTER_IGNORE
var m := ShaderMaterial.new()
m.shader = load("res://assets/theme/shaders/vignette.gdshader")
material = m

View File

@@ -0,0 +1 @@
uid://7bc7agrl6oi0