minwebgpu 0.2.0

Minimal WebGPU toolkit for modern graphics programming with compute shaders and rendering pipelines
[dependencies.asbytes]
optional = true
version = "0.2.0"

[dependencies.browser_log]
optional = true
version = "~0.4.0"

[dependencies.bytemuck]
features = ["derive", "derive"]
optional = true
version = "1.23"

[dependencies.derive_tools]
version = "~0.36.0"

[dependencies.error_tools]
version = "0.22.0"

[dependencies.former]
version = "~2.26.0"

[dependencies.js-sys]
features = []
optional = true
version = "0.3.77"

[dependencies.mingl]
optional = true
version = "~0.3.0"

[dependencies.mod_interface]
version = "~0.34.0"

[dependencies.wasm-bindgen]
optional = true
version = "0.2.100"

[dependencies.wasm-bindgen-futures]
optional = true
version = "0.4.50"

[dependencies.web-sys]
features = ["Navigator", "Gpu", "GpuCanvasContext", "GpuCanvasConfiguration", "GpuTextureFormat", "GpuAdapter", "GpuDevice", "GpuQueue", "GpuTexture", "GpuTextureDescriptor", "GpuTextureDimension", "GpuTextureFormat", "GpuSampler", "GpuSamplerDescriptor", "GpuFilterMode", "GpuAddressMode", "GpuCompareFunction", "GpuMipmapFilterMode", "GpuVertexBufferLayout", "GpuVertexStepMode", "GpuVertexAttribute", "GpuVertexFormat", "GpuBindGroupLayout", "GpuBindGroupLayoutDescriptor", "GpuBindGroupLayoutEntry", "GpuBufferBindingLayout", "GpuBufferBindingType", "GpuSamplerBindingLayout", "GpuSamplerBindingType", "GpuTextureBindingLayout", "GpuTextureSampleType", "GpuTextureViewDimension", "GpuStorageTextureBindingLayout", "GpuStorageTextureAccess", "GpuExternalTextureBindingLayout", "GpuRenderPipeline", "GpuPipelineLayout", "GpuPipelineLayoutDescriptor", "GpuShaderModule", "GpuShaderModuleDescriptor", "GpuVertexState", "GpuBlendState", "GpuBlendComponent", "GpuBlendFactor", "GpuBlendOperation", "GpuColorTargetState", "GpuFragmentState", "GpuPrimitiveState", "GpuCullMode", "GpuFrontFace", "GpuPrimitiveTopology", "GpuIndexFormat", "GpuDepthStencilState", "GpuStencilFaceState", "GpuStencilOperation", "GpuMultisampleState", "GpuRenderPipelineDescriptor", "GpuRenderPassDescriptor", "GpuRenderPassDepthStencilAttachment", "GpuRenderPassColorAttachment", "GpuLoadOp", "GpuStoreOp", "GpuTextureView", "GpuTextureViewDescriptor", "GpuCommandEncoder", "GpuCommandBuffer", "GpuRenderPassEncoder", "GpuBindGroup", "GpuExternalTexture", "GpuBufferBinding", "GpuBindGroupEntry", "GpuBindGroupDescriptor", "GpuBuffer", "GpuBufferDescriptor", "GpuProgrammableStage", "GpuComputePipelineDescriptor", "GpuComputePipeline", "GpuComputePassEncoder", "gpu_texture_usage", "gpu_shader_stage", "gpu_color_write", "gpu_buffer_usage"]
optional = true
version = "0.3.77"

[dev-dependencies.test_tools]
version = "~0.16.0"

[features]
default = ["enabled", "web"]
enabled = ["dep:mingl", "dep:browser_log", "dep:wasm-bindgen-futures", "dep:wasm-bindgen", "dep:js-sys", "dep:web-sys", "dep:asbytes", "log"]
file = ["mingl/web_file"]
full = ["default", "file", "future", "model_obj", "math", "log"]
future = ["mingl/web_future"]
log = ["mingl/web_log"]
math = ["mingl/math"]
model_obj = ["mingl/web_model_obj"]
web = ["mingl/web"]

[lib]
name = "minwebgpu"
path = "src/lib.rs"

[lints.clippy]
absolute_paths = "allow"
allow_attributes = "allow"
allow_attributes_without_reason = "allow"
arbitrary_source_item_ordering = "allow"
else_if_without_else = "warn"
exhaustive_enums = "warn"
exhaustive_structs = "warn"
implicit_return = "warn"
inline_always = "allow"
many_single_char_names = "allow"
min_ident_chars = "warn"
missing_docs_in_private_items = "allow"
missing_inline_in_public_items = "warn"
mod_module_files = "allow"
module_name_repetitions = "allow"
pub_use = "allow"
self_named_module_files = "allow"
single_call_fn = "allow"
std_instead_of_alloc = "warn"
std_instead_of_core = "warn"
undocumented_unsafe_blocks = "deny"
wildcard_imports = "warn"

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.rust]
future_incompatible = "warn"
missing_docs = "warn"
unsafe-code = "warn"

[lints.rust.rust_2018_idioms]
level = "deny"
priority = -1

[package]
authors = ["Kostiantyn Mysnyk <wandalen@obox.systems>", "Avramenko Yevhenii <yevhenii.av@obox.systems>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["graphics", "web-programming", "rendering", "wasm"]
description = "Minimal WebGPU toolkit for modern graphics programming with compute shaders and rendering pipelines"
documentation = "https://docs.rs/minwebgpu"
edition = "2021"
homepage = "https://github.com/Wandalen/cgtools/tree/master/module/min/minwebgpu"
include = ["src/**/*", "tests/**/*", "Cargo.toml", "build.rs", "readme.md", "license*", "changelog*"]
keywords = ["webgpu", "graphics", "minimal", "wasm", "compute"]
license = "MIT"
name = "minwebgpu"
readme = "readme.md"
repository = "https://github.com/Wandalen/cgtools"
rust-version = "1.75.0"
version = "0.2.0"

[package.metadata.docs.rs]
all-features = true
default-target = "wasm32-unknown-unknown"
rustdoc-args = ["--cfg", "docsrs", "--cfg", "web_sys_unstable_apis"]
targets = ["wasm32-unknown-unknown", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc", "x86_64-apple-darwin"]

[[package.metadata.release.pre-release-replacements]]
file = "readme.md"
replace = 'minwebgpu = "{{version}}"'
search = 'minwebgpu = "[0-9.]+"'

[[package.metadata.release.pre-release-replacements]]
file = "changelog.md"
replace = """
## Unreleased

## {{version}} - {{date}}"""
search = "## Unreleased"