From 7a9a2f1a9ae65107b0a78a2f8251daac341af0cd Mon Sep 17 00:00:00 2001 From: byRandom Date: Tue, 10 Nov 2026 06:07:48 +0000 Subject: [PATCH] Say when a structure layer needs more zoom Dense layers (Nether fossils every 2 chunks, mineshafts in every chunk) are only drawn past a zoom level, and until now they stayed blank without a word. Their row now reads "zoom in (150%+)" with the zoom they need. Version 0.5.2. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01SenGxDDRwLejx8nir8GXKG --- Cargo.lock | 6 +++--- Cargo.toml | 2 +- crates/chunkscope-app/src/app.rs | 14 +++++++++++--- docs/releases/v0.5.2.md | 27 +++++++++++++++++++++++++++ 4 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 docs/releases/v0.5.2.md diff --git a/Cargo.lock b/Cargo.lock index 47db6d8..bbbf79e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -557,7 +557,7 @@ dependencies = [ [[package]] name = "chunkscope-app" -version = "0.5.1" +version = "0.5.2" dependencies = [ "eframe", "mc-core", @@ -1519,7 +1519,7 @@ dependencies = [ [[package]] name = "java-compat" -version = "0.5.1" +version = "0.5.2" [[package]] name = "jni" @@ -1699,7 +1699,7 @@ checksum = "5d15f86d12da44cd8d4ec3c73984537eb7f4cadcb9776a575a0a8a05ca11005c" [[package]] name = "mc-core" -version = "0.5.1" +version = "0.5.2" dependencies = [ "java-compat", "md-5", diff --git a/Cargo.toml b/Cargo.toml index b9c071c..17b125d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ members = ["crates/*"] repository = "https://github.com/byRandom/Chunkscope" edition = "2024" license = "MIT OR Apache-2.0" -version = "0.5.1" +version = "0.5.2" # The parity tests replay millions of noise and biome evaluations; unoptimized # they take minutes. Optimize test builds (debug assertions stay on). diff --git a/crates/chunkscope-app/src/app.rs b/crates/chunkscope-app/src/app.rs index 31411f0..a8798a8 100644 --- a/crates/chunkscope-app/src/app.rs +++ b/crates/chunkscope-app/src/app.rs @@ -382,10 +382,18 @@ impl ChunkscopeApp { if kind.dimension != self.dimension { continue; } + // A layer too dense for this zoom is not drawn: say so, and + // from which zoom it shows. + let min_zoom = structures::spacing_blocks(i).map(|s| MARKER_SPACING_PX / s); let note = if kind.set == SPAWN { - Some("estimate") + Some("estimate".to_owned()) + } else if let Some(z) = min_zoom + && self.kinds_on[i] + && (self.zoom as f64) < z + { + Some(format!("zoom in ({:.0}%+)", (z * 100.0).ceil())) } else { - (!structures::validated(i)).then_some("possible") + (!structures::validated(i)).then(|| "possible".to_owned()) }; layer_row( ui, @@ -393,7 +401,7 @@ impl ChunkscopeApp { Icon::Pin, Some((kind.glyph, kind.color)), kind.label, - note, + note.as_deref(), ); } ui.add_space(6.0); diff --git a/docs/releases/v0.5.2.md b/docs/releases/v0.5.2.md new file mode 100644 index 0000000..b29303b --- /dev/null +++ b/docs/releases/v0.5.2.md @@ -0,0 +1,27 @@ +A clearer map for dense layers. + +## What's fixed + +- **Layers that are too dense for the current zoom now say so.** Some + structures are attempted very close together (Nether fossils every 2 + chunks, mineshafts in every chunk), so the map only draws them when + zoomed in far enough. Until now such a layer stayed blank without any + explanation; its row now reads "zoom in (150%+)", with the zoom it needs. +- Nether fossils only generate in soul sand valleys, so that is where they + show up once zoomed in. + +Matches Minecraft: Java Edition 26.3. + +## Downloads + +| Platform | File | +| --- | --- | +| Windows (x86_64) | `chunkscope-v0.5.2-windows-x86_64.zip` | +| macOS (Apple silicon) | `chunkscope-v0.5.2-macos-aarch64.tar.gz` | +| macOS (Intel) | `chunkscope-v0.5.2-macos-x86_64.tar.gz` | +| Linux (x86_64) | `chunkscope-v0.5.2-linux-x86_64.tar.gz` | + +`SHA256SUMS.txt` lists the checksums. The binaries are not signed yet: on +Windows, SmartScreen may ask for confirmation ("More info", then "Run +anyway"); on macOS, run `xattr -d com.apple.quarantine chunkscope` first. +On Linux the app needs the usual X11 or Wayland libraries.