feat: add aquatic biome decorations#638
Conversation
…decorations # Conflicts: # modules/world-core/src/block.zig # modules/world-core/src/block_registry.zig
📋 SummaryLinked Issue: #626 - "Aquatic: Add underwater vegetation and coral foundation"
The PR extends the block registry, biome registry, and decoration system to support aquatic vegetation and warm ocean biomes. Changes are well-scoped, tests are added, and the existing decoration API is reused rather than replaced. The main concern is the reported timeout during smoke-test/integration runs, which may indicate a performance regression from the per-column water depth scanning. 📌 Review Metadata
🔴 Critical Issues (Must Fix - Blocks Merge)None identified.
|
| Principle | Score | Notes |
|---|---|---|
| Single Responsibility | 8/10 | Clear separation: blocks in world-core, biomes/decoration in world-worldgen, colors in their respective consumers |
| Open/Closed | 9/10 | Extends enums, registries, and decoration context without modifying core logic |
| Liskov Substitution | 9/10 | New biomes and blocks conform to existing type patterns and registry contracts |
| Interface Segregation | 8/10 | DecorateContext grows by one field, but all call sites are updated; no bloated interfaces created |
| Dependency Inversion | 8/10 | Reuses existing RHI and worldgen abstractions; no new hard dependencies introduced |
| Average | 8.4 |
🎯 Final Assessment
Overall Confidence Score: 82%
Confidence Breakdown:
- Code Quality: 85% (Clean extensions, consistent patterns, good test coverage)
- Completeness: 75% (Missing
tall_seagrassfrom issue scope; otherwise complete) - Risk Level: 80% (Low risk of crashes, but timeout reports suggest possible perf regression)
- Test Coverage: 90% (Unit tests added for blocks and biomes; fingerprint test updated)
Merge Readiness:
- All critical issues resolved
- SOLID average score >= 6.0
- Overall confidence >= 60%
- No security concerns
- Tests present and passing (unit tests confirmed by author)
Verdict:
MERGE WITH FIXES
The PR is safe to merge after addressing or explicitly descoping the missing tall_seagrass and investigating the smoke-test timeout to confirm it's not a new regression.
{
"reviewed_sha": "9fed6a4cc9cfb37caab51b9bba27d4eb429a22ec",
"critical_issues": 0,
"high_priority_issues": 0,
"medium_priority_issues": 2,
"overall_confidence_score": 82,
"recommendation": "MERGE_WITH_FIXES"
}
📋 SummaryLinked Issue: #626 - "Aquatic: Add underwater vegetation and coral foundation"
📌 Review Metadata
This PR adds aquatic blocks (seagrass, tall_seagrass, kelp, seaweed, coral_block, coral_fan), warm ocean and tropical biomes, and water-depth-aware decoration placement. Code quality is high with proper tests and consistent patterns. 🔴 Critical Issues (Must Fix - Blocks Merge)✅ All previously reported critical issues have been resolved. None identified.
|
| Principle | Score | Notes |
|---|---|---|
| Single Responsibility | 8/10 | Clear separation: blocks in world-core, biomes/decoration in world-worldgen, colors in consumers |
| Open/Closed | 9/10 | Extends enums, registries, and decoration context without modifying core logic |
| Liskov Substitution | 9/10 | New biomes and blocks conform to existing type patterns and registry contracts |
| Interface Segregation | 8/10 | DecorateContext grows by one field with all call sites updated |
| Dependency Inversion | 8/10 | Reuses existing RHI and worldgen abstractions; no new hard dependencies |
| Average | 8.4 |
🎯 Final Assessment
Overall Confidence Score: 88%
Confidence Breakdown:
- Code Quality: 90% (Clean extensions, consistent patterns, good test coverage)
- Completeness: 90% (Issue [Phase 2B] Aquatic: Add underwater vegetation and coral foundation #626 fully addressed with tall_seagrass added)
- Risk Level: 85% (Low risk of crashes; performance concern addressed but unverified)
- Test Coverage: 90% (Unit tests added for blocks and biomes; all tests passing)
Merge Readiness:
- All critical issues resolved
- SOLID average score >= 6.0
- Overall confidence >= 60%
- No security concerns
- Tests present and passing
Verdict:
MERGE WITH FIXES
The PR is safe to merge after the author verifies smoke-test performance is acceptable with the new early-out optimization. All substantive code issues from the previous review have been resolved.
{
"reviewed_sha": "401b84a06b192c7bf6f04ce90acc40e25ba184de",
"critical_issues": 0,
"high_priority_issues": 0,
"medium_priority_issues": 0,
"overall_confidence_score": 88,
"recommendation": "MERGE_WITH_FIXES"
}

Summary
Verification
nix develop --command zig fmt ...nix develop --command zig build testnix develop --command zig build -Doptimize=ReleaseFastnix develop --command zig build run -Dskip-present -Dauto-world=normal -Dstartup-diagnostic-seconds=5timed out at 90s without crash diagnosticsnix develop --command zig build run -Dskip-present -Dsmoke-testtimed out at 60s without crash diagnosticsCloses #626