Skip to content

docs(sprint): Sprint 21 festplanen und als Großauftrag erteilen (D-108, D-109) - #98

Merged
cubetribe merged 1 commit into
mainfrom
docs/auftrag-verknappungsfolgen
Aug 18, 2026
Merged

docs(sprint): Sprint 21 festplanen und als Großauftrag erteilen (D-108, D-109)#98
cubetribe merged 1 commit into
mainfrom
docs/auftrag-verknappungsfolgen

Conversation

@cubetribe

Copy link
Copy Markdown
Collaborator

Aus dem Vorschlag zu den Verknappungsfolgen
(Testbericht T-01, Issues #85#94) wird nach zwei Inhaberentscheidungen ein
festgeplanter Sprint. Reine Dokumentation — kein Spielcode berührt.

Die zwei Entscheidungen

D-108 — Territorium wächst kriechend an jedem eigenen Bauanker.
ConstructionSystem.BuildInfluenceRadiusCells = 8 misst ab einem eigenen
Bauanker
, nicht ab dem HQ. Jedes fertige Gebäude erweitert die Zone also um
seinen eigenen Radius. Das stand so im Code und wurde nie ausgesprochen — es
bleibt und ist ab jetzt gewollte Mechanik: klassisches C&C, und es koppelt
Expansion genau so an die Wirtschaft, wie die Verknappung aus D-102 es verlangt.

Die im Bericht gemeldete Enge wird nicht über den Radius beantwortet, sondern
zuerst gemessen. MinimumBuildingDistanceCells = 2 sperrt Zellen innerhalb der
Zone und ist die plausiblere Ursache; Paket 21.1 liefert die Kapazitätszahl als
Test, bevor irgendein Wert fällt.

D-109 — Die Kartenmitte wird ein Gebiet mit schmalen Zufahrten.
Feld 5 liegt bei (62, 62) und trägt mit 15.000 AE zwei Drittel mehr als jedes
andere; die Absicht war getroffen, nur nicht ausgespielt. Verbindliche Auflage:
Begehbarkeit und Optik stammen aus einer einzigen Struktur.

Heute tun sie das nicht, und das ist der teure Teil des Sprints:

  • CostField kann unbegehbare Zellen (OpenCost = 1, ImpassableCost = 255),
    aber der Konstruktor füllt alles mit OpenCost und es schreibt niemand
    hinein ausser ConstructionSystem für Gebäude-Footprints.
  • GlutrinneBlockoutView streut rund 84 Felsen mit festem Seed und sichert im
    eigenen Docstring zu, nie in den Simulationszustand zu schreiben — die Felsen
    sind Deko und begehbar.

Zwei getrennte Quellen ergäben Einheiten, die durch sichtbare Felsen laufen und
an unsichtbaren Wänden hängenbleiben — ein Fehlerbild, das später niemand mehr
der Kartenarbeit zuordnet.

Die Schreibhoheit bleibt dabei gewahrt: CostField.SetCost ist bereits
öffentlich und wird aus Gameplay/Match/ aufgerufen, wie PathfindingTestBootstrap
es vorführt. Simulation/Pathfinding/ wird nicht angefasst.

Was dieser PR enthält

Ausdrücklich draussen

#89 (Patrouille) und #90 (Bewachen). Beide brauchen einen Eintrag im
eingefrorenen CommandKind-Register, eine neue Payload und Zustand pro Einheit
im Snapshot. Das ist ein API-/Schema-Vorgang mit @API-Guardian und einer
Versionsrelevanz eher major als minor.

#85 ist bereits vom Einheitenstrang behoben (#97) und geschlossen.

Drei Berichtigungen im Bestand

  1. AUFTRAG_Grossblock.md behauptete, dotnet test laufe lokal nicht. Es
    läuft
    — im Repo-Root liegt ein mitgeliefertes .dotnet/ mit exakt der in
    global.json gepinnten Version 8.0.318, voller Lauf rund 14 Sekunden. Die
    falsche Aussage hat Agenten dazu gebracht, auf die CI zu warten, statt vorher
    zu prüfen.
  2. Der Index nannte Lager und Radar noch „Attrappen" — seit 16.4 (Lager kostet Geld und Energie, hat aber keine Wirkung #53) und 16.5
    (Radar hat keine Wirkung — die Minimap ist nicht daran gekoppelt #54) wirken beide.
  3. Sprint 17 Paket A war Block 3 des vorigen Auftrags, nicht Block 4.

Nachweis

python3 .github/scripts/check_docs.py lokal grün (183 Markdown-Dateien), alle
relativen Links der geänderten Dateien gegen das Dateisystem geprüft — kein
toter Link. Kein Spielcode, keine Baseline, keine gespielte Runde nötig.

…8, D-109)

Aus dem Vorschlag zu den Verknappungsfolgen (Testbericht T-01, #85-#94) wird nach
zwei Inhaberentscheidungen ein festgeplanter Sprint. Reine Dokumentation, kein
Spielcode berührt.

D-108: Territorium wächst kriechend an jedem eigenen Bauanker. Die Regel steht so
im Code (BuildInfluenceRadiusCells misst ab einem Bauanker, nicht ab dem HQ),
wurde aber nie ausgesprochen. Sie bleibt und ist ab jetzt gewollte Mechanik. Die
gemeldete Enge wird an MinimumBuildingDistanceCells gemessen, bevor ein Wert
fällt.

D-109: Die Kartenmitte wird ein Gebiet mit schmalen Zufahrten, mit der
verbindlichen Auflage, dass Begehbarkeit und Optik aus einer einzigen Struktur
stammen. Heute tun sie das nicht: CostField kann unbegehbare Zellen, aber es
schreibt niemand hinein ausser ConstructionSystem, während GlutrinneBlockoutView
begehbare Deko-Felsen streut.

Neu:
- 21_Sprint_Verknappungsfolgen.md — sieben Pakete, nach Abhängigkeit sortiert
- AUFTRAG_Verknappungsfolgen.md — Sprint 21, danach Sprint 18

Berichtigt: AUFTRAG_Grossblock.md behauptete, dotnet test laufe lokal nicht. Es
läuft mit dem im Repo mitgelieferten .dotnet/ (8.0.318, exakt die in global.json
gepinnte Version). Ebenso im Index: Lager und Radar sind seit Sprint 16.4/16.5
keine Attrappen mehr, und Sprint 17 Paket A war Block 3, nicht Block 4.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@cubetribe
cubetribe merged commit e9cf602 into main Aug 18, 2026
6 checks passed
@cubetribe
cubetribe deleted the docs/auftrag-verknappungsfolgen branch August 18, 2026 06:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant