You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/moon_wgsl-issue-tracker.md
+4-6Lines changed: 4 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,15 +36,13 @@ Last updated: 2026-04-29
36
36
|`WGSL-021`| GitHub issue #3| Mixed Bevy PBR import graphs exposed missing import-only entry preservation and nested alias/type rewrites for source-level composition. |`DONE`| Fixed by preserving import-only WGSL entry items and expanding the Bevy mixed full/item import regression suite. Released across `0.1.4` and `0.1.5`; verified with `moon test` on 2026-04-29. |
37
37
|`WGSL-022`| GitHub issue #4| Repeated full-module imports under a nested alias skipped cached alias redirects, leaving expressions such as `view_bindings::view` unresolved. |`DONE`| Fixed by reusing cached alias redirects when a full-module import has already been visited. Released in `0.1.6`; verified with `moon test` on 2026-04-29 (`85/85` passing). |
38
38
|`WGSL-023`| Upstream naga_oil parity audit | The upstream compose test surface was only partially represented in local tests and not tracked as an explicit coverage matrix. |`DONE`| Added `docs/naga_oil-parity.md` with the upstream compose test/fixture matrix, source-level compatibility boundary, blocked cases, and the next architecture priorities. |
39
-
|`WGSL-024`| Architecture review | Import syntax parsing/planning is still split between preprocessor metadata parsing and composer/module-graph import target parsing, so alias/group syntax can drift between APIs. |`TODO`|Consolidate `parse_imports`and `collect_wgsl_import_targets`around one canonical import AST/parser, then route both metadata output and recursive compose planning through that representation. |
39
+
|`WGSL-024`| Architecture review | Import syntax parsing/planning is still split between preprocessor metadata parsing and composer/module-graph import target parsing, so alias/group syntax can drift between APIs. |`DONE`|Consolidated metadata parsing and composer import-target planning around the same tokenizer-based import target parser, while keeping the existing public `collect_wgsl_import_targets` API. Verified with `moon test` on 2026-04-29. |
40
40
|`WGSL-025`| Upstream `additional_import` parity | Descriptor-level `additional_imports` exists, but source-level `compose_wgsl` / `export_wgsl_with_options` has no stable root-request API for injecting additional imports. |`DONE`| Added root-only `WgslComposeOptions.additional_imports`, wired descriptor-level additional imports into registered composable module source, and added compose/export regressions based on the upstream `add_imports` fixture shape. Full `virtual`/`override` overlay semantics remain part of `WGSL-012` because they require Naga. |
41
-
|`WGSL-026`| Upstream `bad_identifiers` parity | Naga can sanitize invalid/reserved identifiers during IR writeback, but this source-level library currently lacks a defined identifier-sanitization layer. |`TODO`|Implement a limited source-level sanitizer for declarations/references the local analyzer can identify, and document that full parser/IR-equivalent sanitization remains outside source-only scope. |
42
-
|`WGSL-027`| Upstream `invalid_override` parity | Redirect/override-style source-level APIs do not yet diagnose redirects that never match a local declaration, while upstream catches invalid override cases through Naga. |`TODO`|Add explicit redirect diagnostics, likely through export diagnostics or a checked compose API, without pretending to validate full Naga `virtual`/`override`semantics. |
41
+
|`WGSL-026`| Upstream `bad_identifiers` parity | Naga can sanitize invalid/reserved identifiers during IR writeback, but this source-level library currently lacks a defined identifier-sanitization layer. |`DONE`|Added a root-output source-level sanitizer for invalid/reserved top-level declaration names and function parameters, plus upstream-inspired `invalid_identifiers` parity fixtures. Struct-member sanitization remains intentionally outside source-only scope. Verified with `moon test` on 2026-04-29. |
42
+
|`WGSL-027`| Upstream `invalid_override` parity | Redirect/override-style source-level APIs do not yet diagnose redirects that never match a local declaration, while upstream catches invalid override cases through Naga. |`DONE`|Added export diagnostics for source-level redirects that never match any source identifier. Full Naga `virtual`/`override`validation remains part of `WGSL-012`. Verified with `moon test` on 2026-04-29. |
43
43
|`WGSL-028`| Upstream `test_shader` parity | The local parity corpus lacks a simple compute shader smoke test corresponding to upstream `compute_test.wgsl`. |`DONE`| Added `testdata/upstream_compose/compute_test` and an export smoke test that preserves the compute entry point plus imported module dependency. Verified with `moon test` on 2026-04-29. |
44
44
45
45
## Current work queue
46
46
47
-
-`WGSL-024`: consolidate import parsing and planning around one canonical import AST.
48
-
-`WGSL-026`: add a documented source-level identifier sanitizer where local parsing is sufficient.
49
-
-`WGSL-027`: add checked redirect diagnostics for source-level override/redirect usage.
47
+
- No active `TODO` or `IN_PROGRESS` items.
50
48
-`WGSL-012` remains intentionally `BLOCKED` on true Naga/runtime-backed parity coverage.
|`additional_import`, `add_imports/`| Covered source-level subset | Root compose/export requests and registered composable modules can inject additional imports. Upstream `virtual`/`override` overlay semantics still require Naga and remain blocked. |
56
-
|`invalid_override`|TODO | Local redirect diagnostics should pin invalid redirect/override behavior explicitly. |
57
-
|`bad_identifiers`, `invalid_identifiers/`|TODO | A limited source-level sanitizer is feasible for locally parsed declarations; full Naga writeback parity is not. |
56
+
|`invalid_override`|Covered source-level subset | Export diagnostics now warn when a source-level redirect never matches. Full Naga `virtual`/`override` validation remains blocked. |
57
+
|`bad_identifiers`, `invalid_identifiers/`|Covered source-level subset | Top-level declaration names and function parameters are sanitized in final composed/exported source. Struct-member rewriteback remains blocked without a real parser/IR. |
58
58
|`test_shader`, `compute_test.wgsl`| Covered source-level subset | Local export smoke coverage preserves the compute entry point and imported module dependency. Upstream runtime execution remains outside source-only scope. |
0 commit comments