Repository navigation
Save the app's settings, keep layers by stable id, release 0.6.0 - #24
Merged
Merged
Conversation
The app now remembers the seed, the dimension, the view (center, zoom, biome y), the shown layers and overlays, and the seed finder's query between runs, through eframe's storage (a RON file in the platform's app data folder). Every field has a default, so a file from another version loads: missing fields take their default and unknown ones are ignored. Layers are saved by a stable id, not by their position in the list, so adding or reordering layers keeps a user's choices; a new layer takes its default and a removed one is ignored. To get there, each layer now has an id and a Source (the spawn, strongholds, or a structure set with an optional prefix) instead of pseudo set names compared as strings across the app: searchable(), has_ships() and select() live on the layer. The app gets its first unit tests: settings round trip, layers kept by id, partial and unknown files, unique ids, finder filters on missing layers. Checked by hand under a virtual display: settings are saved, and an edited file brings back the seed, Nether, zoom, center, layers and finder filter. With mineshafts and the "possible" markers done, this completes 0.6. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SenGxDDRwLejx8nir8GXKG
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This finishes 0.6 with saved settings, and does proposal #4 of the architecture review: layers get stable ids. It also prepares release 0.6.0.
Saved settings
persistencefeature, as a RON file in the platform's app data folder. The newsettings.rsdefinesSettings, with aversionfield.Layers with stable ids (proposal #4)
Kindnow has anid(villages,bastions,end_cities, …) and aSource:Spawn,Strongholds, orSet { set, only }.SPAWNandSTRONGHOLDSare gone, along with the string comparisons spread across the app. That logic now lives on the layer:is_spawn(),searchable(),has_ships()andselect().Tests
app.ron;Release
Version 0.6.0, notes in
docs/releases/v0.6.0.md. After merging, run Actions → Release → Run workflow onmain.Generated by Claude Code