orbit/js
Brian Fertig ebd26ad7ba Stop thrusting ship dead when it hits an obstacle or the tether rim
- constrainShip on Planet, Star, Station, JumpGate, and AsteroidCluster now
  returns a contact boolean (true only when position/velocity/acceleration
  actually changed) so the scene can distinguish "touched" from "no-op".
- GameScene.onPostUpdate reads those flags and, if the ship is in its
  Shift+click thrust state, calls stop() + setState('normal', 'contact')
  the first frame any solid or the tether rim touches it — the hold ends
  and the ship rests on the rim instead of driving through.
- Non-thrust ships are left alone by the rule; their existing arrival/brake
  logic still owns their stop.
- dev/contact.test.mjs: headless tests covering no-contact outside the
  keep-out, contact + push-out + inward-motion strip on approach, no
  spurious contact while sliding off the rim, the full thrust-into-planet
  stop-dead-on-rim integration, and that the rule only fires in thrust.
- dev/smoke-game.mjs: add a third thrusttest check (c) verifying a
  Shift+click straight into the planet stops it dead on the rim.
2026-09-07 00:21:30 -06:00
..
build
config
dev Add stars as central bodies of non-home systems and fix home-system iden 2026-09-06 19:34:49 -06:00
entities Stop thrusting ship dead when it hits an obstacle or the tether rim 2026-09-07 00:21:30 -06:00
galaxy Add MAP console with system chart and fog-of-war 2026-09-06 23:43:35 -06:00
mining
reputation
research Fix jumpgate activation bug and add NAV chart diagnostics 2026-09-06 17:41:29 -06:00
save
scan
scenes Stop thrusting ship dead when it hits an obstacle or the tether rim 2026-09-07 00:21:30 -06:00
tether
ui Add MAP console with system chart and fog-of-war 2026-09-06 23:43:35 -06:00
utils
vendor
visuals
main.js Fix jumpgate activation bug and add NAV chart diagnostics 2026-09-06 17:41:29 -06:00