Crate leptos_helios

Crate leptos_helios 

Source
Expand description

Helios Core - High-performance visualization engine

This crate provides the core visualization engine for Helios, including:

  • Canvas2D Rendering: Universal browser support with TDD implementation
  • WebGPU Acceleration: High-performance GPU rendering (816+ MB/s throughput)
  • WebAssembly Integration: Rust-powered data processing and function export
  • Data Processing Pipeline: Polars integration with efficient data handling
  • Chart Specification System: Compile-time validation and type safety
  • Performance Optimization: Sub-millisecond rendering and adaptive quality
  • Test-Driven Development: Complete TDD methodology with 100% test coverage

§Demo Suite

Experience Helios in action with our comprehensive demo suite:

python3 demo-server.py
# Open http://localhost:8080 in your browser

§Available Demos

  • Canvas2D TDD Demo (/) - Test-Driven Development methodology
  • WebGPU Demo (/webgpu) - GPU acceleration testing
  • WebGPU Charts Demo (/webgpu-charts) - Visual GPU-rendered charts
  • WASM Example (/example) - Rust-WebAssembly integration

§Performance Highlights

  • Canvas2D: 100K points in <3ms render time
  • WebGPU: 816+ MB/s throughput, 1M points in 77ms
  • WASM: <1ms function execution
  • Interactive: Sub-millisecond hover detection

Re-exports§

