ruviz 0.3.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ruviz-0.3.3/.clippy.toml +3 -0
- ruviz-0.3.3/.githooks/pre-commit +67 -0
- ruviz-0.3.3/.gitignore +89 -0
- ruviz-0.3.3/.oxfmtrc.json +1 -0
- ruviz-0.3.3/CHANGELOG.md +180 -0
- ruviz-0.3.3/CONTRIBUTING.md +30 -0
- ruviz-0.3.3/Cargo.lock +12766 -0
- ruviz-0.3.3/Cargo.toml +403 -0
- ruviz-0.3.3/LICENSE +50 -0
- ruviz-0.3.3/Makefile +242 -0
- ruviz-0.3.3/PKG-INFO +56 -0
- ruviz-0.3.3/README.md +538 -0
- ruviz-0.3.3/TESTING_GUIDE.md +58 -0
- ruviz-0.3.3/assets/NotoSans-Regular.ttf +0 -0
- ruviz-0.3.3/assets/readme_example.png +0 -0
- ruviz-0.3.3/bun.lock +467 -0
- ruviz-0.3.3/demo/web/index.html +276 -0
- ruviz-0.3.3/demo/web/package.json +21 -0
- ruviz-0.3.3/demo/web/playwright.config.js +37 -0
- ruviz-0.3.3/demo/web/src/main.js +529 -0
- ruviz-0.3.3/docs/ARCHITECTURE.md +300 -0
- ruviz-0.3.3/docs/BENCHMARK_RESULTS.md +167 -0
- ruviz-0.3.3/docs/MATPLOTLIB_STYLING_RESEARCH.md +357 -0
- ruviz-0.3.3/docs/OPTIMIZATION_FINDINGS.md +174 -0
- ruviz-0.3.3/docs/PERFORMANCE_GUIDE.md +493 -0
- ruviz-0.3.3/docs/PROPERTY_TEST_RESULTS.md +99 -0
- ruviz-0.3.3/docs/QUICKSTART.md +458 -0
- ruviz-0.3.3/docs/TROUBLESHOOTING.md +472 -0
- ruviz-0.3.3/docs/animation_api_improvements.md +352 -0
- ruviz-0.3.3/docs/animation_migration_guide.md +201 -0
- ruviz-0.3.3/docs/gpu_alignment_bug_fixes.md +351 -0
- ruviz-0.3.3/docs/guide/01_introduction.md +186 -0
- ruviz-0.3.3/docs/guide/02_installation.md +432 -0
- ruviz-0.3.3/docs/guide/03_first_plot.md +508 -0
- ruviz-0.3.3/docs/guide/04_plot_types.md +676 -0
- ruviz-0.3.3/docs/guide/05_styling.md +796 -0
- ruviz-0.3.3/docs/guide/06_subplots.md +698 -0
- ruviz-0.3.3/docs/guide/07_backends.md +358 -0
- ruviz-0.3.3/docs/guide/08_performance.md +189 -0
- ruviz-0.3.3/docs/guide/09_data_integration.md +735 -0
- ruviz-0.3.3/docs/guide/10_export.md +584 -0
- ruviz-0.3.3/docs/guide/11_advanced.md +608 -0
- ruviz-0.3.3/docs/guide/README.md +62 -0
- ruviz-0.3.3/docs/legend_api_design.md +200 -0
- ruviz-0.3.3/docs/migration/matplotlib.md +443 -0
- ruviz-0.3.3/docs/migration/seaborn.md +481 -0
- ruviz-0.3.3/docs/proposals/legend-redesign.md +381 -0
- ruviz-0.3.3/docs/releases/README.md +42 -0
- ruviz-0.3.3/docs/releases/v0.1.4.md +56 -0
- ruviz-0.3.3/docs/releases/v0.1.5.md +47 -0
- ruviz-0.3.3/docs/releases/v0.2.0.md +57 -0
- ruviz-0.3.3/docs/releases/v0.3.0.md +57 -0
- ruviz-0.3.3/docs/releases/v0.3.1.md +50 -0
- ruviz-0.3.3/docs/releases/v0.3.2.md +50 -0
- ruviz-0.3.3/docs/releases/v0.3.3.md +50 -0
- ruviz-0.3.3/examples/animation_basic.rs +83 -0
- ruviz-0.3.3/examples/animation_easing.rs +59 -0
- ruviz-0.3.3/examples/animation_reactive.rs +139 -0
- ruviz-0.3.3/examples/animation_simple.rs +119 -0
- ruviz-0.3.3/examples/animation_wave.rs +76 -0
- ruviz-0.3.3/examples/annotations_example.rs +58 -0
- ruviz-0.3.3/examples/axis_scales_example.rs +80 -0
- ruviz-0.3.3/examples/basic_interaction.rs +74 -0
- ruviz-0.3.3/examples/boxplot_example.rs +22 -0
- ruviz-0.3.3/examples/create_performance_plot.rs +106 -0
- ruviz-0.3.3/examples/data_brushing.rs +266 -0
- ruviz-0.3.3/examples/debug_bar_chart.rs +27 -0
- ruviz-0.3.3/examples/doc_bar_chart.rs +21 -0
- ruviz-0.3.3/examples/doc_boxplot.rs +26 -0
- ruviz-0.3.3/examples/doc_colors.rs +56 -0
- ruviz-0.3.3/examples/doc_contour.rs +62 -0
- ruviz-0.3.3/examples/doc_ecdf.rs +34 -0
- ruviz-0.3.3/examples/doc_errorbar.rs +115 -0
- ruviz-0.3.3/examples/doc_heatmap.rs +27 -0
- ruviz-0.3.3/examples/doc_histogram.rs +28 -0
- ruviz-0.3.3/examples/doc_international.rs +149 -0
- ruviz-0.3.3/examples/doc_kde.rs +44 -0
- ruviz-0.3.3/examples/doc_legend.rs +26 -0
- ruviz-0.3.3/examples/doc_legend_positions.rs +64 -0
- ruviz-0.3.3/examples/doc_line_plot.rs +21 -0
- ruviz-0.3.3/examples/doc_line_styles.rs +43 -0
- ruviz-0.3.3/examples/doc_marker_styles.rs +78 -0
- ruviz-0.3.3/examples/doc_pie.rs +35 -0
- ruviz-0.3.3/examples/doc_polar.rs +45 -0
- ruviz-0.3.3/examples/doc_radar.rs +47 -0
- ruviz-0.3.3/examples/doc_scatter_plot.rs +26 -0
- ruviz-0.3.3/examples/doc_subplots.rs +69 -0
- ruviz-0.3.3/examples/doc_themes.rs +56 -0
- ruviz-0.3.3/examples/doc_typst_text.rs +37 -0
- ruviz-0.3.3/examples/doc_violin.rs +65 -0
- ruviz-0.3.3/examples/ecosystem_data_integration_demo.rs +85 -0
- ruviz-0.3.3/examples/fixes_demo.rs +70 -0
- ruviz-0.3.3/examples/generate_animation_gallery.rs +312 -0
- ruviz-0.3.3/examples/generate_golden_images.rs +273 -0
- ruviz-0.3.3/examples/gpu_api_test.rs +68 -0
- ruviz-0.3.3/examples/gpu_benchmark.rs +69 -0
- ruviz-0.3.3/examples/gpu_debug_test.rs +116 -0
- ruviz-0.3.3/examples/gpu_integration_test.rs +188 -0
- ruviz-0.3.3/examples/gpu_memory_test.rs +117 -0
- ruviz-0.3.3/examples/gpu_performance_plot.rs +82 -0
- ruviz-0.3.3/examples/gpu_plot_example.rs +152 -0
- ruviz-0.3.3/examples/gpu_scaling_benchmark.rs +264 -0
- ruviz-0.3.3/examples/gpu_vs_cpu_benchmark.rs +332 -0
- ruviz-0.3.3/examples/heatmap_example.rs +135 -0
- ruviz-0.3.3/examples/histogram_example.rs +25 -0
- ruviz-0.3.3/examples/interactive_heatmap.rs +81 -0
- ruviz-0.3.3/examples/interactive_multi_series.rs +73 -0
- ruviz-0.3.3/examples/interactive_scatter_clusters.rs +97 -0
- ruviz-0.3.3/examples/memory_optimization_demo.rs +76 -0
- ruviz-0.3.3/examples/memory_pool_performance_test.rs +137 -0
- ruviz-0.3.3/examples/minimal_gpu_benchmark.rs +125 -0
- ruviz-0.3.3/examples/mixed_coordinate_insets.rs +119 -0
- ruviz-0.3.3/examples/output/.gitkeep +0 -0
- ruviz-0.3.3/examples/parallel_demo.rs +132 -0
- ruviz-0.3.3/examples/pdf_export_example.rs +97 -0
- ruviz-0.3.3/examples/performance/million_points.rs +121 -0
- ruviz-0.3.3/examples/performance/scaling_benchmark.rs +116 -0
- ruviz-0.3.3/examples/performance/streaming_demo.rs +114 -0
- ruviz-0.3.3/examples/performance_data_collector.rs +175 -0
- ruviz-0.3.3/examples/precise_centering_test.rs +49 -0
- ruviz-0.3.3/examples/profile_small_dataset.rs +74 -0
- ruviz-0.3.3/examples/reactive_example.rs +255 -0
- ruviz-0.3.3/examples/readme_quickstart.rs +22 -0
- ruviz-0.3.3/examples/real_time_performance.rs +170 -0
- ruviz-0.3.3/examples/scientific_showcase.rs +159 -0
- ruviz-0.3.3/examples/scientific_themes_showcase.rs +145 -0
- ruviz-0.3.3/examples/seaborn_style_example.rs +43 -0
- ruviz-0.3.3/examples/simple_scaling_test.rs +126 -0
- ruviz-0.3.3/examples/streaming_example.rs +185 -0
- ruviz-0.3.3/examples/subplot_example.rs +70 -0
- ruviz-0.3.3/examples/title_centering_test.rs +45 -0
- ruviz-0.3.3/examples/typst_check.rs +63 -0
- ruviz-0.3.3/examples/util/mod.rs +59 -0
- ruviz-0.3.3/examples/wgpu_test.rs +49 -0
- ruviz-0.3.3/gallery/README.md +219 -0
- ruviz-0.3.3/gallery/advanced/cosmic_text_rotation_demo.rs +44 -0
- ruviz-0.3.3/gallery/advanced/font_demo.rs +26 -0
- ruviz-0.3.3/gallery/advanced/test_font_alignment.rs +32 -0
- ruviz-0.3.3/gallery/advanced/test_font_families.rs +37 -0
- ruviz-0.3.3/gallery/advanced/test_plotters_style_fonts.rs +55 -0
- ruviz-0.3.3/gallery/advanced/test_text_rotation.rs +26 -0
- ruviz-0.3.3/gallery/basic/axis_legend_test.png +0 -0
- ruviz-0.3.3/gallery/basic/axis_legend_test.rs +32 -0
- ruviz-0.3.3/gallery/basic/basic_example.png +0 -0
- ruviz-0.3.3/gallery/basic/basic_example.rs +25 -0
- ruviz-0.3.3/gallery/basic/legend_handles_test.png +0 -0
- ruviz-0.3.3/gallery/basic/legend_handles_test.rs +38 -0
- ruviz-0.3.3/gallery/basic/legend_horizontal_test.png +0 -0
- ruviz-0.3.3/gallery/basic/legend_horizontal_test.rs +40 -0
- ruviz-0.3.3/gallery/basic/legend_rounded_test.png +0 -0
- ruviz-0.3.3/gallery/basic/legend_rounded_test.rs +39 -0
- ruviz-0.3.3/gallery/basic/legend_scatter_test.png +0 -0
- ruviz-0.3.3/gallery/basic/legend_scatter_test.rs +46 -0
- ruviz-0.3.3/gallery/basic/simple_visual_test.rs +40 -0
- ruviz-0.3.3/gallery/performance/memory_optimization_demo.rs +109 -0
- ruviz-0.3.3/gallery/performance/parallel_demo.rs +83 -0
- ruviz-0.3.3/gallery/performance/simd_demo.rs +124 -0
- ruviz-0.3.3/gallery/publication/legend_features_example.rs +132 -0
- ruviz-0.3.3/gallery/publication/legend_horizontal.png +0 -0
- ruviz-0.3.3/gallery/publication/legend_line_styles.png +0 -0
- ruviz-0.3.3/gallery/publication/legend_mixed.png +0 -0
- ruviz-0.3.3/gallery/publication/legend_scatter_markers.png +0 -0
- ruviz-0.3.3/gallery/publication/simple_publication_test.png +0 -0
- ruviz-0.3.3/gallery/publication/simple_publication_test.rs +37 -0
- ruviz-0.3.3/gallery/publication/simple_publication_test_theme.png +0 -0
- ruviz-0.3.3/gallery/publication/test_axis_labels.rs +29 -0
- ruviz-0.3.3/gallery/scientific/scientific_plotting.rs +191 -0
- ruviz-0.3.3/gallery/utility/generate_test_images.rs +102 -0
- ruviz-0.3.3/gallery/utility/image_gallery_generator.rs +378 -0
- ruviz-0.3.3/gallery/utility/save_image_example.rs +30 -0
- ruviz-0.3.3/gallery/utility/test_with_axes_and_grid.rs +70 -0
- ruviz-0.3.3/gallery/utility/verify_axes.rs +59 -0
- ruviz-0.3.3/package.json +36 -0
- ruviz-0.3.3/packages/ruviz-web/README.md +80 -0
- ruviz-0.3.3/packages/ruviz-web/docs/.vitepress/config.mts +38 -0
- ruviz-0.3.3/packages/ruviz-web/docs/.vitepress/theme/components/PlotGallery.vue +93 -0
- ruviz-0.3.3/packages/ruviz-web/docs/.vitepress/theme/index.ts +15 -0
- ruviz-0.3.3/packages/ruviz-web/docs/.vitepress/theme/style.css +23 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/index.md +12 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/README.md +10 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/index/README.md +176 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/index/classes/CanvasSession.md +339 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/index/classes/ObservableSeries.md +125 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/index/classes/PlotBuilder.md +709 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/index/classes/SineSignal.md +87 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/index/classes/WorkerSession.md +383 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/index/functions/createCanvasSession.md +25 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/index/functions/createObservable.md +23 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/index/functions/createPlot.md +17 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/index/functions/createPlotFromSnapshot.md +23 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/index/functions/createSineSignal.md +23 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/index/functions/createWorkerSession.md +25 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/index/functions/getRuntimeCapabilities.md +17 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/index/functions/registerFont.md +21 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/README.md +55 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/functions/clonePlotSnapshot.md +21 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/functions/cloneSourceSnapshot.md +27 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/functions/normalizeSineSignalOptions.md +21 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/functions/toNumberArray.md +21 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/BarSeriesSnapshot.md +33 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/BoxplotSeriesSnapshot.md +25 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/CanvasSessionOptions.md +45 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/ContourSeriesSnapshot.md +41 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/EcdfSeriesSnapshot.md +25 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/ErrorBarsSeriesSnapshot.md +41 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/ErrorBarsXYSeriesSnapshot.md +49 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/HeatmapSeriesSnapshot.md +41 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/HistogramSeriesSnapshot.md +25 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/KdeSeriesSnapshot.md +25 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/LineSeriesSnapshot.md +33 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/NormalizedSineSignalOptions.md +73 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/ObservableSourceSnapshot.md +25 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/PieSeriesSnapshot.md +33 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/PlotSaveOptions.md +25 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/PlotSnapshot.md +65 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/PolarLineSeriesSnapshot.md +33 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/RadarSeriesItemSnapshot.md +25 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/RadarSeriesSnapshot.md +33 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/RuntimeCapabilities.md +57 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/ScatterSeriesSnapshot.md +33 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/SignalSourceSnapshot.md +25 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/SineSignalOptions.md +65 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/StaticSourceSnapshot.md +25 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/ViolinSeriesSnapshot.md +25 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/interfaces/WorkerSessionOptions.md +69 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/type-aliases/BackendPreference.md +11 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/type-aliases/NumericArray.md +11 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/type-aliases/NumericReactiveSourceSnapshot.md +11 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/type-aliases/PlotSaveFormat.md +11 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/type-aliases/PlotSeriesSnapshot.md +11 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/type-aliases/PlotTheme.md +11 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/type-aliases/SessionMode.md +11 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/type-aliases/XSourceSnapshot.md +11 -0
- ruviz-0.3.3/packages/ruviz-web/docs/api/reference/shared/type-aliases/YSourceSnapshot.md +11 -0
- ruviz-0.3.3/packages/ruviz-web/docs/guide/gallery.md +5 -0
- ruviz-0.3.3/packages/ruviz-web/docs/guide/getting-started.md +27 -0
- ruviz-0.3.3/packages/ruviz-web/docs/guide/interactivity.md +9 -0
- ruviz-0.3.3/packages/ruviz-web/docs/guide/plot-types.md +6 -0
- ruviz-0.3.3/packages/ruviz-web/docs/index.md +21 -0
- ruviz-0.3.3/packages/ruviz-web/examples/README.md +10 -0
- ruviz-0.3.3/packages/ruviz-web/examples/bar.ts +14 -0
- ruviz-0.3.3/packages/ruviz-web/examples/boxplot.ts +13 -0
- ruviz-0.3.3/packages/ruviz-web/examples/contour.ts +14 -0
- ruviz-0.3.3/packages/ruviz-web/examples/data.ts +95 -0
- ruviz-0.3.3/packages/ruviz-web/examples/ecdf.ts +18 -0
- ruviz-0.3.3/packages/ruviz-web/examples/error-bars-xy.ts +19 -0
- ruviz-0.3.3/packages/ruviz-web/examples/error-bars.ts +19 -0
- ruviz-0.3.3/packages/ruviz-web/examples/heatmap.ts +13 -0
- ruviz-0.3.3/packages/ruviz-web/examples/histogram.ts +17 -0
- ruviz-0.3.3/packages/ruviz-web/examples/index.ts +67 -0
- ruviz-0.3.3/packages/ruviz-web/examples/kde.ts +13 -0
- ruviz-0.3.3/packages/ruviz-web/examples/line.ts +14 -0
- ruviz-0.3.3/packages/ruviz-web/examples/observable-line.ts +33 -0
- ruviz-0.3.3/packages/ruviz-web/examples/pie.ts +12 -0
- ruviz-0.3.3/packages/ruviz-web/examples/polar-line.ts +14 -0
- ruviz-0.3.3/packages/ruviz-web/examples/radar.ts +13 -0
- ruviz-0.3.3/packages/ruviz-web/examples/scatter.ts +19 -0
- ruviz-0.3.3/packages/ruviz-web/examples/signal-playback.ts +42 -0
- ruviz-0.3.3/packages/ruviz-web/examples/types.ts +14 -0
- ruviz-0.3.3/packages/ruviz-web/examples/violin.ts +13 -0
- ruviz-0.3.3/packages/ruviz-web/examples/worker-session.ts +25 -0
- ruviz-0.3.3/packages/ruviz-web/package.json +69 -0
- ruviz-0.3.3/packages/ruviz-web/src/index.ts +1979 -0
- ruviz-0.3.3/packages/ruviz-web/src/plot-runtime.ts +249 -0
- ruviz-0.3.3/packages/ruviz-web/src/session-worker.ts +182 -0
- ruviz-0.3.3/packages/ruviz-web/src/shared.ts +331 -0
- ruviz-0.3.3/packages/ruviz-web/tsconfig.json +23 -0
- ruviz-0.3.3/packages/ruviz-web/typedoc.json +24 -0
- ruviz-0.3.3/pyproject.toml +40 -0
- ruviz-0.3.3/python/Cargo.toml +21 -0
- ruviz-0.3.3/python/README.md +41 -0
- ruviz-0.3.3/python/docs/api.md +3 -0
- ruviz-0.3.3/python/docs/assets/gallery/.gitkeep +1 -0
- ruviz-0.3.3/python/docs/assets/gallery/bar.png +0 -0
- ruviz-0.3.3/python/docs/assets/gallery/boxplot.png +0 -0
- ruviz-0.3.3/python/docs/assets/gallery/contour.png +0 -0
- ruviz-0.3.3/python/docs/assets/gallery/ecdf.png +0 -0
- ruviz-0.3.3/python/docs/assets/gallery/error-bars-xy.png +0 -0
- ruviz-0.3.3/python/docs/assets/gallery/error-bars.png +0 -0
- ruviz-0.3.3/python/docs/assets/gallery/heatmap.png +0 -0
- ruviz-0.3.3/python/docs/assets/gallery/histogram.png +0 -0
- ruviz-0.3.3/python/docs/assets/gallery/kde.png +0 -0
- ruviz-0.3.3/python/docs/assets/gallery/line.png +0 -0
- ruviz-0.3.3/python/docs/assets/gallery/pie.png +0 -0
- ruviz-0.3.3/python/docs/assets/gallery/polar-line.png +0 -0
- ruviz-0.3.3/python/docs/assets/gallery/radar.png +0 -0
- ruviz-0.3.3/python/docs/assets/gallery/scatter.png +0 -0
- ruviz-0.3.3/python/docs/assets/gallery/violin.png +0 -0
- ruviz-0.3.3/python/docs/gallery.md +630 -0
- ruviz-0.3.3/python/docs/getting-started.md +45 -0
- ruviz-0.3.3/python/docs/index.md +38 -0
- ruviz-0.3.3/python/docs/interactive.md +35 -0
- ruviz-0.3.3/python/docs/stylesheets/extra.css +10 -0
- ruviz-0.3.3/python/examples/README.md +18 -0
- ruviz-0.3.3/python/examples/_shared.py +111 -0
- ruviz-0.3.3/python/examples/bar.py +19 -0
- ruviz-0.3.3/python/examples/boxplot.py +18 -0
- ruviz-0.3.3/python/examples/console_interactive.py +25 -0
- ruviz-0.3.3/python/examples/contour.py +19 -0
- ruviz-0.3.3/python/examples/dataframe_line.py +26 -0
- ruviz-0.3.3/python/examples/ecdf.py +18 -0
- ruviz-0.3.3/python/examples/error_bars.py +24 -0
- ruviz-0.3.3/python/examples/error_bars_xy.py +24 -0
- ruviz-0.3.3/python/examples/heatmap.py +18 -0
- ruviz-0.3.3/python/examples/histogram.py +18 -0
- ruviz-0.3.3/python/examples/kde.py +18 -0
- ruviz-0.3.3/python/examples/line.py +24 -0
- ruviz-0.3.3/python/examples/notebook_export.py +31 -0
- ruviz-0.3.3/python/examples/notebook_observable.py +30 -0
- ruviz-0.3.3/python/examples/output/.gitkeep +1 -0
- ruviz-0.3.3/python/examples/pie.py +20 -0
- ruviz-0.3.3/python/examples/polar_line.py +19 -0
- ruviz-0.3.3/python/examples/radar.py +19 -0
- ruviz-0.3.3/python/examples/scatter.py +24 -0
- ruviz-0.3.3/python/examples/violin.py +18 -0
- ruviz-0.3.3/python/mkdocs.yml +34 -0
- ruviz-0.3.3/python/ruviz/__init__.py +6 -0
- ruviz-0.3.3/python/ruviz/_api.py +424 -0
- ruviz-0.3.3/python/ruviz/_widget.py +25 -0
- ruviz-0.3.3/python/ruviz/web/dist/index.d.ts +226 -0
- ruviz-0.3.3/python/ruviz/web/dist/index.js +1369 -0
- ruviz-0.3.3/python/ruviz/web/dist/index.js.map +1 -0
- ruviz-0.3.3/python/ruviz/web/dist/plot-runtime.d.ts +8 -0
- ruviz-0.3.3/python/ruviz/web/dist/plot-runtime.js +184 -0
- ruviz-0.3.3/python/ruviz/web/dist/plot-runtime.js.map +1 -0
- ruviz-0.3.3/python/ruviz/web/dist/session-worker.d.ts +1 -0
- ruviz-0.3.3/python/ruviz/web/dist/session-worker.js +133 -0
- ruviz-0.3.3/python/ruviz/web/dist/session-worker.js.map +1 -0
- ruviz-0.3.3/python/ruviz/web/dist/shared.d.ts +153 -0
- ruviz-0.3.3/python/ruviz/web/dist/shared.js +130 -0
- ruviz-0.3.3/python/ruviz/web/dist/shared.js.map +1 -0
- ruviz-0.3.3/python/ruviz/widget.js +73 -0
- ruviz-0.3.3/python/scripts/generate_gallery.py +88 -0
- ruviz-0.3.3/python/src/lib.rs +689 -0
- ruviz-0.3.3/python/tests/test_api.py +44 -0
- ruviz-0.3.3/python/tests/test_examples.py +31 -0
- ruviz-0.3.3/python/uv.lock +1821 -0
- ruviz-0.3.3/rust-toolchain.toml +3 -0
- ruviz-0.3.3/rustfmt.toml +10 -0
- ruviz-0.3.3/scripts/check-task-prerequisites.sh +62 -0
- ruviz-0.3.3/scripts/clean-outputs.sh +38 -0
- ruviz-0.3.3/scripts/common.sh +77 -0
- ruviz-0.3.3/scripts/create-new-feature.sh +96 -0
- ruviz-0.3.3/scripts/generate-doc-images.sh +77 -0
- ruviz-0.3.3/scripts/generate_gallery.rs +303 -0
- ruviz-0.3.3/scripts/generate_reference.py +424 -0
- ruviz-0.3.3/scripts/get-feature-paths.sh +23 -0
- ruviz-0.3.3/scripts/setup-plan.sh +44 -0
- ruviz-0.3.3/scripts/update-agent-context.sh +234 -0
- ruviz-0.3.3/src/animation/builder.rs +534 -0
- ruviz-0.3.3/src/animation/encoders/gif.rs +307 -0
- ruviz-0.3.3/src/animation/encoders/mod.rs +221 -0
- ruviz-0.3.3/src/animation/interpolation.rs +456 -0
- ruviz-0.3.3/src/animation/macros.rs +148 -0
- ruviz-0.3.3/src/animation/mod.rs +122 -0
- ruviz-0.3.3/src/animation/observable_ext.rs +515 -0
- ruviz-0.3.3/src/animation/recorder.rs +1249 -0
- ruviz-0.3.3/src/animation/stream.rs +407 -0
- ruviz-0.3.3/src/animation/tick.rs +498 -0
- ruviz-0.3.3/src/axes/inset.rs +255 -0
- ruviz-0.3.3/src/axes/mod.rs +20 -0
- ruviz-0.3.3/src/axes/polar.rs +284 -0
- ruviz-0.3.3/src/axes/scale.rs +364 -0
- ruviz-0.3.3/src/axes/secondary.rs +279 -0
- ruviz-0.3.3/src/axes/tick_layout.rs +316 -0
- ruviz-0.3.3/src/axes/ticks.rs +389 -0
- ruviz-0.3.3/src/core/annotation.rs +774 -0
- ruviz-0.3.3/src/core/config.rs +1173 -0
- ruviz-0.3.3/src/core/constants.rs +216 -0
- ruviz-0.3.3/src/core/error.rs +629 -0
- ruviz-0.3.3/src/core/grid_style.rs +254 -0
- ruviz-0.3.3/src/core/layout.rs +819 -0
- ruviz-0.3.3/src/core/legend.rs +1032 -0
- ruviz-0.3.3/src/core/mod.rs +62 -0
- ruviz-0.3.3/src/core/plot/annotations.rs +686 -0
- ruviz-0.3.3/src/core/plot/builder/tests.rs +165 -0
- ruviz-0.3.3/src/core/plot/builder.rs +2364 -0
- ruviz-0.3.3/src/core/plot/config.rs +114 -0
- ruviz-0.3.3/src/core/plot/configuration.rs +402 -0
- ruviz-0.3.3/src/core/plot/construction.rs +1113 -0
- ruviz-0.3.3/src/core/plot/data.rs +549 -0
- ruviz-0.3.3/src/core/plot/image.rs +42 -0
- ruviz-0.3.3/src/core/plot/interactive_session/helpers.rs +718 -0
- ruviz-0.3.3/src/core/plot/interactive_session/tests.rs +1210 -0
- ruviz-0.3.3/src/core/plot/interactive_session.rs +2069 -0
- ruviz-0.3.3/src/core/plot/layout_manager.rs +243 -0
- ruviz-0.3.3/src/core/plot/mixed_render.rs +986 -0
- ruviz-0.3.3/src/core/plot/mod.rs +428 -0
- ruviz-0.3.3/src/core/plot/parallel_render.rs +1556 -0
- ruviz-0.3.3/src/core/plot/prepared.rs +319 -0
- ruviz-0.3.3/src/core/plot/render.rs +2331 -0
- ruviz-0.3.3/src/core/plot/render_pipeline.rs +176 -0
- ruviz-0.3.3/src/core/plot/series_api.rs +1222 -0
- ruviz-0.3.3/src/core/plot/series_builders.rs +1213 -0
- ruviz-0.3.3/src/core/plot/series_internal.rs +1550 -0
- ruviz-0.3.3/src/core/plot/series_manager.rs +188 -0
- ruviz-0.3.3/src/core/plot/tests.rs +2458 -0
- ruviz-0.3.3/src/core/plot/types.rs +1251 -0
- ruviz-0.3.3/src/core/position.rs +261 -0
- ruviz-0.3.3/src/core/style.rs +477 -0
- ruviz-0.3.3/src/core/style_utils.rs +411 -0
- ruviz-0.3.3/src/core/subplot.rs +691 -0
- ruviz-0.3.3/src/core/tick_formatter.rs +469 -0
- ruviz-0.3.3/src/core/transform.rs +424 -0
- ruviz-0.3.3/src/core/types.rs +166 -0
- ruviz-0.3.3/src/core/units.rs +484 -0
- ruviz-0.3.3/src/core/validation_test.rs +236 -0
- ruviz-0.3.3/src/data/datashader_simple.rs +529 -0
- ruviz-0.3.3/src/data/elements.rs +574 -0
- ruviz-0.3.3/src/data/impls.rs +92 -0
- ruviz-0.3.3/src/data/memory.rs +823 -0
- ruviz-0.3.3/src/data/memory_pool.rs +425 -0
- ruviz-0.3.3/src/data/mod.rs +43 -0
- ruviz-0.3.3/src/data/observable/tests.rs +936 -0
- ruviz-0.3.3/src/data/observable.rs +1623 -0
- ruviz-0.3.3/src/data/platform/freebsd.rs +347 -0
- ruviz-0.3.3/src/data/platform/linux.rs +324 -0
- ruviz-0.3.3/src/data/platform/macos.rs +498 -0
- ruviz-0.3.3/src/data/platform/mod.rs +282 -0
- ruviz-0.3.3/src/data/platform/windows.rs +491 -0
- ruviz-0.3.3/src/data/pooled_vec.rs +506 -0
- ruviz-0.3.3/src/data/signal.rs +407 -0
- ruviz-0.3.3/src/data/traits.rs +852 -0
- ruviz-0.3.3/src/data/transform.rs +1 -0
- ruviz-0.3.3/src/data/validation.rs +134 -0
- ruviz-0.3.3/src/data/zero_copy.rs +367 -0
- ruviz-0.3.3/src/dejavu-sans.ttf +2132 -0
- ruviz-0.3.3/src/export/mod.rs +373 -0
- ruviz-0.3.3/src/export/pdf.rs +373 -0
- ruviz-0.3.3/src/export/svg/tests.rs +409 -0
- ruviz-0.3.3/src/export/svg.rs +1426 -0
- ruviz-0.3.3/src/export/svg_to_pdf.rs +101 -0
- ruviz-0.3.3/src/interactive/event.rs +476 -0
- ruviz-0.3.3/src/interactive/mod.rs +22 -0
- ruviz-0.3.3/src/interactive/renderer.rs +1207 -0
- ruviz-0.3.3/src/interactive/state.rs +605 -0
- ruviz-0.3.3/src/interactive/test_utils.rs +379 -0
- ruviz-0.3.3/src/interactive/window/tests.rs +570 -0
- ruviz-0.3.3/src/interactive/window.rs +2130 -0
- ruviz-0.3.3/src/layout/mod.rs +4 -0
- ruviz-0.3.3/src/lib.rs +975 -0
- ruviz-0.3.3/src/plots/basic/bar.rs +209 -0
- ruviz-0.3.3/src/plots/basic/line.rs +196 -0
- ruviz-0.3.3/src/plots/basic/mod.rs +37 -0
- ruviz-0.3.3/src/plots/basic/scatter.rs +186 -0
- ruviz-0.3.3/src/plots/boxplot.rs +970 -0
- ruviz-0.3.3/src/plots/categorical/bar.rs +782 -0
- ruviz-0.3.3/src/plots/categorical/mod.rs +26 -0
- ruviz-0.3.3/src/plots/categorical/strip.rs +473 -0
- ruviz-0.3.3/src/plots/categorical/swarm.rs +485 -0
- ruviz-0.3.3/src/plots/composite/jointplot.rs +219 -0
- ruviz-0.3.3/src/plots/composite/mod.rs +18 -0
- ruviz-0.3.3/src/plots/composite/pairplot.rs +261 -0
- ruviz-0.3.3/src/plots/composition/mod.rs +16 -0
- ruviz-0.3.3/src/plots/composition/pie.rs +624 -0
- ruviz-0.3.3/src/plots/continuous/area.rs +784 -0
- ruviz-0.3.3/src/plots/continuous/contour.rs +886 -0
- ruviz-0.3.3/src/plots/continuous/hexbin.rs +580 -0
- ruviz-0.3.3/src/plots/continuous/mod.rs +31 -0
- ruviz-0.3.3/src/plots/discrete/mod.rs +23 -0
- ruviz-0.3.3/src/plots/discrete/stem.rs +495 -0
- ruviz-0.3.3/src/plots/discrete/step.rs +471 -0
- ruviz-0.3.3/src/plots/distribution/boxen.rs +507 -0
- ruviz-0.3.3/src/plots/distribution/ecdf.rs +493 -0
- ruviz-0.3.3/src/plots/distribution/kde.rs +691 -0
- ruviz-0.3.3/src/plots/distribution/mod.rs +42 -0
- ruviz-0.3.3/src/plots/distribution/rug.rs +354 -0
- ruviz-0.3.3/src/plots/distribution/violin.rs +792 -0
- ruviz-0.3.3/src/plots/error/errorbar.rs +678 -0
- ruviz-0.3.3/src/plots/error/mod.rs +19 -0
- ruviz-0.3.3/src/plots/flow/mod.rs +5 -0
- ruviz-0.3.3/src/plots/heatmap.rs +565 -0
- ruviz-0.3.3/src/plots/hierarchical/dendrogram.rs +305 -0
- ruviz-0.3.3/src/plots/hierarchical/mod.rs +12 -0
- ruviz-0.3.3/src/plots/histogram.rs +629 -0
- ruviz-0.3.3/src/plots/mod.rs +82 -0
- ruviz-0.3.3/src/plots/polar/mod.rs +48 -0
- ruviz-0.3.3/src/plots/polar/polar_plot.rs +599 -0
- ruviz-0.3.3/src/plots/polar/radar.rs +798 -0
- ruviz-0.3.3/src/plots/regression/mod.rs +12 -0
- ruviz-0.3.3/src/plots/regression/regplot.rs +370 -0
- ruviz-0.3.3/src/plots/statistics.rs +94 -0
- ruviz-0.3.3/src/plots/three_d/mod.rs +5 -0
- ruviz-0.3.3/src/plots/traits.rs +568 -0
- ruviz-0.3.3/src/plots/vector/mod.rs +11 -0
- ruviz-0.3.3/src/plots/vector/quiver.rs +507 -0
- ruviz-0.3.3/src/render/backend.rs +7 -0
- ruviz-0.3.3/src/render/color.rs +1074 -0
- ruviz-0.3.3/src/render/cosmic_text_renderer.rs +181 -0
- ruviz-0.3.3/src/render/gpu/buffer.rs +502 -0
- ruviz-0.3.3/src/render/gpu/compute.rs +383 -0
- ruviz-0.3.3/src/render/gpu/device.rs +413 -0
- ruviz-0.3.3/src/render/gpu/memory.rs +571 -0
- ruviz-0.3.3/src/render/gpu/mod.rs +533 -0
- ruviz-0.3.3/src/render/gpu/pipeline.rs +465 -0
- ruviz-0.3.3/src/render/gpu/renderer.rs +368 -0
- ruviz-0.3.3/src/render/gpu/shaders/aggregate.wgsl +60 -0
- ruviz-0.3.3/src/render/gpu/shaders/transform.wgsl +46 -0
- ruviz-0.3.3/src/render/mod.rs +238 -0
- ruviz-0.3.3/src/render/parallel.rs +719 -0
- ruviz-0.3.3/src/render/pooled.rs +502 -0
- ruviz-0.3.3/src/render/primitives/arc.rs +303 -0
- ruviz-0.3.3/src/render/primitives/arrow.rs +263 -0
- ruviz-0.3.3/src/render/primitives/mod.rs +14 -0
- ruviz-0.3.3/src/render/primitives/polygon.rs +257 -0
- ruviz-0.3.3/src/render/simd.rs +740 -0
- ruviz-0.3.3/src/render/skia/annotations.rs +541 -0
- ruviz-0.3.3/src/render/skia/primitives.rs +926 -0
- ruviz-0.3.3/src/render/skia/tests.rs +321 -0
- ruviz-0.3.3/src/render/skia/utils.rs +355 -0
- ruviz-0.3.3/src/render/skia.rs +2297 -0
- ruviz-0.3.3/src/render/style.rs +396 -0
- ruviz-0.3.3/src/render/text.rs +999 -0
- ruviz-0.3.3/src/render/text_anchor.rs +62 -0
- ruviz-0.3.3/src/render/theme.rs +839 -0
- ruviz-0.3.3/src/render/typst_text.rs +774 -0
- ruviz-0.3.3/src/simple.rs +210 -0
- ruviz-0.3.3/src/stats/beeswarm.rs +200 -0
- ruviz-0.3.3/src/stats/clustering.rs +273 -0
- ruviz-0.3.3/src/stats/contour.rs +255 -0
- ruviz-0.3.3/src/stats/kde.rs +203 -0
- ruviz-0.3.3/src/stats/mod.rs +23 -0
- ruviz-0.3.3/src/stats/quantile.rs +178 -0
- ruviz-0.3.3/src/stats/regression.rs +297 -0
- ruviz-0.3.3/src/style/mod.rs +126 -0
- ruviz-0.3.3/src/text/mod.rs +4 -0
ruviz-0.3.3/.clippy.toml
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Pre-commit hook for ruviz
|
|
3
|
+
# Runs Rust and JS/TS checks before allowing commits
|
|
4
|
+
#
|
|
5
|
+
# Setup: make setup-hooks
|
|
6
|
+
|
|
7
|
+
set -e
|
|
8
|
+
|
|
9
|
+
echo "Running pre-commit checks..."
|
|
10
|
+
|
|
11
|
+
# Check formatting
|
|
12
|
+
echo "Checking formatting with cargo fmt..."
|
|
13
|
+
if ! cargo fmt --all -- --check; then
|
|
14
|
+
echo ""
|
|
15
|
+
echo "❌ Formatting check failed!"
|
|
16
|
+
echo "Run 'cargo fmt' to fix formatting issues."
|
|
17
|
+
exit 1
|
|
18
|
+
fi
|
|
19
|
+
echo "✓ Formatting OK"
|
|
20
|
+
|
|
21
|
+
# Run clippy with strict warnings on library code
|
|
22
|
+
echo "Running clippy..."
|
|
23
|
+
if ! cargo clippy --all-features -- -D warnings 2>/dev/null; then
|
|
24
|
+
echo ""
|
|
25
|
+
echo "❌ Clippy check failed!"
|
|
26
|
+
echo "Fix the warnings above before committing."
|
|
27
|
+
exit 1
|
|
28
|
+
fi
|
|
29
|
+
echo "✓ Clippy OK"
|
|
30
|
+
|
|
31
|
+
staged_web_files=()
|
|
32
|
+
while IFS= read -r file; do
|
|
33
|
+
staged_web_files+=("$file")
|
|
34
|
+
done < <(
|
|
35
|
+
git diff --cached --name-only --diff-filter=ACMR | grep -E \
|
|
36
|
+
'^(packages/ruviz-web/src/.*\.(js|ts)|demo/web/src/.*\.(js|ts)|demo/web/tests/.*\.(js|ts)|demo/web/playwright\.config\.js)$' || true
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
if [ ${#staged_web_files[@]} -gt 0 ]; then
|
|
40
|
+
if ! command -v bun >/dev/null 2>&1; then
|
|
41
|
+
echo ""
|
|
42
|
+
echo "❌ Bun is required for JS/TS pre-commit checks."
|
|
43
|
+
echo "Install Bun and run 'bun install' before committing."
|
|
44
|
+
exit 1
|
|
45
|
+
fi
|
|
46
|
+
|
|
47
|
+
echo "Checking JS/TS formatting with oxfmt..."
|
|
48
|
+
if ! bunx oxfmt --check "${staged_web_files[@]}"; then
|
|
49
|
+
echo ""
|
|
50
|
+
echo "❌ JS/TS formatting check failed!"
|
|
51
|
+
echo "Run 'bun run format:web:write' to fix formatting issues."
|
|
52
|
+
exit 1
|
|
53
|
+
fi
|
|
54
|
+
echo "✓ oxfmt OK"
|
|
55
|
+
|
|
56
|
+
echo "Running JS/TS lint checks with oxlint..."
|
|
57
|
+
if ! bunx oxlint --deny-warnings "${staged_web_files[@]}"; then
|
|
58
|
+
echo ""
|
|
59
|
+
echo "❌ JS/TS lint check failed!"
|
|
60
|
+
echo "Run 'bun run lint:web' to inspect the reported issues."
|
|
61
|
+
exit 1
|
|
62
|
+
fi
|
|
63
|
+
echo "✓ oxlint OK"
|
|
64
|
+
fi
|
|
65
|
+
|
|
66
|
+
echo ""
|
|
67
|
+
echo "✓ All pre-commit checks passed!"
|
ruviz-0.3.3/.gitignore
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Rust
|
|
2
|
+
target/
|
|
3
|
+
Cargo.lock
|
|
4
|
+
|
|
5
|
+
# IDE
|
|
6
|
+
.vscode/
|
|
7
|
+
.idea/
|
|
8
|
+
*.swp
|
|
9
|
+
*.swo
|
|
10
|
+
|
|
11
|
+
# OS
|
|
12
|
+
.DS_Store
|
|
13
|
+
Thumbs.db
|
|
14
|
+
|
|
15
|
+
# Test outputs
|
|
16
|
+
test_output/*
|
|
17
|
+
export_test_output/*
|
|
18
|
+
tests/output/*.png
|
|
19
|
+
tests/output/*.pdf
|
|
20
|
+
tests/output/*.svg
|
|
21
|
+
tests/output/**/*.png
|
|
22
|
+
tests/output/**/*.pdf
|
|
23
|
+
tests/output/**/*.svg
|
|
24
|
+
!tests/output/.gitkeep
|
|
25
|
+
|
|
26
|
+
# Example outputs
|
|
27
|
+
examples/output/*.png
|
|
28
|
+
examples/output/*.pdf
|
|
29
|
+
examples/output/*.svg
|
|
30
|
+
examples/output/**/*.png
|
|
31
|
+
examples/output/**/*.pdf
|
|
32
|
+
examples/output/**/*.svg
|
|
33
|
+
examples/output/performance/*.txt
|
|
34
|
+
examples/output/performance/*.csv
|
|
35
|
+
!examples/output/.gitkeep
|
|
36
|
+
|
|
37
|
+
# Scattered outputs in root (legacy - to be removed)
|
|
38
|
+
/*.png
|
|
39
|
+
/*.pdf
|
|
40
|
+
/*.svg
|
|
41
|
+
/performance_data.csv
|
|
42
|
+
|
|
43
|
+
# Temporary files
|
|
44
|
+
*.tmp
|
|
45
|
+
*.temp
|
|
46
|
+
*.rej
|
|
47
|
+
*.orig
|
|
48
|
+
|
|
49
|
+
# Web demo outputs
|
|
50
|
+
node_modules/
|
|
51
|
+
demo/web/node_modules/
|
|
52
|
+
demo/web/pkg/
|
|
53
|
+
demo/web/dist/
|
|
54
|
+
demo/web/playwright-report/
|
|
55
|
+
demo/web/test-results/
|
|
56
|
+
crates/ruviz-web/pkg/
|
|
57
|
+
packages/ruviz-web/node_modules/
|
|
58
|
+
packages/ruviz-web/dist/
|
|
59
|
+
packages/ruviz-web/generated/
|
|
60
|
+
packages/ruviz-web/docs/.vitepress/cache/
|
|
61
|
+
packages/ruviz-web/docs/.vitepress/dist/
|
|
62
|
+
python/.venv/
|
|
63
|
+
python/.pytest_cache/
|
|
64
|
+
python/.ruff_cache/
|
|
65
|
+
python/site/
|
|
66
|
+
python/**/__pycache__/
|
|
67
|
+
python/**/*.pyc
|
|
68
|
+
python/**/*.pyo
|
|
69
|
+
python/python/ruviz/_native*.so
|
|
70
|
+
python/python/ruviz/*.dSYM/
|
|
71
|
+
python/examples/output/*.png
|
|
72
|
+
python/examples/output/*.pdf
|
|
73
|
+
python/examples/output/*.svg
|
|
74
|
+
!python/examples/output/.gitkeep
|
|
75
|
+
|
|
76
|
+
# AI/Assistant artifacts
|
|
77
|
+
.serena/
|
|
78
|
+
.claude/
|
|
79
|
+
.codex/
|
|
80
|
+
openspec/
|
|
81
|
+
memory/
|
|
82
|
+
plans/
|
|
83
|
+
claudedocs/
|
|
84
|
+
AGENTS.md
|
|
85
|
+
CLAUDE.md
|
|
86
|
+
export_output/
|
|
87
|
+
.playwright-mcp
|
|
88
|
+
.playwright-mcp/
|
|
89
|
+
review/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
ruviz-0.3.3/CHANGELOG.md
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
- _None yet._
|
|
8
|
+
|
|
9
|
+
## [0.3.3] - 2026-04-01
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Stopped publishing the plain `linux_x86_64` Python wheel to PyPI, since PyPI rejects that host-native Linux platform tag for public uploads.
|
|
14
|
+
- Kept the Python release path on PyPI by publishing the source distribution plus macOS Intel, macOS Apple Silicon, and Windows wheels while Linux falls back to source installs for now.
|
|
15
|
+
|
|
16
|
+
## [0.3.2] - 2026-04-01
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- Updated the Python release packaging lane to use `maturin` `1.12.6`, fixing the duplicate-README source distribution failure seen in the `0.3.1` CI/CD release.
|
|
21
|
+
- Switched the macOS Intel Python wheel lane to the supported `macos-15-intel` GitHub-hosted runner so the unified release workflow can produce Intel macOS wheels again.
|
|
22
|
+
|
|
23
|
+
## [0.3.1] - 2026-04-01
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- Added the first tag-driven PyPI publishing path for the `ruviz` Python package, including trusted publishing from GitHub Actions and multi-platform wheel builds.
|
|
28
|
+
- Added dedicated Python CI coverage so `uv sync`, the native extension tests, package tests, and Ruff linting run on every PR and release tag.
|
|
29
|
+
- Added published Python examples, docs, and notebook widget support alongside the browser runtime bridge bundled into the Python package.
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- Aligned the unified release workflow across crates.io, npm, and PyPI with shared version validation and release-note handling.
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
|
|
37
|
+
- Fixed mixed named and unnamed radar-series handling in the browser/web bridge so partial labels no longer fail render or mount.
|
|
38
|
+
- Fixed Python observable listener cleanup so discarded plots do not stay strongly referenced by long-lived observables.
|
|
39
|
+
|
|
40
|
+
## [0.3.0] - 2026-04-01
|
|
41
|
+
|
|
42
|
+
### Breaking Changes
|
|
43
|
+
|
|
44
|
+
- Raised the repository MSRV to Rust `1.92`. Builds on older toolchains now fail earlier instead of drifting behind CI and release validation.
|
|
45
|
+
|
|
46
|
+
### Added
|
|
47
|
+
|
|
48
|
+
- Added Linux and Windows desktop bootstrap support for `ruviz-gpui` examples and integrations, alongside the existing macOS path.
|
|
49
|
+
- Added explicit `ruviz-gpui` example compilation checks to CI and release validation so desktop integration regressions surface before publishing.
|
|
50
|
+
|
|
51
|
+
### Changed
|
|
52
|
+
|
|
53
|
+
- Switched the workspace GPUI patching flow to an upstream `zed-industries/zed` revision while keeping the required macOS right-drag fix pinned consistently across the workspace.
|
|
54
|
+
- Split oversized plotting, rendering, and observable modules into focused internal submodules while preserving the public module paths and re-exports.
|
|
55
|
+
- Defaulted contributor toolchains to the latest stable Rust via `rust-toolchain.toml`, while retaining a dedicated CI lane that enforces the `1.92` MSRV floor.
|
|
56
|
+
|
|
57
|
+
### Fixed
|
|
58
|
+
|
|
59
|
+
- Made GPUI examples fail cleanly in headless desktop environments, with session-specific hints for Linux (`DISPLAY` / `WAYLAND_DISPLAY`) and Windows desktop sessions.
|
|
60
|
+
- Refreshed the committed README quickstart image so the top-level documentation matches current rendering output again.
|
|
61
|
+
|
|
62
|
+
## [0.2.0] - 2026-03-31
|
|
63
|
+
|
|
64
|
+
### Breaking Changes
|
|
65
|
+
|
|
66
|
+
- Typst selection is now compile-time gated behind `typst-math`. `Plot::typst(true)`, builder forwarding to `.typst(true)`, and `TextEngineMode::Typst` are unavailable unless the feature is enabled. If your crate makes Typst optional, guard those calls with `#[cfg(feature = "typst-math")]` instead of expecting a runtime `FeatureNotEnabled` error. Without the feature, `.typst(true)` now fails with a compile error such as `no method named 'typst' found`.
|
|
67
|
+
|
|
68
|
+
### Added
|
|
69
|
+
|
|
70
|
+
- Added experimental browser and `wasm32` support via the `ruviz-web` crate and the public npm `ruviz` SDK.
|
|
71
|
+
- Added mixed-coordinate inset rendering so Cartesian plots can embed polar, pie, and radar series with configurable inset layout.
|
|
72
|
+
- Added builder chaining parity for common continuation flows and styled annotations, removing explicit `end_series()` workarounds in the supported cases.
|
|
73
|
+
|
|
74
|
+
### Changed
|
|
75
|
+
|
|
76
|
+
- Unified browser package naming on `ruviz` and made the JS workspace Bun-first for build, lint, and packaging flows.
|
|
77
|
+
- Aligned raster and SVG mixed-inset rendering behavior, including clipping, DPI-scaled strokes, and auto-placement spacing.
|
|
78
|
+
- Restored and committed golden-image visual fixtures so release validation has stable baseline artifacts again.
|
|
79
|
+
|
|
80
|
+
### Fixed
|
|
81
|
+
|
|
82
|
+
- Stabilized interactive zoom/pan, wheel direction, context menu, and save/copy shortcuts across the interactive and GPUI paths.
|
|
83
|
+
- Fixed ndarray view recursion and several export-path DPI, validation, and overwrite edge cases in PNG/SVG rendering.
|
|
84
|
+
- Fixed browser session timing and destroy races, and kept wasm/browser builds continuously checked in CI.
|
|
85
|
+
|
|
86
|
+
## [0.1.5] - 2026-03-23
|
|
87
|
+
|
|
88
|
+
### Breaking Changes
|
|
89
|
+
|
|
90
|
+
- Default tick marks now render on all four sides of the plot frame instead of only the bottom and left axes. To preserve the previous look, call `.ticks_bottom_left()`.
|
|
91
|
+
|
|
92
|
+
### Added
|
|
93
|
+
|
|
94
|
+
- Added `ruviz-gpui`, a GPUI component adapter crate for interactive and reactive plotting integrations.
|
|
95
|
+
- Added GPUI interactive session support and reactive plotting hooks for embedded and streaming use cases.
|
|
96
|
+
|
|
97
|
+
### Changed
|
|
98
|
+
|
|
99
|
+
- Preserved the public `SubscriberCallback` API while moving runtime subscription dispatch to internal shared callbacks.
|
|
100
|
+
- Raster DPI now changes output density without intentionally enlarging fonts, line widths, marker sizes, or layout spacing. If you tuned visuals around the old DPI-coupled output, re-check explicit `.line_width(...)`, `.marker_size(...)`, and font-size settings.
|
|
101
|
+
|
|
102
|
+
### Fixed
|
|
103
|
+
|
|
104
|
+
- Fixed GPUI reactive rendering issues around interactive invalidation, streaming redraws, overlay refresh, and source setter updates.
|
|
105
|
+
- Fixed manual axis-limit handling in the GPUI/reactive plotting path.
|
|
106
|
+
- Eagerly release `lift2` cross-source subscriptions when either source is dropped.
|
|
107
|
+
- Prevent `lift2` source-drop cleanup hooks from accumulating on long-lived source observables.
|
|
108
|
+
- Validate floating-point DPI values directly before rendering, including negative and fractional out-of-range inputs.
|
|
109
|
+
- Keep `set_output_pixels` geometry consistent with the actual configured DPI, even on invalid pre-validation states.
|
|
110
|
+
- Retry atomic temp-file creation on stale collisions and document why stale-temp cleanup is safe.
|
|
111
|
+
- Reuse the same per-series validation for saved snapshots so reactive saves keep NaN and error-bar checks aligned with render validation.
|
|
112
|
+
- Validate rendered reactive snapshots after capture so render, SVG export, and external renderer paths stop re-reading live series for validation.
|
|
113
|
+
- Preserve existing Windows export targets on overwrite failures by using native replace semantics and keeping the temporary file for recovery.
|
|
114
|
+
- Evict stale Typst cache entries when a replacement grows beyond the cache byte limit, including oversized render results that skip recaching.
|
|
115
|
+
- Restore snapshot-based bounds calculation for heatmap, density, polar, radar, contour, and other non-Cartesian series.
|
|
116
|
+
- Restore series validation before DataShader and parallel render fast paths, and preserve POSIX symlink destinations during atomic export overwrites.
|
|
117
|
+
- Make DataShader renders consume the same validated snapshot as the main render path, and keep invalid zero-DPI pixel sizing from surfacing misleading dimension errors.
|
|
118
|
+
- Tighten DataShader bounds handling for the reactive/interactive rendering path.
|
|
119
|
+
- Apply tick-side and tick-direction settings consistently in `render()`-based outputs, keep SVG frame strokes DPI-aware when ticks are disabled, and preserve exact framebuffer sizes on fractional HiDPI interactive surfaces.
|
|
120
|
+
|
|
121
|
+
## [0.1.4] - 2026-02-11
|
|
122
|
+
|
|
123
|
+
### Added
|
|
124
|
+
|
|
125
|
+
- Added grouped series API via `Plot::group(|g| ...)` for shared styling across line/scatter/bar series.
|
|
126
|
+
- Added grouped legend collapse with `group_label(...)` so grouped series render as a single legend entry.
|
|
127
|
+
|
|
128
|
+
### Changed
|
|
129
|
+
|
|
130
|
+
- Group auto-color behavior now reuses one palette-generated color for all group members when no fixed group color is set.
|
|
131
|
+
- Updated release documentation workflow to support versioned release notes under `docs/releases/`.
|
|
132
|
+
|
|
133
|
+
### Fixed
|
|
134
|
+
|
|
135
|
+
- Made dashed line spacing DPI-independent for consistent appearance across output resolutions.
|
|
136
|
+
|
|
137
|
+
## [0.1.3] - 2026-02-10
|
|
138
|
+
|
|
139
|
+
### Breaking Changes
|
|
140
|
+
|
|
141
|
+
- Removed `Plot::latex(...)` API. Use `Plot::typst(true)` for Typst text rendering.
|
|
142
|
+
|
|
143
|
+
### Added
|
|
144
|
+
|
|
145
|
+
- Added global Typst text mode via `Plot::typst(bool)` and builder forwarding.
|
|
146
|
+
- Added optional `typst-math` feature for Typst-backed text rendering across PNG/SVG/PDF export.
|
|
147
|
+
- Added strict Typst error behavior: invalid Typst now fails render/export with `TypstError`.
|
|
148
|
+
- Added ecosystem data ingestion support for `polars`, `ndarray`, and `nalgebra`.
|
|
149
|
+
|
|
150
|
+
### Changed
|
|
151
|
+
|
|
152
|
+
- Improved Typst text layout fidelity by aligning baseline/anchor semantics across layout, raster, and SVG paths.
|
|
153
|
+
- Fixed Typst title/label clipping and spacing drift in visual outputs (no public API changes).
|
|
154
|
+
- Removed Typst raster text oversampling and simplified native-scale raster handling.
|
|
155
|
+
- Stabilized the test suite and split CI into focused lanes for more reliable export and visual checks.
|
|
156
|
+
|
|
157
|
+
## [0.1.2] - 2026-01-30
|
|
158
|
+
|
|
159
|
+
### Platform Fixes
|
|
160
|
+
|
|
161
|
+
- Fixed macOS and Windows platform build errors (#4)
|
|
162
|
+
- Added FreeBSD support (#1)
|
|
163
|
+
- Added cross-platform CI build checks for Linux, macOS, Windows, and FreeBSD
|
|
164
|
+
- Pinned cross to v0.2.5 with `--locked` for reproducible CI builds
|
|
165
|
+
|
|
166
|
+
### Contributors
|
|
167
|
+
|
|
168
|
+
- [@yonas](https://github.com/yonas) - FreeBSD support (#1)
|
|
169
|
+
- [@Ameyanagi](https://github.com/Ameyanagi) - Cross-platform build fixes (#4)
|
|
170
|
+
|
|
171
|
+
[Unreleased]: https://github.com/Ameyanagi/ruviz/compare/v0.3.3...HEAD
|
|
172
|
+
[0.3.3]: https://github.com/Ameyanagi/ruviz/compare/v0.3.2...v0.3.3
|
|
173
|
+
[0.3.2]: https://github.com/Ameyanagi/ruviz/compare/v0.3.1...v0.3.2
|
|
174
|
+
[0.3.1]: https://github.com/Ameyanagi/ruviz/compare/v0.3.0...v0.3.1
|
|
175
|
+
[0.3.0]: https://github.com/Ameyanagi/ruviz/compare/v0.2.0...v0.3.0
|
|
176
|
+
[0.2.0]: https://github.com/Ameyanagi/ruviz/compare/v0.1.5...v0.2.0
|
|
177
|
+
[0.1.5]: https://github.com/Ameyanagi/ruviz/compare/v0.1.4...v0.1.5
|
|
178
|
+
[0.1.4]: https://github.com/Ameyanagi/ruviz/compare/v0.1.3...v0.1.4
|
|
179
|
+
[0.1.3]: https://github.com/Ameyanagi/ruviz/compare/v0.1.2...v0.1.3
|
|
180
|
+
[0.1.2]: https://github.com/Ameyanagi/ruviz/compare/v0.1.1...v0.1.2
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
## Workflow
|
|
4
|
+
|
|
5
|
+
- Open an issue or discussion first for non-trivial changes.
|
|
6
|
+
- Keep pull requests focused and small enough to review.
|
|
7
|
+
- Update docs and examples when public behavior changes.
|
|
8
|
+
- Add or update tests when fixing bugs or changing APIs.
|
|
9
|
+
|
|
10
|
+
## Setup
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
cargo fmt --all
|
|
14
|
+
cargo clippy --all-targets --all-features
|
|
15
|
+
cargo test --all-features
|
|
16
|
+
cargo test --doc
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Run the relevant examples or targeted tests when you touch rendering, export, or interactive behavior.
|
|
20
|
+
|
|
21
|
+
## Pull Requests
|
|
22
|
+
|
|
23
|
+
- Describe the user-visible change clearly.
|
|
24
|
+
- Call out any feature flags required to exercise the change.
|
|
25
|
+
- Include screenshots or generated output when a visual behavior changes.
|
|
26
|
+
|
|
27
|
+
## Documentation
|
|
28
|
+
|
|
29
|
+
- Keep [README.md](README.md) and the files under [docs](docs) consistent with the current API.
|
|
30
|
+
- Prefer examples that compile against the current public surface.
|