feat(presentation): Baubereich als Overlay sichtbar machen (#91, Paket 21.4) - #112
Merged
Conversation
cubetribe
force-pushed
the
feat/s21-anchor-rule
branch
from
August 18, 2026 12:29
cca97a7 to
6fcfeb0
Compare
…t 21.4) Bisher erfuhr der Spieler die Bauzone nur durch Ablehnung. Das Overlay malt sie vor dem Klick, in drei Zustaenden: ausserhalb der Zone gar nichts, innerhalb und baubar gruen, innerhalb aber Mindestabstand verletzt orange. Die zweite Unterscheidung ist der eigentliche Befund aus dem Testbericht — MinimumBuildingDistanceCells sperrt Zellen INNERHALB des Radius. Die Regel wird abgefragt, nicht nachgebaut: jeder Texel ist die Antwort von IsInsideBuildInfluence und HasMinimumBuildingSpacing, also exakt der beiden Reads, die ValidatePlacement selbst konsumiert. Damit erbt das Overlay die D-108-Ankeraenderung, ohne angefasst zu werden. In ConstructionSystem sind nur diese beiden Methoden oeffentlich geworden; die Rumpfe sind unveraendert. Sichtbar im Platzierungsmodus und per O umschaltbar. 4 Hz Repaint nur solange sichtbar, FilterMode.Point damit Gruen und Orange nicht zu einem sinnlosen Drittton verschwimmen. Umsetzung durch den Kimi-K3-Worker. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
cubetribe
force-pushed
the
feat/s21-buildzone-overlay
branch
from
August 18, 2026 12:33
87c9138 to
5a11f93
Compare
This was referenced Aug 18, 2026
Closed
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.
Schliesst #91. Paket 21.4.
Was sich ändert
Bisher erfuhr der Spieler die Bauzone ausschliesslich durch Ablehnung: klicken, geht nicht, keine Begründung. Das Overlay malt sie vor dem Klick, in drei unterscheidbaren Zuständen:
Die zweite Unterscheidung ist der eigentliche Befund aus dem Testbericht:
MinimumBuildingDistanceCells = 2sperrt Zellen innerhalb des Radius, und die gefühlte Enge kam mutmasslich daher — nicht vom Radius.Die Regel wird abgefragt, nicht nachgebaut
Jeder Texel ist die Antwort von
IsInsideBuildInfluenceundHasMinimumBuildingSpacingfür einen 3×3-Footprint auf dieser Zelle — exakt die beiden Reads, dieValidatePlacementselbst konsumiert. Kein Radius, keine Ankerliste im Overlay.Das ist der Grund, warum der Sprint die Reihenfolge "21.4 erst nach 21.1" nicht mehr braucht: als D-108 die Ankerliste öffnete, hat das Overlay die Änderung geerbt, ohne angefasst zu werden. In
ConstructionSystemsind nur diese beiden Methoden öffentlich geworden — die Rümpfe sind unverändert.Auch der Test hält sich daran: er pinnt nur die Relation (beide Reads sind für
Appliednötig; das Paar unterscheidet "draussen" von "drin, aber gesperrt"), nie Radiuswerte oder Ankerrollen. Deshalb hat er die Regeländerung unverändert überstanden.Bedienung und Kosten
Sichtbar automatisch im Platzierungsmodus, zusätzlich per O umschaltbar (freie Taste, Legende ergänzt). Repaint mit 4 Hz und nur solange sichtbar — der Bauzustand ändert sich ohnehin nur auf Tick-Ereignisse.
FilterMode.Point, damit Grün und Orange nicht zu einem bedeutungslosen Drittton verschwimmen. Höhe 0.05: über dem Fog, unter den Markern.Bewusst nicht gemalt: Terrain-Begehbarkeit und Feldabstände — letztere sind rollenabhängig (die Raffinerie invertiert sie), und das Vollverdikt am Cursor liefert weiterhin der Platzierungs-Ghost.
Nachweis
dotnet test tools/Nova.SimRunner.Tests— 726/726 grün🤖 Generated with Claude Code