# Bug-Report: Absturz — BloomCircleShader kennt DarkPyramidA-Licht-ID nicht

- Typ: bug
- Datum: 2026-09-27 (Crash-Log vom 2026-09-16)
- Session: t915k6damdrmujtzzh1 (Bug-Chat, manuell analysiert)
- Version: ~0.4.1.x
- Reproduzierbarkeit: beim Zeichnen des Maschinen-Canvas (Asteroid mit DarkPyramidA)

## Zusammenfassung
`DarkPyramidA.manageGlow` ruft `BloomCircleShader.ChangeIntensity` für eine
Licht-ID (`IronCore - 316495783_DarkPyramidA_20848`) auf, die nie per
`AddCircle` registriert wurde → assert in `BloomCircleShader.lua:385`.

## Fehler
```
Error: Libraries/Shaders/BloomCircleShader.lua:385: BloomCircleShader.lua	 : ID IronCore - 316495783_DarkPyramidA_20848 not found
Libraries/Shaders/BloomCircleShader.lua:385: in function 'ChangeIntensity'
Data/Machines/DarkPyramidA.lua:243: in function 'manageGlow'
Data/Machines/DarkPyramidA.lua:269: in function 'drawFunction'
Objects/MapData/Machines.lua:88: in function 'drawRow'
Objects/MapData/Machines.lua:133: in function 'MakeCanvas'
```

## Technische Analyse
`BloomCircleShader` führt eine `FILE_IDList`; `ChangeIntensity`/`ChangeColor`
assertieren, dass die ID registriert ist (by design — lautes Failen gewollt).
`DarkPyramidA.manageGlow` (Z. 235-269) hat bereits einen Guard für fehlende
`MachineID` (`if not MachineID then return end`), aber nicht für den Fall, dass
die ID existiert und nur der Bloom-Circle fehlt.

Der Circle wird vermutlich beim Bau des Asteroiden-Canvas bzw. beim Platzieren
der Pyramide registriert (vgl. `BloomCircleShader.AddCircle`-Aufrufe in
Machines/Rays/Projectiles). Szenarien, in denen die Registrierung fehlt:
Pyramide aus einem Save geladen, Asteroiden-Canvas älter als die Pyramide,
oder Registrierung nur bei frischer Platzierung.

Fix-Richtung:
- Registrierung sicherstellen: beim Laden/Platzieren der Pyramide — oder
  lazy in `manageGlow` via `BloomCircleShader.IsCircle(MachineID)` →
  `AddCircle` mit MetaData-Farben (Präzedenzfall: `WallRepairGlow.lua:554`
  macht genau das).
- Den assert für wirklich unbekannte IDs stehen lassen (Kais Regel: keine
  stillen Fehler), aber der legitime Maschinen-Fall darf ihn nicht auslösen.
