Repository navigation
refactor(world_editor): dedup set-if-absent write helpers - #1073
Merged
Merged
Conversation
set_block_if_absent now delegates to set_with_props_if_absent (from #1067) instead of duplicating the region/chunk/section descent. Behaviourally identical for the no-props case; `#[inline]` keeps it free. Adds unit tests for the shared write-if-absent path. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR refactors the world editor’s set-if-absent write path by making set_block_if_absent delegate to the existing property-aware helper, reducing duplicated traversal logic while preserving behavior.
Changes:
- Replaced the duplicated
set_block_if_absentimplementation with a thin wrapper aroundset_with_props_if_absent. - Updated helper documentation.
- Added unit tests covering write-if-absent behavior, wrapper semantics, and property storage/omission.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
⏱️ Benchmark run finished in 0m 57s 📈 Compared against baseline: 27s time, 900 MB memory 🟢 Generation time is unchanged. 📅 Last benchmark: 2026-05-31 09:53:18 UTC You can retrigger the benchmark by commenting |
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.
Follow-up to #1067. That PR added
set_with_props_if_absentbut left it duplicating the region/chunk/section descent from the existingset_block_if_absent.This collapses the duplication:
set_block_if_absentnow delegates toset_with_props_if_absentwithproperties: None. The two are behaviourally identical for the no-props case (both write + clear stale properties only when the cell is AIR), and#[inline]on both means the wrapper compiles away — no perf cost.Adds unit tests for the shared write-if-absent path: write-then-protect-occupied, the delegating wrapper's semantics, and property store/omit handling.
No behaviour change; full suite green, clippy clean.
🤖 Generated with Claude Code