int_speed/shd_speed granted +max_speed/+acceleration per level to a
single vessel, which is redundant now that #59/#62 gave the whole
fleet a shared speed fader instead - a per-ship speed stat has nothing
left to meaningfully affect since #59's multiplier is applied at the
point of use in Ship.gd regardless of the ship's own base stats.
Deleted both upgrade resources and their vessel-definition references
outright rather than leaving them unused.
test_ship_lab.gd's per-vessel-type isolation check used int_speed as
an arbitrary interceptor-only upgrade to prove it doesn't leak into
transporter stats - swapped to int_range, which still exists. Its
upgrade-card-count assertion updated for 3 remaining interceptor
upgrades instead of 4.
Forgejo #5. A new building gated behind a "Vessel Science" research
node. Its own screen upgrades each vessel type - weapon, movement,
shield and freight - and unlocks the shield vessel, which the ship
crafter can then build.
Vessel research is deliberately NOT more nodes in the mothership tree:
that tree gates what may be built at all and is a strategic spine, while
these are repeatable tuning on vessels already owned. Levels cost
base * (level + 1), so the third point in something is not the price of
the first. Upgrades are read live rather than baked in at build time, so
researching one improves the ships already flying.
The shield is personal, not a bubble: it absorbs a hit that would
destroy the vessel - ships have no health, contact kills - and is then
down until it cycles. Its ring is a NeonPiece child toggled with
`visible` per #10, not a redraw of the hull.
The build menu now holds six entries across three rows, which the #21
repacking already handles.
Enemies still have no weapon, so "blocks shots" has nothing to block
yet; that is filed separately rather than widened into this ticket.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>