Merge branch 'main' into release-0.33.0

# Conflicts:
#	.typos.toml
This commit is contained in:
lucasmerlin 2025-10-09 15:51:02 +02:00
commit 38b072919e
43 changed files with 192 additions and 282 deletions

32
.vscode/settings.json vendored
View File

@ -12,32 +12,14 @@
"target_wasm/**": true, "target_wasm/**": true,
"target/**": true, "target/**": true,
}, },
// Tell Rust Analyzer to use its own target directory, so we don't need to wait for it to finish wen we want to `cargo run` "rust-analyzer.check.command": "clippy",
"rust-analyzer.check.overrideCommand": [ // Whether `--workspace` should be passed to `cargo clippy`. If false, `-p <package>` will be passed instead.
"cargo", "rust-analyzer.check.workspace": false,
"clippy", "rust-analyzer.cargo.allTargets": true,
"--target-dir=target_ra", "rust-analyzer.cargo.features": "all",
"--workspace", // Use a separate target directory for Rust Analyzer so it doesn't prevent cargo/clippy from doing things.
"--message-format=json", "rust-analyzer.cargo.targetDir": "target_ra",
"--all-targets",
"--all-features",
],
"rust-analyzer.cargo.buildScripts.overrideCommand": [
"cargo",
"clippy",
"--quiet",
"--target-dir=target_ra",
"--workspace",
"--message-format=json",
"--all-targets",
"--all-features",
],
"rust-analyzer.showUnlinkedFileNotification": false, "rust-analyzer.showUnlinkedFileNotification": false,
"rust-analyzer.cargo.extraEnv": {
// rust-analyzer is only guaranteed to support the latest stable version of Rust. Use it instead of whatever is
// specified in rust-toolchain.
"RUSTUP_TOOLCHAIN": "stable"
},
// Uncomment the following options and restart rust-analyzer to get it to check code behind `cfg(target_arch=wasm32)`. // Uncomment the following options and restart rust-analyzer to get it to check code behind `cfg(target_arch=wasm32)`.
// Don't forget to put it in a comment again before committing. // Don't forget to put it in a comment again before committing.
// "rust-analyzer.cargo.target": "wasm32-unknown-unknown", // "rust-analyzer.cargo.target": "wasm32-unknown-unknown",

View File

@ -1,10 +1,7 @@
[package] [package]
name = "ecolor" name = "ecolor"
version.workspace = true version.workspace = true
authors = [ authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>", "Andreas Reich <reichandreas@gmx.de>"]
"Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
"Andreas Reich <reichandreas@gmx.de>",
]
description = "Color structs and color conversion utilities" description = "Color structs and color conversion utilities"
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true

View File

