Skip to content

Remove ControlPlots; migrate plotting to Makie + MakieControlPlots#248

Open
1-Bart-1 wants to merge 1 commit into
neuralfoilfrom
rm-controlplots
Open

Remove ControlPlots; migrate plotting to Makie + MakieControlPlots#248
1-Bart-1 wants to merge 1 commit into
neuralfoilfrom
rm-controlplots

Conversation

@1-Bart-1

Copy link
Copy Markdown
Member

Removes the ControlPlots plotting backend and migrates all plotting to Makie, using MakieControlPlots where it fits.

Changes

  • Removed the ControlPlots extension, examples_cp/, and the PythonCall/Matplotlib setup (bin/install_controlplots, CI matplotlib/PyCall steps, LocalPreferences CondaPkg defaults).
  • Collapsed the plot-backend dispatch (PlotBackend/MakieBackend/ControlPlotsBackend/set_plot_backend!). Plotting works as soon as a Makie backend and MakieControlPlots are loaded. Also dropped the never-implemented plot_circulation_distribution.
  • VortexStepMethodMakieExt now triggers on ["Makie", "MakieControlPlots"] and renders plot_section_polars via MakieControlPlots.plot. Everything else (geometry, distributions, polars, 3D surfaces, airfoil grids) stays native Makie — MakieControlPlots' standalone-figure API can't compose those.
  • Examples load GLMakie/CairoMakie + MakieControlPlots.
  • Docs/README updated (two-backend table, MakieControlPlots mention).
  • Regenerated the 1.11 and 1.12 default manifests; removed dead :PyCall Aqua ignores.

Validation (headless)

  • Aqua: 10/10
  • Plotting tests: 58/58
  • New plot_section_polars / plot_airfoils tests: 4/4

🤖 Generated with Claude Code

…Plots

- Delete the ControlPlots extension, examples_cp/, and the PythonCall/
  Matplotlib setup (bin/install_controlplots, CI matplotlib/PyCall steps).
- Collapse the plot-backend dispatch (PlotBackend/MakieBackend/
  ControlPlotsBackend/set_plot_backend\!); plotting works once a Makie backend
  and MakieControlPlots are loaded. Drop the never-implemented
  plot_circulation_distribution.
- VortexStepMethodMakieExt now triggers on ["Makie", "MakieControlPlots"] and
  renders plot_section_polars via MakieControlPlots; other plots stay native
  Makie.
- Examples load GLMakie/CairoMakie + MakieControlPlots.
- Add tests for plot_section_polars and plot_airfoils; regenerate the 1.11 and
  1.12 default manifests; drop dead PyCall Aqua ignores.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ufechner7

ufechner7 commented Jun 30, 2026

Copy link
Copy Markdown
Member

You write: "Everything else (geometry, distributions, polars, 3D surfaces, airfoil grids) stays native Makie — MakieControlPlots' standalone-figure API can't compose those."

This is not sufficient. It must be possible to create each of the subplots of the large diagrams using MakieControlPlots.jl

It might be a good idea to have a separate plot_results.jl script with a sub-menu to select the plots you want to see, but each plot should be in a separate window. If you write a paper, selecting and combining plots should be done in the LaTeX document.

@1-Bart-1

1-Bart-1 commented Jul 1, 2026

Copy link
Copy Markdown
Member Author

Feel free to fix this @ufechner7 , but this is the same as it was when using ControlPlots. This PR is just kept as simple as possible.

@1-Bart-1 1-Bart-1 force-pushed the neuralfoil branch 2 times, most recently from 240f6fa to e63322b Compare July 1, 2026 14:35
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