Releases: YukiagoTpf/UnityShaderNav
Release list
v0.0.9
UnityShaderNav v0.0.9
Highlights
- Revision-consistent source scope: cold discovery, cache restore, watcher admission, close fallback, and Package boundaries now share one immutable indexed-source-membership fact.
- Consistent symbol semantics: Definition, Hover, chain lookup, Completion, and member Completion share one scope/proximity selector; direct includes and transitive visibility are bound to each published revision.
- Centralized macro recognition: built-in and user declaration macros, pragma entry references, structural sentinels, semantic coloring, diagnostics, and cache identity now use one private compiled representation.
- Reproducible packaging: build, watch, VSIX verification, package-layout tests, and Electron staging are driven by one content-addressed runtime artifact graph.
- Narrower lifecycle surface: test-only folder/settings entry points and no-op rebuild suspension parameters were removed; cold-start request gating remains bounded and status stays queryable.
Reliability fixes
- Nested and overlapping Package roots use deterministic deepest-root ownership.
- Completion preserves distinct same-name symbol kinds without quadratic selection work.
- Runtime manifests reject stale inputs, byte drift, path escapes, symlinks, incomplete artifacts, and duplicate VSIX entries.
- Old published revisions retain self-consistent Include chain and symbol-selection behavior after newer revisions publish.
Install
Download unity-shader-nav-0.0.9.vsix and choose Extensions > ... > Install from VSIX in VS Code.
Verification
- GitHub Actions: https://github.com/YukiagoTpf/UnityShaderNav/actions/runs/29178979189
- Server: 95 files, 853 passed, 1 skipped.
- Package layout: 27 passed; Electron harness 5, activation 3, integration 40.
- VSIX SHA-256:
099a622c33d68f4dac9a36b2dc43532f55b7d43186e45e8413d6823bba505b44 - Vendored grammar rebuild identity: SHA-256
3ab32399a9c1a284330e0c943013319ffa146472ca9eeef321875a203f0b702f.
v0.0.8
UnityShaderNav v0.0.8
Highlights
- Reliable workspace indexing: atomic immutable revisions, observable per-root lifecycle, non-blocking startup, last-known-good serving and recovery, and canonical latest-wins persistent cache.
- Reproducible parser runtime: public vendored-grammar provenance and license, byte-identical rebuild verification, and one process-stable grammar identity shared by parsing and cache compatibility across development and bundled layouts.
- Consistent Shader authoring: one exact-source ShaderLab analysis for indexing, Outline, and Semantic Tokens; unified completion and signature candidate policy; authoritative ShaderLab vocabulary; and isolated include resolution.
Fixes
- Correct ShaderLab coloring for UsePass, 2DArray, and CubeArray.
- Ignore fake Pass blocks inside multiline comments.
- Focus the first arity-compatible signature without discarding conservative candidates.
- Keep configuration, edit/close/watcher, package-scope, and cache-retention transactions revision-consistent.
- Preserve the last useful eventual-condition diagnostic at a deadline boundary without weakening hard timeouts.
Install
Download unity-shader-nav-0.0.8.vsix and choose Extensions > ... > Install from VSIX in VS Code.
Verification
- GitHub Actions: https://github.com/YukiagoTpf/UnityShaderNav/actions/runs/29174989424
- Server: 94 files, 843 passed, 1 skipped.
- Package layout: 25 passed; Electron harness 5, activation 3, integration 40.
- VSIX SHA-256: ad6666ce5708f1473f390b29cf8d2191a089ca8cb2fbd128ea1a64d455dae192
- Vendored grammar rebuild: byte-identical, SHA-256 3ab32399a9c1a284330e0c943013319ffa146472ca9eeef321875a203f0b702f.
v0.0.7
Highlights
- Workspace symbol search (Ctrl+T) across indexed shader symbols — functions, structs, struct members, cbuffers, macros, and globals. Honors the existing
findReferences.includePackagespolicy; parameters and locals are filtered out (#19). ?path=git Unity packages now resolve toLibrary/PackageCache/<name>@<hash[:10]>. Verified empirically against Unity 2022.3.53f1c1. The same fix corrects a latent bug for plain git entries with real 40-character commit hashes (#25).
Also in this release
- Conservative preprocessor branch dimming via client decorations (#22; ADR-0005).
- Hover for indexed shader symbols (functions, structs, members, variables, parameters, macros) plus selected built-ins.
- ShaderLab Properties ↔ HLSL F12 bridge in both directions (#20).
git+ssh:///git+http://Unity package URL resolution (#10).- Expanded built-in vocabulary covering HLSL intrinsics, UnityCG legacy helpers, URP/SRP core helpers + instancing macros, HDRP helpers, additional ShaderLab states, blend/op/stencil values, and shader semantics (#21).
- GitHub Actions CI that runs the full test chain on Linux under xvfb with a cached
.vscode-test/download (#4).
Install
Download unity-shader-nav-0.0.7.vsix below, then in VS Code → Extensions view → … → Install from VSIX...
v0.0.6
Added
- Improved ShaderLab and Unity HLSL semantic coloring for
.shaderfiles, including Properties, Tags, render states, preprocessor lines, macro-style declarations, shader semantics, built-ins, members, and swizzles.
Verification
npm testnpm run package:vsix
v0.0.5
Added
- Project-index-backed completion for shader symbols.
- Signature help for indexed shader functions.
- Curated Unity/HLSL/ShaderLab built-in completion vocabulary and built-in function signatures where catalog metadata exists.
Changed
- Removed completed process plans from tracked docs and folded durable information into public docs.
- Updated extension package version to 0.0.5.
Verification
- npm test
- npm run package:vsix
UnityShaderNav v0.0.4
Changes
- Add the VSCode Marketplace extension icon.
- Package UnityShaderNav 0.0.4 as a VSIX release asset.
UnityShaderNav 0.0.3
Public preview VSIX build for UnityShaderNav.\n\nInstall from VS Code with Extensions -> ... -> Install from VSIX..., then select the downloaded unity-shader-nav-0.0.3.vsix file.\n\nHighlights:\n- Go to Definition, Find References, Document Symbols, Document Highlight, and semantic coloring for Unity ShaderLab/HLSL files.\n- Unity package include resolution through packages-lock.json.\n- Persistent project-local index cache under Library/UnityShaderNavCache.\n\nSee README.md for installation and source build instructions.