# Inspiration and provenance

Read the public repository README at https://github.com/dgreenheck/moonshot during this task. Its browser rocket game and explicit physics tests suggested an educational build, fly and verify activity. The README describes a much larger orbital game with three.js, a scaled fictional system and patched-conic orbital mechanics.

Upward uses none of that repository's source code, visual assets, names for parts, or orbital implementation. This lab is original vanilla JavaScript, HTML and CSS with an original SVG altitude diagram, deliberately restricted to vertical ascent and descent. It has no game engine or third-party runtime dependencies. No repository was cloned.

## Physics used

The implementation applies Newton's second law with changing instantaneous rocket mass, prescribed engine thrust, inverse-square gravity and a signed quadratic drag term. Prescribed thrust already represents exhaust momentum transfer, so no extra mass-loss force is added. Parameters are fictional teaching choices, not measured rocket specifications. Standard gravity is 9.80665 m/s²; Earth radius is approximated as 6,371,000 m. Atmospheric sea-level density is set to 1.225 kg/m³ and scale height to 8,500 m. This single-exponential atmosphere is intentionally crude.

For independent verification in vacuum, constant gravity and constant propellant flow q give v(t) = (T/q) ln[m0/(m0−qt)] − gt and h(t) = (T/q){t − [(m0−qt)/q] ln[m0/(m0−qt)]} − gt²/2, starting at rest, before burnout and without ground contact. Tests also compare engine-off flight with h = h0 + v0 t − gt²/2. A separate RK4 implementation checks the powered drag/gravity case and timestep convergence.

Scope exclusions are intentional: orbit, staging and hardware design would need substantially different models and verification.
