Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
23c1c0b
Fix #178
stefnotch Apr 19, 2026
2be5aa7
visibility design and discussion
mighdoll May 12, 2026
9fc3471
rename org references: wgsl-tooling-wg -> webgpu-tools
mighdoll May 13, 2026
75ec680
syntax to @public / @private
mighdoll May 14, 2026
21f610d
defer wildcard re-exports to future work
mighdoll May 14, 2026
eb8bee0
revise based on review feedback
mighdoll May 26, 2026
af3bf22
add to TOC
mighdoll May 28, 2026
3094ab9
move leaked type warning to future possibilities
mighdoll May 28, 2026
1ed5b2d
note private contextual keyword status in spec too
mighdoll May 28, 2026
c79a045
note re-export of modules is reserved in import grammar syntax
mighdoll May 28, 2026
1ba40c5
minor editiorial and format
mighdoll May 28, 2026
384f1fd
limit wesl.toml root to folders only
mighdoll Jun 9, 2026
08b85bc
clarify package.wesl is optional and root only
mighdoll Jun 9, 2026
fb2f1ad
address review comments
stefnotch Jun 24, 2026
6f68abc
Merge pull request #182 from webgpu-tools/fix-wesl-toml
stefnotch Jun 24, 2026
6460f61
merge in updates from wildcard-imports PR #183
mighdoll Jul 3, 2026
5ea9db4
direct import resolution per #193
mighdoll Jul 6, 2026
c7af9c7
merge direct-imports (#199) into visibility
mighdoll Jul 6, 2026
7c642e9
Merge pull request #183 from webgpu-tools/glob-imports
mighdoll Jul 6, 2026
5cff896
Merge remote-tracking branch 'refs/remotes/origin/main' into visibility
mighdoll Jul 6, 2026
45cdada
Misc followups after 199 (direct imports) merge
mighdoll Jul 6, 2026
9a381df
address k2d222 comments on #199:
mighdoll Jul 8, 2026
29944a9
misc editiorial
mighdoll Jul 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# macOS
.DS_Store

# vi temp files
*.swp
8 changes: 4 additions & 4 deletions COPYRIGHT
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
Copyright (c) The wgsl-tooling-wg Contributors.
Copyright (c) The webgpu-tools Contributors.

Copyrights in the wgsl-tooling-wg projects are retained by their contributors.
No copyright assignment is required to contribute to the wgsl-tooling-wg projects.
Copyrights in the webgpu-tools projects are retained by their contributors.
No copyright assignment is required to contribute to the webgpu-tools projects.

Some files include explicit copyright notices and/or license notices.
For full authorship information, see the version control history.

Except as otherwise noted, the wgsl-tooling-wg projects are licensed under the
Except as otherwise noted, the webgpu-tools projects are licensed under the
Apache License, Version 2.0 <LICENSE-APACHE> or <http://www.apache.org/licenses/LICENSE-2.0>
or the MIT license <LICENSE-MIT> or <http://opensource.org/licenses/MIT>, at your option.
2 changes: 1 addition & 1 deletion ConditionalTranslation.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ Refer to the [updated grammar appendix](#appendix-updated-grammar) for the list
* const assertion statements

> [!WARNING]
> We added attributes on assignment and increment/decrement statements. This change makes the WESL grammar no longer [LR(1)](https://en.wikipedia.org/wiki/LR_parser). See [`wesl-rs#162`](https://github.com/wgsl-tooling-wg/wesl-rs/issues/162) for details.
> We added attributes on assignment and increment/decrement statements. This change makes the WESL grammar no longer [LR(1)](https://en.wikipedia.org/wiki/LR_parser). See [`wesl-rs#162`](https://github.com/webgpu-tools/wesl-rs/issues/162) for details.
>
> Due to this limitation, *wesl-rs* does not allow attributes on assignment, increment and decrement statements starting with a `(`. Concretely, this is not supported by *wesl-rs*: `@if(FOO) (x)++`.

Expand Down
8 changes: 6 additions & 2 deletions GLOSSARY.md

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

later, we can add link error to this list.

Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,13 @@
* Type aliases
* [Const declarations, override declarations](https://www.w3.org/TR/WGSL/#value-decls)
* [Var declarations](https://www.w3.org/TR/WGSL/#var-decls)
* **Module**: A single WESL or WGSL file.
* **Module**: A unit of WESL or WGSL code with its own top-level scope, stored in a single module source.
* **Module Source**: The stored text of a module, typically a WESL or WGSL file.
* **Root Module**: The WESL module from which translation starts. A single project can have many root modules.
* **Module Path**: Hierarchical address of a module file or partial path, akin to a filesystem path
* **Declaration Path**: A fully qualified `::`-separated path whose final segment names a declared item.
* **Module Path**: A `::`-separated path naming a module; equivalently, a declaration path minus its final segment. See [Imports](Imports.md#resolving-a-declaration-path).
* **Import Path**: The `::`-separated path written in an import statement. An import collection (`{}`) flattens into separate imports, each with its own import path.
* **Package Module**: The top-level module of a package, stored as the optional file `package.wesl` in the package root. A module path consisting only of `package` or a bare package name refers to the package module.
* **Side effects**: WESL/WGSL shader code that is visible to host code (e.g. in Rust or JavaScript).
Changes to that shader code have the side effect of changing the host interface to the shader.
* Things that are specified when [creating a WGSL pipeline](https://developer.mozilla.org/en-US/docs/Web/API/GPUDevice/createRenderPipeline#fragment_object_structure)
Expand Down
333 changes: 227 additions & 106 deletions Imports.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion NameMangling.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ See also renaming host visible names in [Visibility](./Visibility.md).
## What gets mangled
All declaration identifiers get mangled, except:

* root module declarations (this is being discussed, see <https://github.com/wgsl-tooling-wg/wesl-js/issues/98>)
* root module declarations (this is being discussed, see <https://github.com/webgpu-tools/wesl-js/issues/98>)
* declarations imported in the root module
* if the import renames the declaration (using the `import foo as bar` syntax), the declaration is renamed.
* if the import is a module (`import some::module` where `some/module.wesl` exists) it does not affect mangling.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ their own enhancements and associated tools.
And a shared standard can enable reusable WGSL libraries
on npm and crates.io.

Join us on [GitHub](https://github.com/wgsl-tooling-wg/wesl-spec)
Join us on [GitHub](https://github.com/webgpu-tools/wesl-spec)
or [Discord](https://discord.gg/Ng5FWmHuSv) to help.

## Goals
Expand Down
Loading
Loading