pub use rendering as render;
pub use chart::BarWidth;
pub use chart::ChartConfig;
pub use chart::ChartSpec;
pub use chart::ChartSpecBuilder;
pub use chart::DataReference;
pub use chart::Encoding;
pub use chart::Interpolation;
pub use chart::MarkType;
pub use chart_config::ChartRenderResult;
pub use chart_config::RenderResult as ChartConfigRenderResult;
pub use chart_config::WebGpuRenderResult;
pub use data_pipeline::DataPipeline;
pub use data_pipeline::GpuBuffers;
pub use data_pipeline::PipelineError;
pub use data_pipeline::PipelineResult;
pub use helios_chart::create_helios_chart;
pub use helios_chart::HeliosChart;
pub use helios_chart::HeliosChartProps;
pub use renderer::Canvas2DRenderer;
pub use renderer::RenderStatus;
pub use renderer::Renderer as ChartRenderer;
pub use renderer::RendererBackend;
pub use renderer::WebGl2Renderer;
pub use renderer::WebGpuRenderer;
pub use accessibility::AltTextGenerator;
pub use accessibility::AccessibilityError;
pub use accessibility::AccessibilityConfig;
pub use accessibility::AlternativeFormats;
pub use accessibility::KeyboardManager;
pub use accessibility::ScreenReaderManager;
pub use accessibility::WCAGChecker;
pub use accessibility::WCAGLevel;
pub use accessibility::ComplianceReport;
pub use accessibility::PerformanceConfig as AccessibilityPerformanceConfig;
pub use accessibility::PerformanceMonitor as AccessibilityPerformanceMonitor;
pub use advanced_analytics::AnalyticsError;
pub use advanced_analytics::MLModel;
pub use advanced_analytics::MLPipeline;
pub use advanced_analytics::StatisticalAnalyzer;
pub use advanced_analytics::TimeSeriesAnalysis;
pub use advanced_analytics::CorrelationAnalysis;
pub use advanced_analytics::DataPoint;
pub use advanced_analytics::DataSeries;
pub use advanced_analytics::ModelInfo;
pub use advanced_analytics::ModelType;
pub use interactivity::Viewport as InteractivityViewport;
pub use interactivity::Tooltip;
pub use interactivity::TooltipStyle as InteractivityTooltipStyle;
pub use interactivity::TooltipData as InteractivityTooltipData;
pub use interactivity::BrushSelection;
pub use interactivity::CrossFilter;
pub use interactivity::FilterEvent;
pub use interactivity::DataPoint as InteractivityDataPoint;
pub use interactivity::InteractiveChart;
pub use performance_optimizations::VirtualScroller;
pub use performance_optimizations::DataSampler;
pub use performance_optimizations::WebGLRenderer;
pub use performance_optimizations::WebGPURenderer;
pub use performance_optimizations::Buffer as PerformanceBuffer;
pub use performance_optimizations::RenderBatch;
pub use performance_optimizations::MemoryPool;
pub use performance_optimizations::PerformanceMonitor as PerformanceOptimizationsMonitor;
pub use performance_optimizations::PerformanceMetric as PerformanceOptimizationsMetric;
pub use performance_optimizations::PerformanceReport;
pub use graph_features::GraphNode;
pub use graph_features::GraphEdge;
pub use graph_features::CentralityMeasures;
pub use graph_features::NetworkMetrics;
pub use graph_features::VisualizationMetrics;
pub use graph_features::ForceDirectedLayout;
pub use graph_features::GraphAlgorithms;
pub use graph_features::GraphClusterer;
pub use graph_features::ClusteringAlgorithm as GraphClusteringAlgorithm;
pub use graph_features::NetworkAnalyzer;
pub use graph_features::GraphManipulator;
pub use data_sources::DataSourceManager;
pub use data_sources::DataSourceFactory;
pub use data_sources::DataSourceConfigBuilder;
pub use data_sources::DataSource as DataSourceTrait;
pub use data_sources::Connection;
pub use data_sources::Transaction;
pub use data_sources::DataStream;
pub use data_sources::PostgresAdapter;
pub use data_sources::ClickHouseAdapter;
pub use data_sources::ConnectionConfig;
pub use data_sources::Credentials;
pub use data_sources::TableInfo;
pub use data_sources::ColumnInfo;
pub use data_sources::QueryResult;
pub use data_sources::DataSourceStats;
pub use dev_tools::DevToolsError;
pub use dev_tools::ProfileData;
pub use dev_tools::CodeTemplate;
pub use dev_tools::LiveReloadConfig;
pub use dev_tools::HeliosDev;
pub use dev_tools::DevToolsConfig;
pub use dev_tools::PerformanceProfiler as DevToolsPerformanceProfiler;
pub use dev_tools::ProfileScope;
pub use dev_tools::CodeGenerator;
pub use dev_tools::CodeLinter;
pub use dev_tools::LintRule;
pub use dev_tools::LintResult;
pub use smooth_animations::EasingFunctions;
pub use smooth_animations::TweenAnimation;
pub use smooth_animations::EasingType;
pub use smooth_animations::StateTransition;
pub use smooth_animations::AnimationOrchestrator;
pub use smooth_animations::AnimationRenderer;
pub use smooth_animations::AnimationBatch;
pub use smooth_animations::Color as AnimationColor;
pub use smooth_animations::Point2D as AnimationPoint2D;
pub use smooth_animations::Size as AnimationSize;
pub use smooth_animations::PerformanceMetrics as AnimationPerformanceMetrics;
pub use ml_intelligence::TimeSeriesPoint;
pub use ml_intelligence::ForecastResult;
pub use ml_intelligence::ChartRecommendation;
pub use ml_intelligence::MLForecaster;
pub use ml_intelligence::ChartRecommendationEngine;
pub use ml_intelligence::DataAnalysis as MLDataAnalysis;
pub use ml_intelligence::DataType as MLDataType;
pub use ml_intelligence::TrendType as MLTrendType;
pub use ml_intelligence::DataAnalyzer as MLDataAnalyzer;
pub use ml_intelligence::MLPerformanceMonitor;
pub use ml_intelligence::MLPerformanceStats;
pub use performance_advanced::PerformanceOptimizer;
pub use performance_advanced::PerformanceOptimizerStats;
pub use performance_advanced::PerformanceBenchmark;
pub use performance_advanced::BenchmarkSummary;
pub use performance_advanced::RuntimePoolStats;
pub use performance_advanced::MemoryPoolStats;
pub use plugin_system::ChartPlugin;
pub use plugin_system::DataSourcePlugin;
pub use plugin_system::ExportPlugin;
pub use plugin_system::MLPlugin;
pub use plugin_system::PluginError;
pub use plugin_system::PluginManager;
pub use plugin_system::PluginMetadata;
pub use plugin_system::RenderResult as PluginRenderResult;
pub use plugin_system::ThemePlugin;
pub use plugin_system::TransformPlugin;
pub use gpu_accelerator::GpuMemoryUsage;
pub use gpu_accelerator::BufferPoolStats;
pub use gpu_accelerator::PerformanceMetrics as GpuPerformanceMetrics;
pub use gpu_accelerator::GpuBuffer;
pub use gpu_accelerator::OptimizedGpuBuffer;
pub use gpu_accelerator::OptimizedGpuRenderer;
pub use gpu_accelerator::Point2D as GpuPoint2D;
pub use gpu_accelerator::GpuAccelerationEngine;
pub use intelligence::ClusterAnalyzer;
pub use intelligence::ClusteringAlgorithm as IntelligenceClusteringAlgorithm;
pub use intelligence::ClusteringResults;
pub use intelligence::ClusterStats;
pub use intelligence::ClusteringConfig as IntelligenceClusteringConfig;
pub use intelligence::AnomalyDetector;
pub use intelligence::AnomalyMethod;
pub use intelligence::DataStatistics;
pub use intelligence::AnomalyPoint;
pub use intelligence::AnomalyReason;
pub use intelligence::AnomalyResults;
pub use intelligence::TimeSeriesForecaster;
pub use intelligence::TrendAnalysis as IntelligenceTrendAnalysis;
pub use intelligence::TrendType as IntelligenceTrendType;
pub use intelligence::TrendDirection as IntelligenceTrendDirection;
pub use intelligence::SeasonalityAnalysis;
pub use intelligence::TimeSeriesDecomposition;
pub use intelligence::MLPipeline as IntelligenceMLPipeline;
pub use intelligence::ModelType as IntelligenceModelType;
pub use intelligence::MLConfig;
pub use intelligence::MLResults;
pub use intelligence::MLError;
pub use advanced_chart_types::*;
pub use debugger::*;
pub use export_system::*;
pub use styling::*;
pub use advanced_memory::*;
pub use cross_browser::*;
pub use dev_server::*;
pub use gpu::*;
pub use interactions::*;
pub use nl_processor::*;
pub use profiler::*;
pub use render::*;
pub use utils::*;
pub use wasm_optimizer::*;