@ -11,13 +11,7 @@ readme = "README.md"
repository = "https://github.com/emilk/egui/tree/main/crates/eframe" repository = "https://github.com/emilk/egui/tree/main/crates/eframe"
categories = ["gui", "game-development"] categories = ["gui", "game-development"]
keywords = ["egui", "gui", "gamedev"] keywords = ["egui", "gui", "gamedev"]
include = [ include = ["../LICENSE-APACHE", "../LICENSE-MIT", "**/*.rs", "Cargo.toml", "data/icon.png"]
"../LICENSE-APACHE",
"../LICENSE-MIT",
"**/*.rs",
"Cargo.toml",
"data/icon.png",
]
[package.metadata.docs.rs] [package.metadata.docs.rs]
all-features = true all-features = true
@ -66,13 +60,7 @@ default_fonts = ["egui/default_fonts"]
glow = ["dep:egui_glow", "dep:glow", "dep:glutin-winit", "dep:glutin"] glow = ["dep:egui_glow", "dep:glow", "dep:glutin-winit", "dep:glutin"]
## Enable saving app state to disk. ## Enable saving app state to disk.
persistence = [ persistence = ["dep:home", "egui-winit/serde", "egui/persistence", "ron", "serde"]
"dep:home",
"egui-winit/serde",
"egui/persistence",
"ron",
"serde",
]
## Enables wayland support and fixes clipboard issue. ## Enables wayland support and fixes clipboard issue.
## ##
@ -88,10 +76,7 @@ wayland = [
## Enable screen reader support (requires `ctx.options_mut(|o| o.screen_reader = true);`) on web. ## Enable screen reader support (requires `ctx.options_mut(|o| o.screen_reader = true);`) on web.
## ##
## For other platforms, use the `accesskit` feature instead. ## For other platforms, use the `accesskit` feature instead.
web_screen_reader = [ web_screen_reader = ["web-sys/SpeechSynthesis", "web-sys/SpeechSynthesisUtterance"]
"web-sys/SpeechSynthesis",
"web-sys/SpeechSynthesisUtterance",
]
## Use [`wgpu`](https://docs.rs/wgpu) for painting (via [`egui-wgpu`](https://github.com/emilk/egui/tree/main/crates/egui-wgpu)). ## Use [`wgpu`](https://docs.rs/wgpu) for painting (via [`egui-wgpu`](https://github.com/emilk/egui/tree/main/crates/egui-wgpu)).
## ##
@ -145,10 +130,7 @@ serde = { workspace = true, optional = true }
# ------------------------------------------- # -------------------------------------------
# native: # native:
[target.'cfg(not(target_arch = "wasm32"))'.dependencies] [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
egui-winit = { workspace = true, default-features = false, features = [ egui-winit = { workspace = true, default-features = false, features = ["clipboard", "links"] }
"clipboard",
"links",
] }
image = { workspace = true, features = ["png"] } # Needed for app icon image = { workspace = true, features = ["png"] } # Needed for app icon
winit = { workspace = true, default-features = false, features = ["rwh_06"] } winit = { workspace = true, default-features = false, features = ["rwh_06"] }
@ -158,10 +140,7 @@ egui-wgpu = { workspace = true, optional = true, features = [
] } # if wgpu is used, use it with winit ] } # if wgpu is used, use it with winit
pollster = { workspace = true, optional = true } # needed for wgpu pollster = { workspace = true, optional = true } # needed for wgpu
glutin = { workspace = true, optional = true, default-features = false, features = [ glutin = { workspace = true, optional = true, default-features = false, features = ["egl", "wgl"] }
"egl",
"wgl",
] }
glutin-winit = { workspace = true, optional = true, default-features = false, features = [ glutin-winit = { workspace = true, optional = true, default-features = false, features = [
"egl", "egl",
"wgl", "wgl",

View File

@ -15,13 +15,7 @@ readme = "README.md"
repository = "https://github.com/emilk/egui/tree/main/crates/egui-wgpu" repository = "https://github.com/emilk/egui/tree/main/crates/egui-wgpu"
categories = ["gui", "game-development"] categories = ["gui", "game-development"]
keywords = ["wgpu", "egui", "gui", "gamedev"] keywords = ["wgpu", "egui", "gui", "gamedev"]
include = [ include = ["../LICENSE-APACHE", "../LICENSE-MIT", "**/*.rs", "**/*.wgsl", "Cargo.toml"]
"../LICENSE-APACHE",
"../LICENSE-MIT",
"**/*.rs",
"**/*.wgsl",
"Cargo.toml",
]
[lints] [lints]
workspace = true workspace = true

View File

@ -100,6 +100,4 @@ smithay-clipboard = { workspace = true, optional = true }
wayland-cursor = { workspace = true, optional = true } wayland-cursor = { workspace = true, optional = true }
[target.'cfg(not(target_os = "android"))'.dependencies] [target.'cfg(not(target_os = "android"))'.dependencies]
arboard = { workspace = true, optional = true, features = [ arboard = { workspace = true, optional = true, features = ["image-data"] }
"image-data",
] }

View File

@ -31,12 +31,7 @@ web_app = ["http", "persistence"]
accessibility_inspector = ["dep:accesskit", "dep:accesskit_consumer", "eframe/accesskit"] accessibility_inspector = ["dep:accesskit", "dep:accesskit_consumer", "eframe/accesskit"]
http = ["ehttp", "image/jpeg", "poll-promise", "egui_extras/image"] http = ["ehttp", "image/jpeg", "poll-promise", "egui_extras/image"]
image_viewer = ["image/jpeg", "egui_extras/all_loaders", "rfd"] image_viewer = ["image/jpeg", "egui_extras/all_loaders", "rfd"]
persistence = [ persistence = ["eframe/persistence", "egui_extras/serde", "egui/persistence", "serde"]
"eframe/persistence",
"egui_extras/serde",
"egui/persistence",
"serde",
]
puffin = ["dep:puffin", "dep:puffin_http", "profiling/profile-with-puffin"] puffin = ["dep:puffin", "dep:puffin_http", "profiling/profile-with-puffin"]
serde = ["dep:serde", "egui_demo_lib/serde", "egui/serde"] serde = ["dep:serde", "egui_demo_lib/serde", "egui/serde"]
syntect = ["egui_demo_lib/syntect"] syntect = ["egui_demo_lib/syntect"]
@ -48,9 +43,7 @@ x11 = ["eframe/x11"]
[dependencies] [dependencies]
chrono = { workspace = true, features = ["js-sys", "wasmbind"] } chrono = { workspace = true, features = ["js-sys", "wasmbind"] }
eframe = { workspace = true, default-features = false, features = [ eframe = { workspace = true, default-features = false, features = ["web_screen_reader"] }
"web_screen_reader",
] }
egui = { workspace = true, features = ["callstack", "default"] } egui = { workspace = true, features = ["callstack", "default"] }
egui_demo_lib = { workspace = true, features = ["default", "chrono"] } egui_demo_lib = { workspace = true, features = ["default", "chrono"] }
egui_extras = { workspace = true, features = ["default", "image"] } egui_extras = { workspace = true, features = ["default", "image"] }
@ -69,11 +62,7 @@ puffin = { workspace = true, optional = true }
puffin_http = { workspace = true, optional = true } puffin_http = { workspace = true, optional = true }
# Enable both WebGL & WebGPU when targeting the web (these features have no effect when not targeting wasm32) # Enable both WebGL & WebGPU when targeting the web (these features have no effect when not targeting wasm32)
# Also enable the default features so we have a supported backend for every platform. # Also enable the default features so we have a supported backend for every platform.
wgpu = { workspace = true, features = [ wgpu = { workspace = true, features = ["default", "webgpu", "webgl"], optional = true }
"default",
"webgpu",
"webgl",
], optional = true }
# feature "http": # feature "http":

View File

@ -11,13 +11,7 @@ readme = "README.md"
repository = "https://github.com/emilk/egui/tree/main/crates/egui_demo_lib" repository = "https://github.com/emilk/egui/tree/main/crates/egui_demo_lib"
categories = ["gui", "graphics"] categories = ["gui", "graphics"]
keywords = ["glow", "egui", "gui", "gamedev"] keywords = ["glow", "egui", "gui", "gamedev"]
include = [ include = ["../LICENSE-APACHE", "../LICENSE-MIT", "**/*.rs", "Cargo.toml", "data/*"]
"../LICENSE-APACHE",
"../LICENSE-MIT",
"**/*.rs",
"Cargo.toml",
"data/*",
]
[lints] [lints]
workspace = true workspace = true

View File

@ -83,12 +83,7 @@ profiling.workspace = true
serde = { workspace = true, optional = true } serde = { workspace = true, optional = true }
# Date operations needed for datepicker widget # Date operations needed for datepicker widget
chrono = { workspace = true, optional = true, features = [ chrono = { workspace = true, optional = true, features = ["clock", "js-sys", "std", "wasmbind"] }
"clock",
"js-sys",
"std",
"wasmbind",
] }
## Enable this when generating docs. ## Enable this when generating docs.
document-features = { workspace = true, optional = true } document-features = { workspace = true, optional = true }

View File

@ -11,13 +11,7 @@ readme = "README.md"
repository = "https://github.com/emilk/egui/tree/main/crates/egui_glow" repository = "https://github.com/emilk/egui/tree/main/crates/egui_glow"
categories = ["gui", "game-development"] categories = ["gui", "game-development"]
keywords = ["glow", "egui", "gui", "gamedev"] keywords = ["glow", "egui", "gui", "gamedev"]
include = [ include = ["../LICENSE-APACHE", "../LICENSE-MIT", "**/*.rs", "Cargo.toml", "src/shader/*.glsl"]
"../LICENSE-APACHE",
"../LICENSE-MIT",
"**/*.rs",
"Cargo.toml",
"src/shader/*.glsl",
]
[lints] [lints]
workspace = true workspace = true

View File

@ -1,10 +1,7 @@
[package] [package]
name = "egui_kittest" name = "egui_kittest"
version.workspace = true version.workspace = true
authors = [ authors = ["Lucas Meurer <lucasmeurer96@gmail.com>", "Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
"Lucas Meurer <lucasmeurer96@gmail.com>",
"Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
]
description = "Testing library for egui based on kittest and AccessKit" description = "Testing library for egui based on kittest and AccessKit"
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
@ -24,13 +21,7 @@ rustdoc-args = ["--generate-link-to-definition"]
[features] [features]
## Adds a wgpu-based test renderer. ## Adds a wgpu-based test renderer.
wgpu = [ wgpu = ["dep:egui-wgpu", "dep:pollster", "dep:image", "dep:wgpu", "eframe?/wgpu"]
"dep:egui-wgpu",
"dep:pollster",
"dep:image",
"dep:wgpu",
"eframe?/wgpu",
]
## Adds a dify-based image snapshot utility. ## Adds a dify-based image snapshot utility.
snapshot = ["dep:dify", "dep:image", "dep:open", "dep:tempfile", "image/png"] snapshot = ["dep:dify", "dep:image", "dep:open", "dep:tempfile", "image/png"]
@ -52,12 +43,7 @@ egui-wgpu = { workspace = true, optional = true }
pollster = { workspace = true, optional = true } pollster = { workspace = true, optional = true }
image = { workspace = true, optional = true } image = { workspace = true, optional = true }
# Enable DX12 because it always comes with a software rasterizer. # Enable DX12 because it always comes with a software rasterizer.
wgpu = { workspace = true, features = [ wgpu = { workspace = true, features = ["metal", "dx12", "vulkan", "gles"], optional = true }
"metal",
"dx12",
"vulkan",
"gles",
], optional = true }
# snapshot dependencies # snapshot dependencies
dify = { workspace = true, optional = true } dify = { workspace = true, optional = true }

View File

@ -11,12 +11,7 @@ readme = "README.md"
repository = "https://github.com/emilk/egui/tree/main/crates/epaint" repository = "https://github.com/emilk/egui/tree/main/crates/epaint"
categories = ["graphics", "gui"] categories = ["graphics", "gui"]
keywords = ["graphics", "gui", "egui"] keywords = ["graphics", "gui", "egui"]
include = [ include = ["../LICENSE-APACHE", "../LICENSE-MIT", "**/*.rs", "Cargo.toml"]
"../LICENSE-APACHE",
"../LICENSE-MIT",
"**/*.rs",
"Cargo.toml"
]
[lints] [lints]
workspace = true workspace = true

View File

@ -1,10 +1,7 @@
[package] [package]
name = "screenshot" name = "screenshot"
version = "0.1.0" version = "0.1.0"
authors = [ authors = ["René Rössler <rene@freshx.de>", "Andreas Faber <andreas.mfaber@gmail.com"]
"René Rössler <rene@freshx.de>",
"Andreas Faber <andreas.mfaber@gmail.com",
]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
edition = "2024" edition = "2024"
rust-version = "1.88" rust-version = "1.88"

13
taplo.toml Normal file
View File

@ -0,0 +1,13 @@
# https://github.com/tamasfe/taplo
include = [
"*.toml",
"crates/**/*.toml",
"examples/**/*.toml",
"scripts/**/*.toml",
"tests/**/*.toml",
]
[formatting]
align_comments = false # causes unnecessary churn
column_width = 100

View File

@ -10,10 +10,7 @@ publish = false
workspace = true workspace = true
[package.metadata.cargo-machete] [package.metadata.cargo-machete]
ignored = [ ignored = ["eframe", "egui_extras"] # We don't use them, just check that things compile
"eframe",
"egui_extras",
] # We don't use them, just check that things compile
[dependencies] [dependencies]
eframe = { workspace = true, features = ["default", "persistence"] } eframe = { workspace = true, features = ["default", "persistence"] }