docs: record the routing cause and the three silent-failure guards
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011oLWY1G6S8U35bi2FxVWni
This commit is contained in:
@@ -166,14 +166,33 @@ those types set `IncludeInPhysical = false` — they are blueprint stat-display
|
||||
plumbing and carry no signal on a real ship, so every receiver read off, the
|
||||
vent gate was permanently open, and radiators behaved exactly as in vanilla.
|
||||
|
||||
**v1.1.0** carries the signals as `NetworkValue` / `NetworkValueReceiver`
|
||||
**v1.1.0** carried the signals as `NetworkValue` / `NetworkValueReceiver`
|
||||
instead, which is what vanilla's thermal amplification pump uses to drive actual
|
||||
physical behaviour, and which never sets `IncludeInPhysical` anywhere in the
|
||||
shipped data. `tests/test_mod.py` now fails on any use of the blueprint-only
|
||||
types, and separately re-checks that premise against the installed game so the
|
||||
guard cannot quietly go stale.
|
||||
physical behaviour. That was necessary but not sufficient: it also loaded
|
||||
cleanly and did nothing.
|
||||
|
||||
The v1.1.0 logic is verified statically but has not yet been confirmed in-game.
|
||||
**v1.2.0** added the diagnostic indicator icons, which is what finally located
|
||||
the fault. The wrench icon was present — so `AddBase` and the `Overrides` had
|
||||
been applying correctly the whole time — while both signal icons showed,
|
||||
meaning both `NetworkValue`s read zero.
|
||||
|
||||
**v1.3.0** fixes the actual cause. A network component is only attached to the
|
||||
network if a **route** reaches it: the part's `NetworkPort` anchors on one
|
||||
component, and a `NetworkRouter` bridges that anchor to every other network
|
||||
component on the part. That is how vanilla connects the radiator's own
|
||||
`NetworkedThermalDissipationLoadValue`, and how the amplification pump reaches
|
||||
the resonance beam turret. Unrouted components are not an error — they simply
|
||||
never connect and read as absent forever.
|
||||
|
||||
Routes were added from each part's anchor: `NetworkedHeatBuffer` on the radiator
|
||||
through its existing `Router`, plus a new `NetworkRouter` on the thermal
|
||||
battery, the missile launcher and `base_part_overclock`, none of which ships
|
||||
one.
|
||||
|
||||
Three separate mechanisms have now each produced a mod that loads without a
|
||||
single error and silently does nothing. The test suite has a mutation-verified
|
||||
guard for each: blueprint-only signal types, fields that do not exist in the
|
||||
real schema, and unrouted network components.
|
||||
|
||||
## Possible additions
|
||||
|
||||
|
||||
Reference in New Issue
Block a user