Modules§

accessibility
Accessibility Module
advanced_analytics
Advanced Analytics Engine
advanced_chart_types
Advanced Chart Types for leptos-helios
advanced_charts
Advanced Chart Types
advanced_memory
Advanced Memory Management
canvas2d_renderer
Canvas2D Renderer Implementation
canvas_surface
Canvas Surface Integration
chart
Chart Module
chart_config
Chart Configuration Types Configuration structures for different chart types
cross_browser
Cross-Browser Compatibility
data_pipeline
Data Pipeline for processing and optimizing chart data
data_processing
Enhanced data processing implementation for TDD REFACTOR phase This provides robust, production-ready data processing capabilities
data_sources
Data Source Adapters
debugger
Interactive Debugger
dev_server
Development Server with Hot Reload
dev_tools
Developer Experience Tools
export_system
Export System
gpu
GPU utilities and compute shaders
gpu_accelerator
GPU Acceleration Optimization
graph_features
Graph Features Module
headless_renderer
Headless Rendering API
helios_chart
intelligence
Intelligence and Machine Learning Module
interactions
User Interaction System Handles pan, zoom, hover, click, and other user interactions with charts
interactivity
Core Interactivity Features for leptos-helios
line_chart_renderer
Line Chart Renderer
ml_intelligence
ML Intelligence Module for Helios
nl_processor
Natural Language Query Processing
performance_advanced
Performance Optimization Module
performance_optimizations
Performance Optimizations for leptos-helios
plugin_system
Plugin System Architecture
production
Production Readiness Module
profiler
Performance Profiler
renderer
Chart Renderer Implementation WebGPU/WebGL2/Canvas2D renderer implementations for chart rendering
rendering
Enhanced rendering engine for TDD REFACTOR phase This provides robust, production-ready WebGPU rendering capabilities
security
Enterprise Security & Authentication
smooth_animations
Smooth Animations and Transitions for leptos-helios
streaming
Streaming Data System Real-time data streaming and updates for dynamic visualizations
styling
Styling utilities for leptos-helios
utils
Utility functions and helpers
wasm_optimizer
WASM Bundle Size Optimization
webgpu_real
Real WebGPU Implementation
webgpu_renderer
WebGPU renderer implementation for Helios visualization library

Macros§

profile_operation
Macro for easy performance profiling

Structs§

BuildInfo
DataFrame
A contiguous growable collection of Series that have the same length.

Enums§

HeliosError
Core error types for Helios

Functions§

build_info
Get build information
init
Initialize Helios for the current platform
version
Get the current Helios version

Type Aliases§

Color
LazyFrame
Common type aliases
Point2D
Point3D
Rect
Result
Result type for Helios operations
Transform2D