# CHANGELOG This file records dated repository-level documentation and implementation changes. Keep entries short, factual, and ordered newest last. ## Use - Record meaningful repo changes here after they are made. - Keep implementation details brief and point to the affected files when useful. - Do not use this file for task planning; use [`TODO.md`](./TODO.md) for the live work queue. - Do not use this file for durable assumptions or guardrails; use [`MEMORY.md`](./MEMORY.md) for that context. ## Entries - `2026-03-28`: Created `README.md` and `MEMORY.md` from the `/docs` PDFs and current MATLAB code. Confirmed the repo is still an incomplete assignment skeleton with unresolved placeholders and a missing `getRho.m`. - `2026-03-28`: Documented professor guidance that the atmosphere model must be integrated into the simulation, must include the stratosphere branch for altitude `> 11 km`, and will not run until the `XX` placeholders are replaced. - `2026-03-28`: Clarified file roles so `MEMORY.md` is the durable handoff and `TODO.md` is the active execution tracker. - `2026-03-28`: Confirmed the stratosphere equations from `docs/Addendum to Atomosphere Model Feb 26.pdf` and recorded the required `z > 11000 m` branch for the future `getRho.m` implementation. - `2026-03-28`: Implemented [`code/getRho.m`](./code/getRho.m), filled the known scalar assignment constants in [`code/Interceptor_3DOF.m`](./code/Interceptor_3DOF.m) and [`code/getGuidance.m`](./code/getGuidance.m), assumed `Maz = 0 deg` for the current coplanar setup, validated `getRho.m` in Octave, and confirmed that the next blocker is the unresolved target/missile data arrays in [`code/T3dxdt.m`](./code/T3dxdt.m) and [`code/M3dxdt.m`](./code/M3dxdt.m). - `2026-03-28`: Transcribed the target and missile thrust, mass, area, and drag data into [`code/T3dxdt.m`](./code/T3dxdt.m) and [`code/M3dxdt.m`](./code/M3dxdt.m), fixed row/column handling in [`code/getGuidance.m`](./code/getGuidance.m), verified the dynamics helpers in Octave, and found that the remaining issue is slow end-to-end runtime in the nested `ode45` loop.