Skip to content

Conversation

@cmflannery
Copy link
Owner

@cmflannery cmflannery commented Nov 26, 2025

PR Description

Summary

This PR completes the package rename from openrocketengine to rocket, adds visualization capabilities for engine cycle comparison studies, and fixes missing APIs in the analysis framework.

Changes

Package Rename

  • Renamed package from openrocketenginerocket
  • Updated all imports across source files and tests
  • Updated pyproject.toml with new package name and hatch build configuration
  • Deleted old openrocketengine/ directory

New Visualization Functions (rocket/plotting.py)

  • plot_cycle_comparison_bars() - Multi-metric bar chart comparing cycles
  • plot_cycle_radar() - Normalized radar/spider chart for multi-dimensional comparison
  • plot_cycle_tradeoff() - 2D scatter plot with optional bubble sizing
  • plot_mass_breakdown() - Pie + bar chart for mass breakdowns

Analysis Framework Fixes (rocket/analysis.py)

  • Added ParetoResults.n_total property - total designs evaluated
  • Added ParetoResults.n_feasible property - designs passing constraints
  • Added ParetoResults.pareto_front() method - returns Pareto-optimal designs as DataFrame

New Module

  • rocket/tanks.py - Propellant density database for cycle analysis

Updated Examples

  • cycle_comparison.py now generates bar, radar, and trade-off visualizations

Output Example

outputs/cycle_comparison_<timestamp>/
├── plots/
│   ├── cycle_comparison_bars.png
│   ├── cycle_radar.png
│   └── cycle_tradeoff.png
├── data/
│   └── summary.json
└── metadata.json

Testing

uv run pytest
uv run python -m rocket.examples.cycle_comparison

@cmflannery cmflannery changed the title rocket Add cycle comparison visualizations and update analysis APIs Nov 26, 2025
@cmflannery cmflannery merged commit 299957a into master Nov 26, 2025
0 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants