Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 8432 байт. Загружен за: 0сек.
Проверяемая страница не запрещена в robots.txt.
Показать содержимое robots.txt
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" type="text/css" href="/assets/github.css" media="(prefers-color-scheme: light)" />
<link rel="stylesheet" type="text/css" href="/assets/github-dark.css" media="(prefers-color-scheme: dark)" />
<link rel="stylesheet" type="text/css" href="/assets/styles.css" />
<title>WESL Documentation</title>
<script type="module" src="/assets/main.js"></script>
<script type="module">
if (document.querySelector("wgsl-edit")) await import("/wgsl-edit.js");
if (document.querySelector("wgsl-play")) await import("/wgsl-play.js");
</script>
<link rel="icon" href="/assets/svg/logo/logomark-light.svg">
<link rel="alternate" type="text/plain" title="LLMs.txt" href="/llms.txt">
</head>
<body>
<header>
<a id="linkHome" href="/">
<img src="/assets/svg/logo/logo-horizontal-light.svg" alt="WESL Logo">
</a>
<div id="links">
<a href="/search.html">Search</a>
<a href="https://github.com/webgpu-tools/wesl-spec">GitHub</a>
</div>
</header>
<details id="navMenu">
<summary>Table of Contents</summary>
</details>
<nav id="sideNav">
<ul>
<li><a href="/">Home</a></li>
<h3>DOCS</h3>
<li><a href="/docs/Getting-Started-Rust.html">Starting with Rust</a></li>
<li><a href="/docs/Getting-Started-JavaScript.html">Starting with JavaScript</a></li>
<li><a href="/docs/WESL-Extensions.html">WESL Features</a></li>
<li><a href="/docs/Publishing-Packages.html">Publishing Packages</a></li>
<h3>JAVASCRIPT</h3>
<li><a href="/docs/JavaScript-Runtime-Linking.html">Runtime Linking</a></li>
<li><a href="/docs/JavaScript-Builds.html">JavaScript Builds</a></li>
<h3>TOOLS</h3>
<li><a href="/docs/wgsl-analyzer.html">wgsl-analyzer</a></li>
<li><a href="/docs/wgsl-test.html">wgsl-test</a></li>
<li><a href="/docs/wgsl-play.html">wgsl-play</a></li>
<li><a href="/docs/wgsl-edit.html">wgsl-edit</a></li>
<li><a href="/docs/wgsl-studio.html">wgsl-studio</a></li>
<h3>SPEC</h3>
<li><a href="/spec/README.html">About</a></li>
<li><a href="/spec/Imports.html">Imports</a></li>
<li><a href="/spec/Visibility.html">Visibility</a></li>
<li><a href="/spec/ConditionalTranslation.html">Conditional Translation</a></li>
<li><a href="/spec/WeslToml.html">wesl.toml</a></li>
<li><a href="/spec/Packaging.html">Packaging</a></li>
<li><a href="/docs/Design-Discussions.html">Design Docs</a></li>
<h3>BACKGROUND</h3>
<li><a href="/docs/Presentations.html">WESL Presentations</a></li>
<li><a href="/docs/Writing-Shaders.html">Writing Shaders</a></li>
<li><a href="/docs/Advanced-Concepts.html">Advanced Concepts</a></li>
<li><a href="/docs/Internals.html">Internals</a></li>
<br>
<li><a href="https://play.wesl-lang.dev">Translation Playground</a></li>
<h3>AGENTS</h3>
<li><a href="/llms.txt">llms.txt</a></li>
</ul>
</nav>
<main>
<!-- Repurpose the wiki Home page, adjusting links to point to /docs area -->
<h1 id="wesl---enhanced-webgpu-shaders"> <a class="anchor" href="#wesl---enhanced-webgpu-shaders">#</a>WESL - Enhanced WebGPU Shaders</h1>
<p><em>Lightweight extensions to the WebGPU shading language.</em></p>
<hr>
<p>Use standard extensions to enable WebGPU community tools for shader libraries, shader testing, web page examples, and more. WESL adds:</p>
<ul>
<li><strong>imports</strong> — split shaders into modular, reusable files</li>
<li><strong>conditional compilation</strong> — configure shader variants at build time or runtime</li>
<li><strong>packages</strong> — share shader libraries on npm and cargo</li>
</ul>
<p>WESL integrates into existing toolchains (Vite, Webpack, build.rs) with a couple lines of config.</p>
<h2 id="live-example"> <a class="anchor" href="#live-example">#</a>Live Example</h2>
<div class="demo-container">
<wgsl-edit id="home-editor" theme="auto" lint-from="home-player"></wgsl-edit>
<div class="demo-player-row">
<wgsl-play id="home-player" from="home-editor" transparent></wgsl-play>
<div class="demo-controls">
<label class="demo-toggle">
<input type="checkbox" id="noise-toggle" checked> noise
</label>
<span class="demo-hint">Recompile with a runtime condition</span>
<button class="demo-toggle wgsl-btn" id="wgsl-btn">Show WGSL (JS)</button>
<span class="demo-hint">See the JS linker output</span>
<button class="demo-toggle wgsl-btn" id="rust-btn">Show WGSL (Rust)</button>
<span class="demo-hint">See the wesl-rs (WASM) output</span>
</div>
</div>
</div>
<h2 id="why-wesl"> <a class="anchor" href="#why-wesl">#</a>Why WESL?</h2>
<ul>
<li><p><strong>Easy to adopt</strong> — WESL is a strict superset of WGSL.
WESL extensions are proposed WebGPU features that you can use today.
Existing <code>.wgsl</code> files work as-is.</p>
</li>
<li><p><strong>Tool supported</strong> — WebGPU community tools integrate into standard dev tools like Vite and VS Code, with WESL support today. Community tools don’t support app-specific custom string preprocessors.</p>
</li>
<li><p><strong>Libraries</strong> — Use shader libraries like <a href="https://www.npmjs.com/package/lygia">lygia</a>, or publish your own. Libraries can be cross published across JavaScript/TypeScript npm and Rust cargo.</p>
</li>
</ul>
<h2 id="tooling-ecosystem"> <a class="anchor" href="#tooling-ecosystem">#</a>Tooling Ecosystem</h2>
<p>WebGPU community tools rely on standard WESL extensions:</p>
<table>
<thead>
<tr>
<th>Tool</th>
<th>Description</th>
</tr>
</thead>
<tbody><tr>
<td><a href="/docs/wgsl-test.html">wgsl-test</a></td>
<td>GPU shader testing with <code>@test</code>, CLI runner, vitest integration</td>
</tr>
<tr>
<td><a href="/docs/wgsl-studio.html">wgsl-studio</a></td>
<td>VS Code extension with test runner and shader preview</td>
</tr>
<tr>
<td><a href="/docs/wgsl-play.html">wgsl-play</a></td>
<td>Web component for live shader rendering</td>
</tr>
<tr>
<td><a href="/docs/wgsl-edit.html">wgsl-edit</a></td>
<td>Web component shader editor with syntax highlighting and linting</td>
</tr>
<tr>
<td><a href="https://github.com/wgsl-analyzer/wgsl-analyzer">wgsl-analyzer</a></td>
<td>Language server for IDE support <em>(forthcoming)</em></td>
</tr>
</tbody></table>
<p>WESL linkers are available in both <strong>Rust</strong> (<a href="https://crates.io/crates/wesl">wesl crate</a>)
and <strong>JavaScript</strong> (<a href="https://www.npmjs.com/package/wesl">wesl package</a>),
with <a href="https://www.npmjs.com/package/wesl-plugin">bundler plugins</a>
for Vite, Webpack, Rollup, and more.</p>
<p>Linking is fast and WESL linkers are small (< 20kb), easy to embed
in editor applications and other tools.</p>
<h2 id="get-started"> <a class="anchor" href="#get-started">#</a>Get Started</h2>
<ul>
<li><a href="/docs/Getting-Started-Rust.html">Getting Started with Rust</a></li>
<li><a href="/docs/Getting-Started-JavaScript.html">Getting Started with JavaScript/TypeScript</a></li>
<li><a href="https://github.com/webgpu-tools/wesl-rs/tree/main/crates/wesl-c">C bindings</a> are available in the Rust implementation</li>
</ul>
<p>For other languages or unusual build setups, come talk to us.</p>
<p><em>Using a coding agent? Refer your agent to <a href="/llms.txt">llms.txt</a> for a concise description of using WESL.</em></p>
<h2 id="get-involved"> <a class="anchor" href="#get-involved">#</a>Get Involved</h2>
<p>We discuss on <a href="https://discord.gg/5UhkaSu4dt">Discord</a> and on <a href="https://github.com/webgpu-tools">GitHub</a> issues.
Tell us about something that doesn’t work smoothly for you in WGSL/WESL?
Maybe we can fix it with tools or language extensions.</p>
</main>
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"026355d7c3ec447fa954bed12b78cfb8","r":1}' crossorigin="anonymous"></script>
</body>
</html>