Patch 5.0.6 - Build Mode ignore_base_rules, Test Isolation

Release Date: May 5, 2026 Version: 5.0.6 Type: Maintenance / Build Mode / Test Isolation Release


Highlights

  • Build mode now honors ignore_base_rules — Placeables configured to ignore base placement rules now correctly opt out during build-mode preview setup and validation
  • Test isolation hardened — Shared test resources no longer leak stale state across suites; deterministic cleanup through actual runtime entry points
  • Collision exclusion cleanup deterministic — Build preview teardown, manipulation cancel, and successful placement finalization all clear exclusion state correctly
  • 1715 tests passing — 100% passing, 0 flaky

Bug Fixes

Build Mode

  • Fixed ignore_base_rules ignored in build mode — Placeables configured to ignore base placement rules now correctly opt out during build-mode preview setup and validation. Previously, the build path dropped this flag, so base collision and placement rules were still applied even when the placeable explicitly disabled them.

  • Optional placement rules no longer emit false setup failures — Entering build mode with no applicable rules now remains valid. The indicator pipeline no longer reports missing-rule or missing-indicator issues when there is nothing to validate.

Test Isolation

  • Fixed shared test resources leaking stale state — Test environments now reload or rebind fresh TileMap, targeting, and level-context resources per scene so process-order execution does not corrupt later placement and manipulation suites.

  • Fixed manipulation and build collision exclusions leaking — Cleanup now consistently clears exclusion state through the actual runtime entry points, covering build preview teardown, manipulation cancel, and successful placement finalization.

  • Fixed platformer and smithy demo regressions in full-suite order — Demo suites now normalize targeting state and rebuild their per-test collision setup so their full-project behavior matches isolated runs.

  • Fixed RuleCheckIndicator exclusion regressions leaking state — The exclusion regression suite now frees tracked test nodes, clears targeting exclusions, isolates its collision mask, and asserts the valid_changed payload so signal checks remain deterministic.


New Tests

Build Mode

  • Build-mode regression coverage for ignore_base_rules — Integration test proving that a placeable with ignore_base_rules = true ignores failing base rules and validates using only its own placement rules during build mode.

Manipulation

  • Manipulation configuration flow coverage — Focused regressions for move_suffix, physics-layer disabling/restoration during move start, cancel, and successful placement, plus no-rule manipulation validation paths with empty base rules.

Plugin Integration

  • Plugin entry-point and configuration coverage — Focused tests for plugin.cfg, editor-plugin script wiring, release version consistency across README surfaces, and the default input-action setup entry point.

Test Infrastructure

  • Typed building test-isolation state — Replaced anonymous helper dictionaries with a local typed state object so setup and cleanup failures are easier to inspect in the debugger.

  • Direct collision-exclusion regression coverage — Focused regression tests asserting collision exclusions are created and cleared correctly during build and manipulation workflows.


Technical Changes

Build Preview

  • Build preview setup forwards the placeable rule policy correctlyBuildingSystem.enter_build_mode(), instance_preview(), and _try_setup() now consistently pass the placeable’s ignore_base_rules flag into indicator setup and rule validation.

Version Bump

  • Plugin metadata bumped to 5.0.6 — Updated plugin.cfg, guide frontmatters, and README version surfaces to match the current release for both the core addon and the inventory addon.

Test Suite

  • 1715 tests | 0 errors | 0 failures | 0 orphans | 0 flaky
    • 100% passing across all test suites
    • Includes 54 new tests added in this release

Status

  • Complete — Ready for release.