// Copyright 2025 International Digital Economy Academy
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
///|
/// Stable, explicit aliases for WebGPU handle types.
///
/// `src/c/webgpu_capi.mbt` is generated from the upstream headers. It defines
/// the canonical `WGPU*` handle types as `#external`. Historically we relied on
/// `#alias(...)` in that generated file to also create short handle names like
/// `Adapter`, `Device`, `Texture`, ...
///
/// To avoid any backend-specific behavior in implicit alias generation, we keep
/// `webgpu_capi.mbt` focused on the canonical `WGPU*` names and define the
/// short handle names here as plain type aliases.
///|
pub type Adapter = WGPUAdapter
///|
pub type BindGroup = WGPUBindGroup
///|
pub type BindGroupLayout = WGPUBindGroupLayout
///|
pub type Buffer = WGPUBuffer
///|
pub type CommandBuffer = WGPUCommandBuffer
///|
pub type CommandEncoder = WGPUCommandEncoder
///|
pub type ComputePassEncoder = WGPUComputePassEncoder
///|
pub type ComputePipeline = WGPUComputePipeline
///|
pub type Device = WGPUDevice
///|
pub type Instance = WGPUInstance
///|
pub type PipelineLayout = WGPUPipelineLayout
///|
pub type QuerySet = WGPUQuerySet
///|
pub type Queue = WGPUQueue
///|
pub type RenderPassEncoder = WGPURenderPassEncoder
///|
pub type RenderPipeline = WGPURenderPipeline
///|
pub type Sampler = WGPUSampler
///|
pub type ShaderModule = WGPUShaderModule
///|
pub type Texture = WGPUTexture
///|
pub type TextureView = WGPUTextureView