尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗TypeScript for shaders.
This repository preserves the website's earlier source and history. Active website development, issues, and pull requests belong in typeshade/web. Do not add new site features or maintenance changes here.
TypeShade lets you author shader programs in TypeScript with a TypeShade-specific language model. A source file opts into that model with the file-level directive "use typeshade".
"use typeshade";
export function fragment(uv: vec2): vec4 {
return vec4(uv, 0.0, 1.0);
}
The compiler lowers the source to an intermediate representation and emits shader source for the host. The current targets are WGSL for WebGPU and GLSL ES 3.00 for WebGL2. The compiled program can run through typeshade/runtime on WebGPU and WebGL2. Supported @compute entries also run on the WebGL2 tier through GLSL ES 3.00 passes.
Shader authoring should keep the parts developers already know from TypeScript: types, editor feedback, modules, and familiar control flow, while making GPU-specific rules explicit.
TypeShade is designed around that boundary:
"use typeshade" marks the file as a shader file instead of ordinary application code. The file compiles with the shader files it imports as one program.typeshade/runtime runs on WebGPU, WebGL2 or the CPU.Start with the documentation site:
The important concept to understand first is "use typeshade". It is the boundary between ordinary TypeScript and TypeShade's shader authoring semantics.
The current website source is maintained in typeshade/web. Use that repository for documentation, examples, site code, and deployment changes.
This repository keeps its existing source tree and Git history as a historical snapshot. Its site build, compiler pinning, example publishing, and gallery setup workflows are retired here. The site is no longer developed or deployed from this repository. See docs/repository-migration.md for the migration record and the remaining cutover boundaries.
The old source is available for history and comparison. Its development instructions and automation describe the previous site implementation and are not instructions for current work.
TypeShade is pre-release. The public authoring model on main is file-level "use typeshade"; package and compiler details may change while the language surface matures.
TypeShade is released under the Apache License 2.0, and was released under the MIT License before that. The site states the license of the compiler commit it is pinned to, read from that commit's package.json. This repository is licensed under the Apache License 2.0 as well: see LICENSE and NOTICE.
The English and Korean /benchmarks/ pages run versioned WebGPU workloads in a browser
Worker. One run compares both exact compiler/runtime builds across every experiment and
correctness check. Four section charts show timing and buffer-memory changes. Visitors inspect
results from a visitor-initiated run. A notice below Run explains automatic reporting. The
site Worker stores authorized records privately in D1. See docs/benchmarks.md
for retention, migration and maintainer commands, and
docs/benchmark-unification.md for the unified report, and
docs/benchmark-projection.md for the private input projection cohort.
bun run check:benchmark-catalog checks the retained original fixtures against their compiler.
bun run check:regression-catalog checks the unified workload against both exact builds.
After bun run build, bun run check:benchmarks runs the instrument, consent flow and local
D1 collector in Chromium. Set PLAYWRIGHT_CHROMIUM when Chromium is installed outside Playwright.