shader-edsl-binding-and-typed-container

Bind typed GPU resource containers to shader EDSL and pass phases.

74|5|Updated Dec 13, 2019
One-click install
npx skills add https://github.com/mikialex/rendiation --skill shader-edsl-binding-and-typed-container
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: shader-edsl-binding-and-typed-container
Source: https://github.com/mikialex/rendiation/tree/main/.claude/skills/shader-edsl-binding-and-typed-container
Command: npx skills add https://github.com/mikialex/rendiation --skill shader-edsl-binding-and-typed-container

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you correctly wire strongly-typed GPU resource containers into both the shader graph and the GPU render/compute pass, preventing mismatched binding indices and resource types that cause hard-to-debug rendering failures.

Core Features & Use Cases

  • Dual binding pipeline (shader side + pass side): use bind_by to produce typed shader nodes and bind to flush the actual GPU resources during the pass, while keeping bind group assignment consistent.
  • Strongly-typed GPU containers: use typed wrappers for uniforms, storage buffers, textures, storage textures, and samplers (e.g., UniformBufferDataView<T>, StorageBufferDataView<T>, GPUTypedTextureView<D,F>, GPUSamplerView, StorageTextureView<A,D,F>).
  • Typed WGSL-facing semantics via EDSL: bind container types to corresponding shader-side node aliases like ShaderReadonlyPtrOf<T>, ShaderPtrOf<T>, ShaderTexture2D, and ShaderStorageTextureRW2D.
  • Correct ordering contract: ensure the shader-side and pass-side binding calls follow the same order for each container so indices match.

Quick Start

Use the shader-edsl-binding-and-typed-container Skill when creating a uniform, storage buffer, texture, or sampler container, then bind it first in the shader provider with bind_by and later in the pass setup with the matching .bind() call in the same order.

Frequently Asked Questions about shader-edsl-binding-and-typed-container

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I bind typed uniform buffers and storage buffers in WGSL render pipelines?

To bind typed uniform buffers and storage buffers in WGSL render pipelines, use the shader EDSL `bind_by` operation to produce typed shader nodes, then flush the actual GPU resources during the pass with matching `.bind()` calls to ensure consistent bind group index assignment.

Why do my WGSL textures and samplers cause mismatched binding index errors during GPU passes?

Mismatched binding index errors occur when shader-side and pass-side binding calls follow different orders, so you must call the `bind_by` and `.bind()` operations in the exact same sequence for each typed texture and sampler container to keep indices consistent.

What is the correct ordering contract for wiring GPU resources between shader EDSL and pass binding?

The correct ordering contract for wiring GPU resources requires calling the shader-side `bind_by` operations and the pass-side `.bind()` operations in the exact same sequence for each container, ensuring bind group indices match and preventing hard-to-debug rendering failures.

Can I use strongly typed GPU containers for read-only and read-write storage buffers in compute pipelines?

Yes, you can use strongly typed GPU containers like `StorageBufferDataView<T>` for both read-only and read-write storage buffers in compute pipelines by mapping them to WGSL-facing shader node aliases such as `ShaderReadonlyPtrOf<T>` and `ShaderPtrOf<T>`.

What's the best way to bind typed textures and samplers safely in WGSL graphics pipelines?

The best way to bind typed textures and samplers safely in WGSL graphics pipelines is to wrap them in strongly typed containers like `GPUTypedTextureView<D,F>` and `GPUSamplerView`, then use `bind_by` and `.bind()` to wire them with matching WGSL semantics.