SD0110
Core code
portable declared on a non-compute entry
No "use typeshade" program on this site raises this code, so the page has no example. The fn() builder builds the IR directly and reaches the check at the lines under Source.
The registry text and every compiler message on these pages are the compiler's own English.
When it fires
The portable kernel tier — passes/portable-kernel.ts.
SD0110 is the author-run guard (fn() rejects the declaration on a non-compute stage); SD0111 is the shape gate, reported per violation by the portable-kernel rule at every emit on both writers and thrown by the GLSL lowering. Like SD0109 the per-violation remedy travels in the diagnostic's own message — the analyzer is its single authority — so the hint below states the tier, which is the invariant half.
How to fix it
The registry's hint: portable is the compute-tier declaration — it needs stage: 'compute'
See also
Source
Where the compiler raises this code at commit 26de7be8, one line per file: