diff --git a/BACKLOG.md b/BACKLOG.md index 6c99b9b4..36322f28 100644 --- a/BACKLOG.md +++ b/BACKLOG.md @@ -12,6 +12,13 @@ - [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)** - ESCALATED TO DOING + +**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 @@ -24,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) 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