feat: remove warning and increase performance

This commit is contained in:
2026-09-16 20:14:39 +02:00
parent ad63a1da09
commit 0b90b72a00
3 changed files with 17 additions and 13 deletions
+2 -1
View File
@@ -8,7 +8,6 @@ bytemuck = { version = "1.25.2", features = ["derive"] }
dashu-float = "0.6.0" dashu-float = "0.6.0"
eframe = { version = "0.36.2", default-features = false, features = ["wgpu", "default_fonts", "x11", "wayland", "accesskit"] } eframe = { version = "0.36.2", default-features = false, features = ["wgpu", "default_fonts", "x11", "wayland", "accesskit"] }
egui = "0.36.2" egui = "0.36.2"
futures-channel = { version = "0.3.34", default-features = false, features = ["alloc", "std"] }
log = "0.4.34" log = "0.4.34"
png = "0.18.1" png = "0.18.1"
@@ -16,6 +15,7 @@ png = "0.18.1"
env_logger = "0.11.11" env_logger = "0.11.11"
[target.'cfg(target_arch = "wasm32")'.dependencies] [target.'cfg(target_arch = "wasm32")'.dependencies]
futures-channel = { version = "0.3.34", default-features = false, features = ["alloc", "std"] }
console_error_panic_hook = "0.1.7" console_error_panic_hook = "0.1.7"
console_log = "1.1.0" console_log = "1.1.0"
js-sys = "0.3.105" js-sys = "0.3.105"
@@ -26,6 +26,7 @@ web-sys = { version = "0.3.105", features = ["Window", "Location", "Url", "UrlSe
# Release: optimize hard (fractal math is hot). # Release: optimize hard (fractal math is hot).
[profile.release] [profile.release]
opt-level = 3 opt-level = 3
codegen-units = 1
# Dev: keep our own crate debuggable, but optimize dependencies (dashu, wgpu, # Dev: keep our own crate debuggable, but optimize dependencies (dashu, wgpu,
# egui) so the explorer is actually interactive during development. # egui) so the explorer is actually interactive during development.
+6 -3
View File
@@ -33,7 +33,9 @@ impl ShareState {
pub fn encode(&self) -> String { pub fn encode(&self) -> String {
let mut s = String::new(); let mut s = String::new();
s.push_str(if self.julia { "m=j" } else { "m=m" }); s.push_str(if self.julia { "m=j" } else { "m=m" });
s.push_str(&format!("&f={}", match self.kind { s.push_str(&format!(
"&f={}",
match self.kind {
FractalKind::Mandelbrot => "mandel", FractalKind::Mandelbrot => "mandel",
FractalKind::BurningShip => "burning", FractalKind::BurningShip => "burning",
FractalKind::Multibrot => "multi", FractalKind::Multibrot => "multi",
@@ -42,7 +44,8 @@ impl ShareState {
FractalKind::Perpendicular => "perp", FractalKind::Perpendicular => "perp",
FractalKind::Buffalo => "buffalo", FractalKind::Buffalo => "buffalo",
FractalKind::Phoenix => "phoenix", FractalKind::Phoenix => "phoenix",
})); }
));
s.push_str(&format!("&pw={}", self.power)); s.push_str(&format!("&pw={}", self.power));
s.push_str(&format!( s.push_str(&format!(
"&re={}&im={}&hh={}&it={}", "&re={}&im={}&hh={}&it={}",
@@ -79,7 +82,7 @@ impl ShareState {
"perp" => FractalKind::Perpendicular, "perp" => FractalKind::Perpendicular,
"buffalo" => FractalKind::Buffalo, "buffalo" => FractalKind::Buffalo,
"phoenix" => FractalKind::Phoenix, "phoenix" => FractalKind::Phoenix,
_ => FractalKind::Mandelbrot _ => FractalKind::Mandelbrot,
}) })
.unwrap_or(FractalKind::Mandelbrot), .unwrap_or(FractalKind::Mandelbrot),
power: map.get("pw").and_then(|s| s.parse().ok()).unwrap_or(2), power: map.get("pw").and_then(|s| s.parse().ok()).unwrap_or(2),