feat: add procedural cloud background with WebGL shaders

Add alternative animated background using multi-pass WebGL rendering with
simplex noise, FBM, and ASCII-style quantization. Randomly alternates with
existing dots background (50/50 chance). Supports light/dark themes with
different contrast and opacity settings.
This commit is contained in:
2026-01-14 00:29:03 -06:00
parent c7dbd77b72
commit c78fd44ccd
4 changed files with 923 additions and 4 deletions
+2 -2
View File
@@ -153,7 +153,7 @@ pub async fn run(pool: &PgPool) -> Result<(), Box<dyn std::error::Error>> {
(
"rustdoc-mcp",
"rustdoc-mcp",
"MCP server providing AI assistants access to Rust documentation",
"intelligent MCP server providing access to Rust documentation",
"A Model Context Protocol (MCP) server that provides AI assistants with direct access to Rust crate documentation. Enables LLMs to query rustdoc-generated documentation, search for types, traits, and functions, and retrieve detailed API information for any published Rust crate. Integrates with Claude, GPT, and other MCP-compatible AI tools to provide accurate, up-to-date Rust API references without hallucination.",
"active",
Some("Xevion/rustdoc-mcp"),
@@ -289,7 +289,7 @@ pub async fn run(pool: &PgPool) -> Result<(), Box<dyn std::error::Error>> {
sqlx::query!(
r#"
INSERT INTO tag_cooccurrence (tag_a, tag_b, count)
SELECT
SELECT
LEAST(t1.tag_id, t2.tag_id) as tag_a,
GREATEST(t1.tag_id, t2.tag_id) as tag_b,
COUNT(*)::int as count