[package]
edition = "2021"
name = "sugarloaf"
version = "0.4.5"
authors = ["Raphael Amorim <rapha850@gmail.com>"]
build = "build.rs"
include = [
"Cargo.toml",
"build.rs",
"src/**/*.ttf",
"src/**/*.otf",
"src/**/*.wgsl",
"src/components/filters/**/*.slang",
"src/components/filters/**/*.slangp",
"src/components/filters/**/*.inc",
"src/components/filters/**/*.png",
"src/**/*.rs",
"src/**/*.metal",
"src/**/*.glsl",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Sugarloaf is Rio rendering engine, designed to be multiplatform. It is based on WebGPU, Rust library for Desktops and WebAssembly for Web (JavaScript). This project is created and maintained for Rio terminal purposes but feel free to use it."
documentation = "https://docs.rs/crate/sugarloaf/latest"
readme = "README.md"
license = "MIT"
repository = "https://github.com/raphamorim/sugarloaf"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
targets = [
"x86_64-unknown-linux-gnu",
"x86_64-apple-darwin",
"x86_64-pc-windows-msvc",
"wasm32-unknown-unknown",
]
[features]
default = [
"scale",
"render",
]
render = [
"scale",
"zeno/eval",
]
scale = ["yazi"]
wgpu = [
"dep:wgpu",
"dep:librashader",
"dep:librashader-common",
"dep:librashader-presets",
"dep:librashader-preprocess",
"dep:librashader-pack",
"dep:librashader-reflect",
"dep:librashader-runtime",
"dep:librashader-cache",
]
[lib]
name = "sugarloaf"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[dependencies.approx]
version = "0.5.1"
[dependencies.bytemuck]
version = "1.25.0"
features = ["derive"]
[dependencies.dashmap]
version = "6.1.0"
[dependencies.futures]
version = "0.3.31"
[dependencies.guillotiere]
version = "0.6.2"
[dependencies.half]
version = "2.6.0"
[dependencies.halfbrown]
version = "0.3.0"
[dependencies.image_rs]
version = "0.25.10"
features = [
"gif",
"jpeg",
"ico",
"png",
"pnm",
"webp",
"bmp",
]
default-features = false
package = "image"
[dependencies.librashader]
version = "0.10.0"
features = [
"runtime-wgpu",
"stable",
"presets",
]
optional = true
default-features = false
[dependencies.librashader-cache]
version = "0.10"
optional = true
[dependencies.librashader-common]
version = "0.10"
optional = true
[dependencies.librashader-pack]
version = "0.10"
optional = true
[dependencies.librashader-preprocess]
version = "0.10"
optional = true
[dependencies.librashader-presets]
version = "0.10"
optional = true
[dependencies.librashader-reflect]
version = "0.10"
features = [
"stable",
"wgsl",
]
optional = true
default-features = false
[dependencies.librashader-runtime]
version = "0.10"
optional = true
[dependencies.lru]
version = "0.16.1"
[dependencies.num-traits]
version = "0.2.19"
[dependencies.parking_lot]
version = "0.12.5"
features = [
"nightly",
"hardware-lock-elision",
]
[dependencies.raw-window-handle]
version = "0.6.2"
features = ["std"]
[dependencies.rustc-hash]
version = "2.1.2"
[dependencies.serde]
version = "1.0.228"
features = [
"derive",
"derive",
]
[dependencies.skrifa]
version = "0.37.0"
[dependencies.smallvec]
version = "1.15.1"
[dependencies.swash]
version = "0.2.7"
[dependencies.thiserror]
version = "2.0.1"
[dependencies.tiny-skia]
version = "0.12.0"
[dependencies.tracing]
version = "0.1.41"
[dependencies.unicode-width]
version = "0.1.0"
package = "unicode-width-16"
[dependencies.wgpu]
version = "28.0.0"
optional = true
[dependencies.wide]
version = "1.2.0"
[dependencies.yazi]
version = "0.2.1"
optional = true
[dependencies.zeno]
version = "0.3.3"
[dev-dependencies.criterion]
version = "0.6.0"
features = ["html_reports"]
[dev-dependencies.deflate]
version = "1.0.0"
[dev-dependencies.png]
version = "0.17.16"
[dev-dependencies.rio-window]
version = "0.4.5"
default-features = false
[target.'cfg(all(unix, not(any(target_os = "macos", target_os = "android"))))'.dependencies.ash]
version = "0.38.0"
[target.'cfg(all(unix, not(any(target_os = "macos", target_os = "android"))))'.dependencies.fontconfig-parser]
version = "0.5.8"
default-features = false
[target.'cfg(all(unix, not(any(target_os = "macos", target_os = "android"))))'.dependencies.yeslogic-fontconfig-sys]
version = "6.0.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.font-kit]
version = "0.14.3"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.memmap2]
version = "0.9.5"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rayon]
version = "1.10.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.softbuffer]
version = "0.4.8"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.ttf-parser]
version = "0.25.1"
features = [
"std",
"opentype-layout",
"apple-layout",
"variable-fonts",
"glyph-names",
]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.twox-hash]
version = "2.1.1"
features = [
"std",
"xxhash64",
]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.walkdir]
version = "2.5.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.wyhash]
version = "0.5.0"
[target.'cfg(target_arch = "wasm32")'.dependencies.console_error_panic_hook]
version = "0.1.7"
[target.'cfg(target_arch = "wasm32")'.dependencies.console_log]
version = "0.2.2"
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3.61"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2.87"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4.34"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-test]
version = "0.3.42"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3.77"
features = [
"Location",
"Document",
"Navigator",
"Node",
"NodeList",
"Gpu",
"GpuAdapter",
"GpuAddressMode",
"GpuAutoLayoutMode",
"GpuBindGroup",
"GpuBindGroupDescriptor",
"GpuBindGroupEntry",
"GpuBindGroupLayout",
"GpuBindGroupLayoutDescriptor",
"GpuBindGroupLayoutEntry",
"GpuBlendComponent",
"GpuBlendFactor",
"GpuBlendOperation",
"GpuBlendState",
"GpuBuffer",
"GpuBufferBinding",
"GpuBufferBindingLayout",
"GpuBufferBindingType",
"GpuBufferDescriptor",
"GpuCanvasAlphaMode",
"GpuCanvasContext",
"GpuCanvasConfiguration",
"GpuColorDict",
"GpuColorTargetState",
"GpuCommandBuffer",
"GpuCommandBufferDescriptor",
"GpuCommandEncoder",
"GpuCommandEncoderDescriptor",
"GpuCompareFunction",
"GpuCompilationInfo",
"GpuCompilationMessage",
"GpuCompilationMessageType",
"GpuComputePassDescriptor",
"GpuComputePassEncoder",
"GpuComputePipeline",
"GpuComputePipelineDescriptor",
"GpuCullMode",
"GpuDepthStencilState",
"GpuDevice",
"GpuDeviceDescriptor",
"GpuDeviceLostInfo",
"GpuDeviceLostReason",
"GpuError",
"GpuErrorFilter",
"GpuExtent3dDict",
"GpuFeatureName",
"GpuFilterMode",
"GpuFragmentState",
"GpuFrontFace",
"GpuIndexFormat",
"GpuLoadOp",
"gpu_map_mode",
"GpuMipmapFilterMode",
"GpuMultisampleState",
"GpuObjectDescriptorBase",
"GpuOrigin2dDict",
"GpuOrigin3dDict",
"GpuOutOfMemoryError",
"GpuPipelineDescriptorBase",
"GpuPipelineLayout",
"GpuPipelineLayoutDescriptor",
"GpuPowerPreference",
"GpuPrimitiveState",
"GpuPrimitiveTopology",
"GpuProgrammableStage",
"GpuQuerySet",
"GpuQuerySetDescriptor",
"GpuQueryType",
"GpuQueue",
"GpuRenderBundle",
"GpuRenderBundleDescriptor",
"GpuRenderBundleEncoder",
"GpuRenderBundleEncoderDescriptor",
"GpuRenderPassColorAttachment",
"GpuRenderPassDepthStencilAttachment",
"GpuRenderPassDescriptor",
"GpuRenderPassEncoder",
"GpuRenderPipeline",
"GpuRenderPipelineDescriptor",
"GpuRequestAdapterOptions",
"GpuSampler",
"GpuSamplerBindingLayout",
"GpuSamplerBindingType",
"GpuSamplerDescriptor",
"GpuShaderModule",
"GpuShaderModuleDescriptor",
"GpuStencilFaceState",
"GpuStencilOperation",
"GpuStorageTextureAccess",
"GpuStorageTextureBindingLayout",
"GpuStoreOp",
"GpuSupportedFeatures",
"GpuSupportedLimits",
"GpuTexture",
"GpuTextureAspect",
"GpuTextureBindingLayout",
"GpuTextureDescriptor",
"GpuTextureDimension",
"GpuTextureFormat",
"GpuTextureSampleType",
"GpuTextureView",
"GpuTextureViewDescriptor",
"GpuTextureViewDimension",
"GpuUncapturedErrorEvent",
"GpuUncapturedErrorEventInit",
"GpuValidationError",
"GpuVertexAttribute",
"GpuVertexBufferLayout",
"GpuVertexFormat",
"GpuVertexState",
"GpuVertexStepMode",
"HtmlCanvasElement",
"OffscreenCanvas",
"ImageBitmap",
"ImageBitmapRenderingContext",
"Window",
"WorkerGlobalScope",
"WorkerNavigator",
]
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.web-sys]
version = "0.3.61"
features = [
"Location",
"Blob",
"RequestInit",
"RequestMode",
"Request",
"Response",
"WebGl2RenderingContext",
"CanvasRenderingContext2d",
]
[target.'cfg(target_os = "macos")'.dependencies.block]
version = "0.1.6"
[target.'cfg(target_os = "macos")'.dependencies.core-foundation]
version = "0.10.1"
[target.'cfg(target_os = "macos")'.dependencies.core-graphics]
version = "0.24.0"
[target.'cfg(target_os = "macos")'.dependencies.core-graphics-types]
version = "0.2.0"
[target.'cfg(target_os = "macos")'.dependencies.core-text]
version = "21.0.0"
[target.'cfg(target_os = "macos")'.dependencies.metal]
version = "0.32.0"
[target.'cfg(target_os = "macos")'.dependencies.objc-rs]
version = "0.2.8"