From 21cc19a93aa5c5a21276730efd0f7349505068fa Mon Sep 17 00:00:00 2001 From: Christopher Albert Date: Mon, 25 Aug 2025 22:28:23 +0200 Subject: [PATCH 1/3] fix: remove redundant stateful_streamplot example - Remove duplicate stateful_streamplot example that was identical to streamplot_demo - Clean up all documentation references and build system entries - Consolidate into single streamplot_demo for better maintainability Fixes #336 --- DESIGN.md | 1 - Makefile | 1 - doc/examples/index.md | 2 - doc/examples/stateful_streamplot.md | 42 ------------------ doc/index.md | 1 - example/fortran/README.md | 1 - example/fortran/stateful_streamplot/README.md | 1 - .../stateful_streamplot.f90 | 43 ------------------- src/fortplot_doc_examples.f90 | 6 +-- src/fortplot_doc_media.f90 | 9 ---- 10 files changed, 2 insertions(+), 105 deletions(-) delete mode 100644 doc/examples/stateful_streamplot.md delete mode 100644 example/fortran/stateful_streamplot/README.md delete mode 100644 example/fortran/stateful_streamplot/stateful_streamplot.f90 diff --git a/DESIGN.md b/DESIGN.md index 252d8cc5..75ae66e7 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -690,7 +690,6 @@ subroutine streamplot(self, x, y, u, v, density, color, linewidth, & - scatter_demo - 2D scatter plots - show_viewer_demo - Display plot in viewer - smart_show_demo - Smart show functionality -- stateful_streamplot - Streamplot with stateful API - streamplot_demo - Vector field visualization - unicode_demo - Unicode text support diff --git a/Makefile b/Makefile index e8f4248d..443bc606 100644 --- a/Makefile +++ b/Makefile @@ -165,7 +165,6 @@ create_build_dirs: @mkdir -p output/example/fortran/show_viewer_demo @mkdir -p output/example/fortran/smart_show_demo @mkdir -p output/example/fortran/animation - @mkdir -p output/example/fortran/stateful_streamplot @mkdir -p output/example/fortran/annotation_demo @mkdir -p output/example/fortran/histogram_demo @mkdir -p output/example/fortran/subplot_demo diff --git a/doc/examples/index.md b/doc/examples/index.md index cafd2a44..a3fc3b90 100644 --- a/doc/examples/index.md +++ b/doc/examples/index.md @@ -65,8 +65,6 @@ Intelligent display mode selection based on environment. ### [Save Animation Demo](./save_animation.html) Creating animated plots and saving to video files. -### [Stateful Streamplot](./stateful_streamplot.html) -Time-evolving vector field animations. --- diff --git a/doc/examples/stateful_streamplot.md b/doc/examples/stateful_streamplot.md deleted file mode 100644 index d9c95507..00000000 --- a/doc/examples/stateful_streamplot.md +++ /dev/null @@ -1,42 +0,0 @@ -title: Stateful Streamplot ---- - -# Stateful Streamplot - -This example shows time-evolving vector field animations using streamplots. - -## Files - -- `stateful_streamplot.f90` - Source code -- `stateful_streamplot.png/pdf/txt` - Static snapshot - -## Running - -```bash -make example ARGS="stateful_streamplot" -``` - -## Features Demonstrated - -- **Time-dependent fields**: Vector fields that change over time -- **State preservation**: Maintain streamline continuity -- **Smooth transitions**: Interpolate between states -- **Physical simulations**: Fluid flow, electromagnetic fields - -## Applications - -- **Fluid dynamics**: Visualize flow evolution -- **Weather patterns**: Show wind field changes -- **Electromagnetic fields**: Time-varying E/B fields -- **Traffic flow**: Vehicle movement patterns - -## Implementation Notes - -- **Stateful integration**: Remember previous streamline positions -- **Adaptive refinement**: Add/remove streamlines as needed -- **Performance**: Optimized for real-time updates -- **Memory efficient**: Only store necessary state - -## Output Example - -![Stateful Streamplot](../../media/examples/stateful_streamplot/stateful_streamplot.png) diff --git a/doc/index.md b/doc/index.md index 020ed3bf..cb9c1af8 100644 --- a/doc/index.md +++ b/doc/index.md @@ -45,7 +45,6 @@ Complete working examples with source code and generated plots. - [Scatter Demo](https://github.com/lazy-fortran/fortplot/tree/main/example/fortran/scatter_demo) - Scatter plot basics - [Show Viewer](https://github.com/lazy-fortran/fortplot/tree/main/example/fortran/show_viewer_demo) - Interactive display - [Smart Show](https://github.com/lazy-fortran/fortplot/tree/main/example/fortran/smart_show_demo) - Intelligent display -- [Stateful Streamplot](https://github.com/lazy-fortran/fortplot/tree/main/example/fortran/stateful_streamplot) - Vector field evolution - [Streamplot](https://github.com/lazy-fortran/fortplot/tree/main/example/fortran/streamplot_demo) - Vector field visualization - [Subplot Demo](https://github.com/lazy-fortran/fortplot/tree/main/example/fortran/subplot_demo) - Multiple plot grids - [Unicode Demo](https://github.com/lazy-fortran/fortplot/tree/main/example/fortran/unicode_demo) - Mathematical symbols diff --git a/example/fortran/README.md b/example/fortran/README.md index af1a767b..25a6f874 100644 --- a/example/fortran/README.md +++ b/example/fortran/README.md @@ -34,7 +34,6 @@ make example ARGS="example_name" - [colored_contours](./colored_contours/) - Filled contours with colormaps - [pcolormesh_demo](./pcolormesh_demo/) - Pseudocolor mesh plots - [streamplot_demo](./streamplot_demo/) - Vector field visualization -- [stateful_streamplot](./stateful_streamplot/) - Time-evolving fields ### Scaling and Styling - [scale_examples](./scale_examples/) - Log and symlog scales diff --git a/example/fortran/stateful_streamplot/README.md b/example/fortran/stateful_streamplot/README.md deleted file mode 100644 index 35d12f28..00000000 --- a/example/fortran/stateful_streamplot/README.md +++ /dev/null @@ -1 +0,0 @@ -title: Stateful Streamplot diff --git a/example/fortran/stateful_streamplot/stateful_streamplot.f90 b/example/fortran/stateful_streamplot/stateful_streamplot.f90 deleted file mode 100644 index 61dff8ef..00000000 --- a/example/fortran/stateful_streamplot/stateful_streamplot.f90 +++ /dev/null @@ -1,43 +0,0 @@ -program stateful_streamplot - use fortplot - use, intrinsic :: iso_fortran_env, only: real64 - implicit none - - integer, parameter :: nx = 20, ny = 20 - real(real64), dimension(nx) :: x - real(real64), dimension(ny) :: y - real(real64), dimension(nx, ny) :: u, v - integer :: i, j - - ! Create grid - do i = 1, nx - x(i) = -2.0_real64 + 4.0_real64 * real(i-1, real64) / real(nx-1, real64) - end do - - do j = 1, ny - y(j) = -2.0_real64 + 4.0_real64 * real(j-1, real64) / real(ny-1, real64) - end do - - ! Create circular flow field - do j = 1, ny - do i = 1, nx - u(i,j) = -y(j) - v(i,j) = x(i) - end do - end do - - ! Create streamplot using stateful interface - call figure(figsize=[8.0_wp, 6.0_wp]) - call streamplot(x, y, u, v, density=1.0_real64) - call xlabel('X') - call ylabel('Y') - call title('Stateful Interface Streamplot Demo - Circular Flow') - - ! Save figure - call savefig('output/example/fortran/stateful_streamplot/stateful_streamplot.png') - call savefig('output/example/fortran/stateful_streamplot/stateful_streamplot.pdf') - call savefig('output/example/fortran/stateful_streamplot/stateful_streamplot.txt') - - print *, 'Stateful streamplot demo completed!' - -end program stateful_streamplot \ No newline at end of file diff --git a/src/fortplot_doc_examples.f90 b/src/fortplot_doc_examples.f90 index e869c453..efdc6fcb 100644 --- a/src/fortplot_doc_examples.f90 +++ b/src/fortplot_doc_examples.f90 @@ -36,8 +36,7 @@ pure subroutine get_example_dir(index, dir) case(14); dir = "example/fortran/show_viewer_demo" case(15); dir = "example/fortran/smart_show_demo" case(16); dir = "example/fortran/animation" - case(17); dir = "example/fortran/stateful_streamplot" - case(18); dir = "example/fortran/annotation_demo" + case(17); dir = "example/fortran/annotation_demo" case default; dir = "" end select end subroutine get_example_dir @@ -63,8 +62,7 @@ pure subroutine get_example_name(index, name) case(14); name = "show_viewer_demo" case(15); name = "smart_show_demo" case(16); name = "animation" - case(17); name = "stateful_streamplot" - case(18); name = "annotation_demo" + case(17); name = "annotation_demo" case default; name = "" end select end subroutine get_example_name diff --git a/src/fortplot_doc_media.f90 b/src/fortplot_doc_media.f90 index e8053b26..69b2fc59 100644 --- a/src/fortplot_doc_media.f90 +++ b/src/fortplot_doc_media.f90 @@ -43,8 +43,6 @@ subroutine scan_directory_for_media(dir, media_files, n_media) call add_streamplot_files(dir, media_files, n_media) case('output/example/fortran/unicode_demo') call add_unicode_files(dir, media_files, n_media) - case('output/example/fortran/stateful_streamplot') - call add_stateful_streamplot_files(dir, media_files, n_media) case('output/example/fortran/annotation_demo') call add_annotation_demo_files(dir, media_files, n_media) case default @@ -175,13 +173,6 @@ subroutine add_unicode_files(dir, media_files, n_media) call add_if_exists(dir, 'math_examples.png', media_files, n_media) end subroutine add_unicode_files - subroutine add_stateful_streamplot_files(dir, media_files, n_media) - character(len=*), intent(in) :: dir - character(len=*), intent(out) :: media_files(:) - integer, intent(out) :: n_media - - call add_if_exists(dir, 'stateful_streamplot.png', media_files, n_media) - end subroutine add_stateful_streamplot_files subroutine add_annotation_demo_files(dir, media_files, n_media) character(len=*), intent(in) :: dir From 9000384e391a7563f3628d838f01d8ccf3396789 Mon Sep 17 00:00:00 2001 From: Christopher Albert Date: Tue, 26 Aug 2025 04:26:20 +0200 Subject: [PATCH 2/3] sync: GitHub issues to BACKLOG.md with prioritization --- BACKLOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/BACKLOG.md b/BACKLOG.md index 6c99b9b4..193ed388 100644 --- a/BACKLOG.md +++ b/BACKLOG.md @@ -12,6 +12,14 @@ - [x] #330: Fix - Old plot not cleared in second figure (figure() call) in contour_demo.html (COMPLETED) - [ ] #336: Fix - Streamplot and stateful streamplot example redundant +**Critical Infrastructure Issues (High Priority)** +- [ ] #361: Fix - Windows CI: test_legend_comprehensive and test_streamplot runtime failures + +**User-Facing Issues (Medium Priority)** +- [ ] #328: Fix - One legend entry too much in basic_plots.html second plot +- [ ] #327: Fix - MP4 link not showing on animation.html +- [ ] #347: Fix - Remove funny header from https://lazy-fortran.github.io/fortplot/ + **Infrastructure & Documentation Issues (Lower Priority)** - [ ] #323: Test - add edge case tests for PDF heatmap color validation - [ ] #324: Refactor - define epsilon constant for numerical comparisons From 89dc1a7a895c3cdbe9e5e98a1d496bd4f4e2c8e3 Mon Sep 17 00:00:00 2001 From: Christopher Albert Date: Tue, 26 Aug 2025 04:32:01 +0200 Subject: [PATCH 3/3] escalate: Windows CI issue #361 to DOING to break PR deadlock --- BACKLOG.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/BACKLOG.md b/BACKLOG.md index 193ed388..36322f28 100644 --- a/BACKLOG.md +++ b/BACKLOG.md @@ -12,8 +12,7 @@ - [x] #330: Fix - Old plot not cleared in second figure (figure() call) in contour_demo.html (COMPLETED) - [ ] #336: Fix - Streamplot and stateful streamplot example redundant -**Critical Infrastructure Issues (High Priority)** -- [ ] #361: Fix - Windows CI: test_legend_comprehensive and test_streamplot runtime failures +**Critical Infrastructure Issues (High Priority)** - ESCALATED TO DOING **User-Facing Issues (Medium Priority)** - [ ] #328: Fix - One legend entry too much in basic_plots.html second plot @@ -32,7 +31,10 @@ - [ ] #360: Refactor - split fortplot_raster.f90 to comply with file size limits ## DOING (Current Work) -- [ ] #336: Fix - Streamplot and stateful streamplot example redundant +- [ ] #361: Fix - Windows CI: test_legend_comprehensive and test_streamplot runtime failures + +## BLOCKED (By Windows CI) +- [ ] #336: Fix - Streamplot and stateful streamplot example redundant (PR #362 ready but blocked by Windows CI) ## BLOCKED (Infrastructure Issues)