Patch 5.0.7 - Indicator Diagnostics, Placement Rules Warning
Release Date: May 5, 2026 Version: 5.0.7 Type: Maintenance / Indicator Diagnostics / Placement Rules Release
Highlights
- Indicator diagnostics no longer cause false validation failures —
PlacementReport.is_successful()now correctly returnstruewhen validation passes. TileCheckRule.get_failing_indicators()base implementation fixed — Returns empty array instead of checking staleindicator.validstate. Concrete rules (WithinTilemapBoundsRule,CollisionsCheckRule) override correctly.- Placement rule documentation hardened — Added explicit warning about
validate_placement()vsget_runtime_issues()confusion.
Bug Fixes
Indicator Visuals
Fixed
TileCheckRule.get_failing_indicators()using stale state — The base implementation was checkingindicator.valid(set last frame) instead of returning an empty array. Concrete rules override this method to perform actual validation. Base class now returns empty array as documented behavior.Fixed
IndicatorSetupReportdiagnostics causing false validation failures — When a custom rule passes validation (RuleResult.build(self, [])), the diagnostic messages fromIndicatorSetupReportno longer causePlacementReport.is_successful()to returnfalse.
Placement Rules
TileCheckRulebase class documentation clarified — The baseget_failing_indicators()now explicitly documents that concrete rules must override it to perform actual validation.
New Tests
Placement Rules
TileCheckRulebase class behavior test — Added test confirming baseget_failing_indicators()returns empty array.ignore_base_rulesbehavior contract tests — Comprehensive unit tests verifyingignore_base_rules=truewith empty placeable rules passes validation.Custom rule validation patterns test — Added regression test covering proper
validate_placement()vsget_runtime_issues()separation.
Documentation
Placement rule documentation warning — Updated
placement-rules.mdguide with “Common Mistake: Usingget_runtime_issues()Instead ofvalidate_placement()” section explaining the two methods serve different purposes.Targeting collision flags documentation — Updated targeting-flow guide with explicit
collide_with_areasandcollide_with_bodiesrequirements forTargetingShapeCast2D.
Status
- Complete — Ready for release.