Generate Parameterized UI Themes with Spectral Field Rendering
Parameterized dual-mode skill that layers a procedural OKLCH spectral field behind a stable information workspace and measures the result.
Why it matters
Build production-ready UI implementations with two distinct visual modes-opal (流光溢彩白) and obsidian (五彩斑斓黑)-that layer procedural spectral fields over stable information workspaces while maintaining full parameter transparency, deterministic rendering, and measurable color intensity reporting.
Outcomes
What it gets done
Scaffold responsive three-pane workbench layouts with navigation, list, detail, and metadata regions while preserving semantic structure and accessibility
Implement WebGL procedural field renderer with fBm/domain-warp algorithms, per-color intensity controls, OKLCH color space authoring, and CSS fallback
Validate theme manifests against schema requirements, capture browser screenshots, and measure chromatic coverage with deterministic pixel analysis
Export serializable configuration manifests with seed, phase, field scale, opacity, and measured coverage for every configured color
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-liuguang-banlan-ui | bash Overview
Luminous UI Workshop
Luminous UI Workshop is a parameterized skill for building one of two spectral UI treatments, opal or obsidian, as a controlled environmental layer behind a stable information workspace. It defines a serializable OKLCH color manifest with per-color intensity, opacity, scale, and phase, renders it as a procedural fBm/domain-warp field via WebGL with a CSS fallback, and validates and measures the result with bundled Python scripts. Use it when a user asks for the opal or obsidian spectral treatment by name or wants a reusable, parameterized starter that reports its own color intensity and measured coverage; skip it for a generic theme-token library or an unparameterized visual mockup.
What it does
Luminous UI Workshop is a single skill with two explicit modes rather than a generic material library: opal (mapped from "流光溢彩白") and obsidian (mapped from "五彩斑斓黑"). Both modes render a procedural spectral field, built from fBm/domain-warp noise, as a controlled environmental layer sitting behind a stable, information-dense workspace UI (navigation, list/queue, detail pane, metadata, and one signature observation band). The implementation is driven by a serializable manifest that defines a global color-intensity budget, a per-color list (each with its own intensity, peak opacity, spatial scale, and phase in OKLCH space with an sRGB fallback), and field parameters (scale, octaves, warp strength, motion speed, dither strength, luminance cap). Interactive sliders expose the global and per-color intensities, alongside reset, JSON export, and copy actions. When native image inspection or screenshot capture is unavailable, the skill still runs the deterministic pixel checks but marks its own report visual-unverified rather than inferring quality from DOM or CSS alone.
When to use - and when NOT to
Use it when a request names either mode directly, asks for one unified skill covering both, or needs a reusable parameterized starter that reports total and per-color intensity, OKLCH values, and screenshot-based coverage measurements. Do not use it for a generic theme-token library, or to produce a one-off, unparameterized visual mockup. Before applying it, the skill calls for inspecting the existing project, framework, route, and build system, and it does not authorize replacing an existing design system without authorization.
Inputs and outputs
The primary input is the manifest object, validated against a fixed schema:
{
schemaVersion, mode, label, preset, seed,
overallColorIntensity,
base: { oklch },
colors: [{
id, label, oklch, srgbFallback,
intensity, peakOpacity, lightnessBias,
fieldScale, phase,
measuredCoverage, effectiveShare
}],
field: { scale, octaves, warpStrength, motionSpeed, staticTime, ditherStrength, luminanceCap },
output: { colorSpace, p3Enhancement, reducedMotion }
}
Manifests may hold between 3 and 12 colors, and the renderer uploads every configured entry up to that limit. Output is a rendered workspace (WebGL, with a CSS fallback when a WebGL context or shader/program cannot be created) plus a validation and measurement report that separates configured parameter values from measured pixel values - measured per-color coverage is not treated as an exact decomposition of shader energy. The report records modelVision, screenshotCapture, deterministicPixelMetrics, and visualVerificationMode, and can be marked partial, visual-unverified, or blocked when a required capability is missing.
Integrations
Three bundled Python scripts drive the pipeline: scaffold_template.py copies the neutral starter for opal, obsidian, or both; validate_manifest.py parses a JavaScript manifest through Node and checks required fields and ranges; measure_preview.py measures a rendered pure-field PNG against the configured OKLCH palette and requires optional packages listed in scripts/requirements.txt, exiting with an unavailable-capability message if they are missing. JavaScript manifests are treated as executable code - the skill calls for inspecting them first and running the bundled helpers only on reviewed, locally authored configuration, never on an untrusted or freshly downloaded manifest.
Who it's for
It's for builders and agents implementing a UI that needs a spectral, colorful background treatment matched to one of the two named modes, while keeping semantic headings, labels, focus-visible states, keyboard escape behavior, readable contrast, and a responsive layout down to a narrow mobile viewport intact. It is not intended for teams that just want a generic reusable color or theme library, or for producing an unverified, purely visual mockup without deterministic or model-based checks.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.