Skip to main content

webgl-neon-grid

A real-time synthwave scene — a perspective floor grid scrolling toward a banded retro sun under a neon starfield, all from one fragment shader. No textures. Rendered as a single self-contained `index.html`. Use when the brief asks for "synthwave", "outrun", "retro 80s", "neon grid", "perspective grid", "vaporwave", or a retro-futuristic hero. OpenDesign serves this in powered-preview mode so the GPU stack actually runs.

跳到安装

来源信息

仓库
nexu-io/open-design
最近来源活动
2026年8月18日 07:09
检测到的 SKILL.md 语言
英语
星标
97,471
分支
11,317

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
3 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
webgl-neon-grid
description
A real-time synthwave scene — a perspective floor grid scrolling toward a banded retro sun under a neon starfield, all from one fragment shader. No textures. Rendered as a single self-contained `index.html`. Use when the brief asks for "synthwave", "outrun", "retro 80s", "neon grid", "perspective grid", "vaporwave", or a retro-futuristic hero. OpenDesign serves this in powered-preview mode so the GPU stack actually runs.
triggers
["synthwave","outrun","retro 80s","neon grid","perspective grid","vaporwave","retrowave","赛博","蒸汽波"]
od
{"mode":"prototype","platform":"web","scenario":"design","preview":{"type":"html","entry":"index.html","reload":"debounce-100"},"design_system":{"requires":false,"sections":["color","typography"]},"craft":{"requires":["animation-discipline"]}}
# Neon Grid Skill Produce a single self-contained `index.html` that renders a real-time synthwave scene full-screen — a perspective floor grid, a banded retro sun, and a starfield — with a clean typographic overlay on top. ## Why this is a powered artifact OpenDesign detects `getContext('webgl2')` and renders this file in **powered preview** — a cross-origin-isolated iframe with `allow-same-origin`. The full GPU pipeline is available; you do not need to work around the opaque sandbox. ## Resource map ``` webgl-neon-grid/ ├── SKILL.md ← you're reading this └── example.html ← a working synthwave grid + sun shader (READ FIRST) ``` ## Workflow ### Step 0 — Read the reference Read `example.html` end to end. Note the shape: a horizon split; **above** the horizon a sky gradient, a circular sun cut by horizontal scanline bands, and hashed stars; **below** the horizon a perspective floor grid (`z = k / depth`, `x = uv.x * z`) that scrolls with time, its lines thinning and fading with distance. Everything is analytic — no raymarch needed. ### Step 1 — Choose the palette Synthwave lives on its gradient: - **Outrun** (default): magenta→indigo sky, orange→pink banded sun, cyan/magenta grid. - **Vaporwave**: pastel teal + pink, softer sun, wider grid spacing. - **Terminal**: near-monochrome green grid on black for a colder, hacker read. ### Step 2 — Build `index.html` - One file, zero external requests. Fullscreen triangle + fragment shader. - Project the floor with a simple perspective divide; derive grid lines from `abs(fract(gv) - 0.5)` and a distance-scaled line width so far lines don't alias. - Fade the grid into a horizon haze and add a hot horizon band; band the sun with `sin(y * f)` cuts on its lower half. - Compile shaders with error logging so a typo fails loudly, not silently black. ### Step 3 — Overlay + brand - Map the accent colors to the active DESIGN.md when one is present; otherwise the outrun palette above, with the kicker in lime `#63fe13`. - Headline ≤ 12ch plus one supporting line. Keep the horizon and sun as the hero. ### Step 4 — Self-review (P0) - [ ] Renders continuously at ~60fps; the FPS badge updates. - [ ] Grid reads as receding perspective and scrolls smoothly toward the horizon. - [ ] Sun bands and horizon glow are visible; far grid lines fade without aliasing. - [ ] Resizes crisply on window resize (no stretching / blur). - [ ] Degrades to a message (not a blank page) if `webgl2` is unavailable.
在 GitHub 查看